add filament re-engage visualization
This commit is contained in:
parent
f28885e26e
commit
4fa91e3146
2 changed files with 16 additions and 5 deletions
7
notes.md
7
notes.md
|
|
@ -23,24 +23,21 @@
|
||||||
|
|
||||||
* `F` 2D image import
|
* `F` 2D image import
|
||||||
* `F` detect and report slow framerates
|
* `F` detect and report slow framerates
|
||||||
* `F` implement an in-app bug reporting system. add workspace to export option.
|
* `F` implement an in-app bug reporting system
|
||||||
* `P` improve decimation speed by avoiding in/out of Point?
|
* `P` improve decimation speed by avoiding in/out of Point?
|
||||||
* `P` duplicate objects should share same slice data unless rotated or scaled
|
* `P` duplicate objects should share same slice data unless rotated or scaled
|
||||||
* `P` worker state cache cleanup and organization
|
* `P` worker state cache cleanup and organization
|
||||||
* `P` client/worker interface normalization and cleanup
|
* `P` client/worker interface normalization and cleanup
|
||||||
* `C` improve path line caps
|
|
||||||
|
|
||||||
# FDM
|
# FDM
|
||||||
|
|
||||||
* `B` dwell / extrude engage reversed?
|
|
||||||
* `B` fix adaptive slicing with multi-extruder
|
* `B` fix adaptive slicing with multi-extruder
|
||||||
* `B` fix supports with grouped parts
|
* `B` fix supports with grouped parts
|
||||||
* `B` sparse infill should follow polys it intersects
|
* `B` sparse infill should follow polys between intersect points
|
||||||
* `B` multi-extruder rendering of raft fails to offset the rest of the print
|
* `B` multi-extruder rendering of raft fails to offset the rest of the print
|
||||||
* `B` multi-extruder purge blocks fail to generate properly for rafts
|
* `B` multi-extruder purge blocks fail to generate properly for rafts
|
||||||
* `F` control for size of purge block (with 0=disabled)
|
* `F` control for size of purge block (with 0=disabled)
|
||||||
* `F` add separate fill speed control
|
* `F` add separate fill speed control
|
||||||
* `F` control shell order (in/out or out/in)
|
|
||||||
* `F` manual support addition / control
|
* `F` manual support addition / control
|
||||||
* `F` control layer start position
|
* `F` control layer start position
|
||||||
* `F` polishing and other non-planar work
|
* `F` polishing and other non-planar work
|
||||||
|
|
|
||||||
|
|
@ -444,6 +444,7 @@
|
||||||
let lastEnd = null;
|
let lastEnd = null;
|
||||||
let lastOut = null;
|
let lastOut = null;
|
||||||
let current = null;
|
let current = null;
|
||||||
|
let retracted = false;
|
||||||
|
|
||||||
function color(point) {
|
function color(point) {
|
||||||
return FDM.rateToColor(point.speed, maxspd);
|
return FDM.rateToColor(point.speed, maxspd);
|
||||||
|
|
@ -454,6 +455,7 @@
|
||||||
const moves = [];
|
const moves = [];
|
||||||
const heads = [];
|
const heads = [];
|
||||||
const retracts = [];
|
const retracts = [];
|
||||||
|
const engages = [];
|
||||||
const output = new KIRI.Render();
|
const output = new KIRI.Render();
|
||||||
layers.push(output);
|
layers.push(output);
|
||||||
|
|
||||||
|
|
@ -471,8 +473,13 @@
|
||||||
let emits = 0;
|
let emits = 0;
|
||||||
|
|
||||||
level.forEach((out,oi) => {
|
level.forEach((out,oi) => {
|
||||||
|
if (retracted && out.emit) {
|
||||||
|
retracted = false;
|
||||||
|
engages.push(lastOut.point);
|
||||||
|
}
|
||||||
if (out.retract) {
|
if (out.retract) {
|
||||||
retracts.push(out.point);
|
retracts.push(out.point);
|
||||||
|
retracted = true;
|
||||||
}
|
}
|
||||||
if (!out.point) {
|
if (!out.point) {
|
||||||
// in cam mode, these are drilling or dwell ops
|
// in cam mode, these are drilling or dwell ops
|
||||||
|
|
@ -526,6 +533,13 @@
|
||||||
return newPolygon().centerCircle(point, 0.2, 16).setZ(point.z + 0.01);
|
return newPolygon().centerCircle(point, 0.2, 16).setZ(point.z + 0.01);
|
||||||
}), { outline: true });
|
}), { outline: true });
|
||||||
}
|
}
|
||||||
|
if (engages.length) {
|
||||||
|
output
|
||||||
|
.setLayer('engage', { line: 0x005500, face: 0x00ff00, opacity: 0.5 }, true)
|
||||||
|
.addAreas(engages.map(point => {
|
||||||
|
return newPolygon().centerCircle(point, 0.2, 16).setZ(point.z + 0.01);
|
||||||
|
}), { outline: true });
|
||||||
|
}
|
||||||
if (heads.length) {
|
if (heads.length) {
|
||||||
output
|
output
|
||||||
.setLayer('arrows', { face: moveColor, line: 0x555555, opacity: 0.5 }, true)
|
.setLayer('arrows', { face: moveColor, line: 0x555555, opacity: 0.5 }, true)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue