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