improve infill speed / routing for most scenarios. improve (hidden) intra-layer fdm slider
This commit is contained in:
parent
b8f938b10c
commit
bde9080f43
5 changed files with 27 additions and 37 deletions
|
|
@ -132,29 +132,18 @@ FDM.init = function(kiri, api) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
api.event.on("function.animate", (mode) => {
|
api.event.on("function.animate", (mode) => {
|
||||||
if (!isFdmMode) {
|
if (!(isFdmMode && lastView === VIEWS.PREVIEW)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!api.conf.get().controller.danger) {
|
let slider = $('top-slider');
|
||||||
return;
|
slider.style.display = 'flex';
|
||||||
}
|
slider.oninput = slider.onchange = (ev) => {
|
||||||
let pct = 0;
|
api.const.STACKS.setFraction(parseInt(ev.target.value)/1000);
|
||||||
let int = setInterval(() => {
|
api.space.update();
|
||||||
if (pct <= 1) {
|
};
|
||||||
api.const.STACKS.setFraction(pct);
|
$('anim-slider').value = 500;
|
||||||
pct += 0.05;
|
api.const.STACKS.setFraction(0.5);
|
||||||
} else {
|
|
||||||
api.const.STACKS.setFraction(1);
|
|
||||||
clearTimeout(int);
|
|
||||||
}
|
|
||||||
}, 50);
|
|
||||||
// let slider = $('top-slider');
|
|
||||||
// slider.style.display = 'flex';
|
|
||||||
// slider.oninput = slider.onchange = (ev) => {
|
|
||||||
// api.const.STACKS.setFraction(parseInt(ev.target.value)/100);
|
|
||||||
// };
|
|
||||||
});
|
});
|
||||||
api.event.on("mode.set", mode => {
|
api.event.on("mode.set", mode => {
|
||||||
isFdmMode = mode === 'FDM';
|
isFdmMode = mode === 'FDM';
|
||||||
|
|
@ -166,6 +155,7 @@ FDM.init = function(kiri, api) {
|
||||||
updateVisiblity();
|
updateVisiblity();
|
||||||
});
|
});
|
||||||
api.event.on("view.set", view => {
|
api.event.on("view.set", view => {
|
||||||
|
$('top-slider').style.display = 'none';
|
||||||
lastView = view;
|
lastView = view;
|
||||||
updateVisiblity();
|
updateVisiblity();
|
||||||
filterSynth();
|
filterSynth();
|
||||||
|
|
|
||||||
|
|
@ -1171,7 +1171,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
|
||||||
lastIndex = -1,
|
lastIndex = -1,
|
||||||
raft = opt.raft || false,
|
raft = opt.raft || false,
|
||||||
flow = opt.flow || 1,
|
flow = opt.flow || 1,
|
||||||
near = opt.near || false,
|
near = opt.near || (antiBacklash ? false : true),
|
||||||
fast = opt.fast || false,
|
fast = opt.fast || false,
|
||||||
fill = (opt.fill >= 0 ? opt.fill : fillMult) * flow,
|
fill = (opt.fill >= 0 ? opt.fill : fillMult) * flow,
|
||||||
thinDist = near ? thinWall : thinWall;
|
thinDist = near ? thinWall : thinWall;
|
||||||
|
|
@ -1182,7 +1182,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
|
||||||
found = false;
|
found = false;
|
||||||
mindist = Infinity;
|
mindist = Infinity;
|
||||||
|
|
||||||
// use next nearest line strategy
|
// use next nearest line endpoint strategy
|
||||||
if (near)
|
if (near)
|
||||||
for (let i=0; i<lines.length; i += 2) {
|
for (let i=0; i<lines.length; i += 2) {
|
||||||
t1 = lines[i];
|
t1 = lines[i];
|
||||||
|
|
@ -1192,7 +1192,9 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
|
||||||
t2 = lines[i+1];
|
t2 = lines[i+1];
|
||||||
let d1 = t1.distToSq2D(startPoint);
|
let d1 = t1.distToSq2D(startPoint);
|
||||||
let d2 = t2.distToSq2D(startPoint);
|
let d2 = t2.distToSq2D(startPoint);
|
||||||
if (d1 < mindist || d2 < mindist) {
|
let idiff = startPoint.index ? Math.abs(startPoint.index - t1.index) : 1;
|
||||||
|
let min = Math.min(d1, d2) * (idiff !== 1 ? 10 : 1);
|
||||||
|
if (min < mindist) {
|
||||||
if (d2 < d1) {
|
if (d2 < d1) {
|
||||||
p2 = t1;
|
p2 = t1;
|
||||||
p1 = t2;
|
p1 = t2;
|
||||||
|
|
@ -1200,13 +1202,11 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
|
||||||
p1 = t1;
|
p1 = t1;
|
||||||
p2 = t2;
|
p2 = t2;
|
||||||
}
|
}
|
||||||
mindist = Math.min(d1, d2);
|
mindist = min;
|
||||||
lastIndex = i;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// use next index line strategy
|
// use next line index strategy (perpendicular offset from origin)
|
||||||
// order all points by distance to last point
|
|
||||||
if (!near)
|
if (!near)
|
||||||
for (let i=start; i<lines.length; i += 2) {
|
for (let i=start; i<lines.length; i += 2) {
|
||||||
p = lines[i];
|
p = lines[i];
|
||||||
|
|
@ -1267,7 +1267,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
|
||||||
// re-seek a new start index within fill array
|
// re-seek a new start index within fill array
|
||||||
let restart = lastIndex < 0;
|
let restart = lastIndex < 0;
|
||||||
|
|
||||||
// mark as used (temporarily)
|
// mark as used
|
||||||
p1.del = true;
|
p1.del = true;
|
||||||
p2.del = true;
|
p2.del = true;
|
||||||
marked += 2;
|
marked += 2;
|
||||||
|
|
@ -1301,7 +1301,6 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
|
||||||
} else {
|
} else {
|
||||||
print.addOutput(preout, p1, 0, moveSpeed, extruder);
|
print.addOutput(preout, p1, 0, moveSpeed, extruder);
|
||||||
}
|
}
|
||||||
|
|
||||||
print.addOutput(preout, p2, fill, fillSpeed, extruder);
|
print.addOutput(preout, p2, fill, fillSpeed, extruder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -382,7 +382,7 @@ const conf = exports({
|
||||||
sliceAdaptive: false,
|
sliceAdaptive: false,
|
||||||
zHopDistance: 0.2,
|
zHopDistance: 0.2,
|
||||||
arcTolerance: 0,
|
arcTolerance: 0,
|
||||||
antiBacklash: 1,
|
antiBacklash: 0,
|
||||||
ranges: []
|
ranges: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2029,9 +2029,11 @@ th, tr, td, label {
|
||||||
#top-slider {
|
#top-slider {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: none;
|
display: none;
|
||||||
top: 60px;
|
top: 10px;
|
||||||
left: 50px;
|
left: 35px;
|
||||||
right: 50px;
|
right: 50px;
|
||||||
|
z-index: 1000;
|
||||||
|
pointer-events: all;
|
||||||
}
|
}
|
||||||
#anim-slider {
|
#anim-slider {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
||||||
|
|
@ -366,6 +366,10 @@
|
||||||
<div id="slider-max">∞</div>
|
<div id="slider-max">∞</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- slice/preview layer slider -->
|
||||||
|
<div id="top-slider" class="f-col grow">
|
||||||
|
<input id="anim-slider" type="range" min="0" max="1000" value="0"></input>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- allows right tray to slide/hide but still show speeds menu -->
|
<!-- allows right tray to slide/hide but still show speeds menu -->
|
||||||
|
|
@ -594,11 +598,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- slice/preview layer slider -->
|
|
||||||
<div id="top-slider" class="f-col grow">
|
|
||||||
<input id="anim-slider" type="range" min="0" max="1000" value="0"></input>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue