fix process settings state bug

This commit is contained in:
Stewart Allen 2020-04-11 16:33:10 -04:00
commit 058900af41
6 changed files with 56 additions and 61 deletions

View file

@ -652,10 +652,8 @@ let gs_kiri_conf = exports;
layerPrint: false,
layerMoves: false
},
// for passing temporary slice hints (topo currently)
synth: {
// set in updateSettingsFromFields()
fillOffsetMult: 0,
diffOffsetMult: 0
},
controller:{
view: null,

View file

@ -29,6 +29,10 @@ let gs_kiri_fdm = exports;
return btoa("; filename = kirimoto.gcode\n; machine = dv1MW0A000\n" + gcode);
};
function bound(v,min,max) {
return Math.max(min,Math.min(max,v));
}
/**
* DRIVER SLICE CONTRACT
*
@ -56,13 +60,12 @@ let gs_kiri_fdm = exports;
nozzleSize = sdev.extruders[extruder].extNozzle,
firstOffset = nozzleSize / 2,
shellOffset = nozzleSize,
fillOffsetMult = 1.0 - bound(spro.sliceFillOverlap, 0, 0.8),
fillSpacing = nozzleSize,
fillOffset = nozzleSize * settings.synth.fillOffsetMult,
fillOffset = nozzleSize * fillOffsetMult,
sliceFillAngle = spro.sliceFillAngle,
view = widget.mesh && widget.mesh.newGroup ? widget.mesh.newGroup() : null;
// console.log({slice:widget.id, metadata, extruder, nozzleSize});
if (!(sliceHeight > 0 && sliceHeight < 100)) {
return ondone("invalid slice height");
}
@ -737,8 +740,6 @@ let gs_kiri_fdm = exports;
lines = 0,
bytes = 0;
// console.log({print: print.widgets, meta:settings.widget, extruders, nozzleSize, filamentSize});
(process.gcodePauseLayers || "").split(",").forEach(function(lv) {
let v = parseInt(lv);
if (v >= 0) pause.push(v);

View file

@ -1628,6 +1628,22 @@ var gs_kiri_init = exports;
}
});
// SPACE.mouse.onHover(function(d,me) {
// if (d) {
// console.log(d,d.object.widget.id,d.face.materialIndex)
// // d.object.material.vertexColors = true;
// // d.object.material.needsUpdate = true;
// // d.face.vertexColors = [
// // new THREE.Color(0xffaa88),
// // new THREE.Color(0xffaa88),
// // new THREE.Color(0xffaa88)
// // ];
// // d.face.materialIndex = 1;
// } else {
// return API.widgets.meshes();
// }
// });
SPACE.mouse.onDrag(function(delta) {
let dev = settings().device;
let bmaxx = dev.bedWidth/2;

View file

@ -649,7 +649,6 @@ let gs_kiri_widget = exports;
widget.settings = settings;
widget.clearSlices();
onupdate(0.0001, "slicing");
if (remote) {

View file

@ -812,14 +812,6 @@ self.kiri.copyright = exports.COPYRIGHT;
});
}
function fillOffsetMult() {
return 1.0-bound(settings.process.sliceFillOverlap, 0, 0.8);
}
function diffOffset() {
return (settings.device.nozzleSize / 2) * fillOffsetMult();
}
/** ******************************************************************
* Selection Functions
******************************************************************* */
@ -1349,9 +1341,6 @@ self.kiri.copyright = exports.COPYRIGHT;
}
}
settings.synth.fillOffsetMult = fillOffsetMult();
settings.synth.diffOffsetMult = diffOffset();
return settings;
}
@ -1872,8 +1861,8 @@ self.kiri.copyright = exports.COPYRIGHT;
clearWidgetCache();
SPACE.update();
UI.modeFDM.setAttribute('class', MODE === MODES.FDM ? 'buton' : '');
UI.modeLASER.setAttribute('class', MODE === MODES.LASER ? 'buton' : '');
UI.modeCAM.setAttribute('class', MODE === MODES.CAM ? 'buton' : '');
UI.modeLASER.setAttribute('class', MODE === MODES.LASER ? 'buton' : '');
UI.mode.style.display = lock ? 'none' : '';
UI.modeTable.style.display = lock ? 'none' : '';
if (camStock) {
@ -1884,6 +1873,7 @@ self.kiri.copyright = exports.COPYRIGHT;
if (then) then();
triggerSettingsEvent();
platformUpdateSelected();
updateFields();
}
function currentDeviceName() {

View file

@ -156,51 +156,42 @@
<span class="sel-span">
<label class="label">scale</label>
<div class="sel-pop">
<table>
<tr>
<th></th>
<td><label>size</label></td>
<td><label>scale</label></td>
<td><label>lock</label></td>
</tr>
<tr>
<td><label>x</label></td>
<td><input id="size_x" size="8" class="value"/></td>
<td><input id="scale_x" size="3" class="value" value="1"/></td>
<td><input id="lock_x" type="checkbox" checked/></td>
</tr>
<tr>
<td><label>y</label></td>
<td><input id="size_y" size="8" class="value"/></td>
<td><input id="scale_y" size="3" class="value" value="1"/></td>
<td><input id="lock_y" type="checkbox" checked/></td>
</tr>
<tr>
<td><label>z</label></td>
<td><input id="size_z" size="8" class="value"/></td>
<td><input id="scale_z" size="3" class="value" value="1"/></td>
<td><input id="lock_z" type="checkbox" checked/></td>
</tr>
</table>
<table><tr>
<th></th>
<td><label>size</label></td>
<td><label>scale</label></td>
<td><label>lock</label></td>
</tr><tr>
<td><label>x</label></td>
<td><input id="size_x" size="8" class="value"/></td>
<td><input id="scale_x" size="3" class="value" value="1"/></td>
<td><input id="lock_x" type="checkbox" checked/></td>
</tr><tr>
<td><label>y</label></td>
<td><input id="size_y" size="8" class="value"/></td>
<td><input id="scale_y" size="3" class="value" value="1"/></td>
<td><input id="lock_y" type="checkbox" checked/></td>
</tr><tr>
<td><label>z</label></td>
<td><input id="size_z" size="8" class="value"/></td>
<td><input id="scale_z" size="3" class="value" value="1"/></td>
<td><input id="lock_z" type="checkbox" checked/></td>
</tr></table>
</div>
</span>
<span class="sel-span">
<label class="label">rotate</label>
<div class="sel-pop">
<table>
<tr><td>
<label>z</label>
<input id="rot_z" class="value" size="5"/ value="0">
</td></tr>
<tr><td>
<label>y</label>
<input id="rot_y" class="value" size="5"/ value="0">
</td></tr>
<tr><td>
<label>x</label>
<input id="rot_x" class="value" size="5"/ value="0">
</td></tr>
</table>
<table><tr><td>
<label>z</label>
<input id="rot_z" class="value" size="5"/ value="0">
</td></tr><tr><td>
<label>y</label>
<input id="rot_y" class="value" size="5"/ value="0">
</td></tr><tr><td>
<label>x</label>
<input id="rot_x" class="value" size="5"/ value="0">
</td></tr></table>
</div>
</span>
<span id="ext-sel" class="sel-span">