fix spurious gapped layers in fdm + path mode. fix wrong support menu showing in SLA mode

This commit is contained in:
Stewart Allen 2021-01-18 18:45:03 -05:00
commit 02ede29305
3 changed files with 7 additions and 4 deletions

View file

@ -232,7 +232,7 @@
}
}
} else {
cur.paths.push({ index, faces, z: poly.getZ() });
cur.paths.push({ index, faces, z: opts.z || poly.getZ() });
if (opts.color) {
cur.cpath = [ Object.assign({ start: 0, count: Infinity }, opts.color) ];
}

View file

@ -35,7 +35,7 @@
restoreSupports(api.widgets.all());
});
api.event.on("settings.saved", (settings) => {
api.ui.fdmSupport.style.display = lastMode === 'CAM' || settings.device.bedBelt ? 'none' : 'flex';
api.ui.fdmSupport.style.display = lastMode !== 'FDM' || settings.device.bedBelt ? 'none' : 'flex';
});
api.event.on("button.click", target => {
switch (target) {

View file

@ -520,14 +520,13 @@
return currentColorFunction(rate/max, 1, 0.85);
};
FDM.prepareRender = function(levels, update, options) {
FDM.prepareRender = function(levels, update, opts = {}) {
levels = levels.filter(level => level.length);
if (levels.length === 0) {
self.worker.print.maxSpeed = 0;
return [];
}
const opts = options || {};
const tools = opts.tools || {};
const flat = opts.flat;
const thin = opts.thin && !flat;
@ -675,6 +674,10 @@
output
.setLayer(opts.other || 'move', moveOpt, opts.moves !== true)
.addPolys(moves, { thin: true, z: opts.z });
// force level when present
if (level.z) {
opts.z = level.z;
}
Object.values(prints).forEach(array => {
array.forEach(poly => {
if (flat && poly.appearsClosed()) {