add fdm layer start point control
This commit is contained in:
parent
3a3e9fe1bf
commit
fe53c63804
6 changed files with 19 additions and 1 deletions
1
notes.md
1
notes.md
|
|
@ -7,7 +7,6 @@
|
||||||
# - redo path planning
|
# - redo path planning
|
||||||
# - double-sided assistance
|
# - double-sided assistance
|
||||||
# `fdm`
|
# `fdm`
|
||||||
# - layer start point control
|
|
||||||
# - bind process to z ranges or boxed regions
|
# - bind process to z ranges or boxed regions
|
||||||
|
|
||||||
## `C` cosmetic, `F` functional, `P` performance, `B` bug fix
|
## `C` cosmetic, `F` functional, `P` performance, `B` bug fix
|
||||||
|
|
|
||||||
|
|
@ -283,6 +283,7 @@
|
||||||
sliceHeight: 0.25,
|
sliceHeight: 0.25,
|
||||||
sliceShells: 3,
|
sliceShells: 3,
|
||||||
sliceShellOrder: "in-out",
|
sliceShellOrder: "in-out",
|
||||||
|
sliceLayerStart: "last",
|
||||||
sliceFillAngle: 45,
|
sliceFillAngle: 45,
|
||||||
sliceFillOverlap: 0.3,
|
sliceFillOverlap: 0.3,
|
||||||
sliceFillSparse: 0.5,
|
sliceFillSparse: 0.5,
|
||||||
|
|
|
||||||
|
|
@ -1693,6 +1693,7 @@
|
||||||
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM}),
|
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM}),
|
||||||
outputFanLayer: UC.newInput(LANG.ou_fanl_s, {title:LANG.ou_fanl_l, convert:UC.toInt, bound:UC.bound(0,100), modes:FDM}),
|
outputFanLayer: UC.newInput(LANG.ou_fanl_s, {title:LANG.ou_fanl_l, convert:UC.toInt, bound:UC.bound(0,100), modes:FDM}),
|
||||||
sliceShellOrder: UC.newSelect(LANG.sl_ordr_s, {title:LANG.sl_ordr_l, modes:FDM}, "shell"),
|
sliceShellOrder: UC.newSelect(LANG.sl_ordr_s, {title:LANG.sl_ordr_l, modes:FDM}, "shell"),
|
||||||
|
sliceLayerStart: UC.newSelect(LANG.sl_strt_s, {title:LANG.sl_strt_l, modes:FDM}, "start"),
|
||||||
camConventional: UC.newBoolean(LANG.ou_conv_s, onBooleanClick, {title:LANG.ou_conv_l, modes:CAM}),
|
camConventional: UC.newBoolean(LANG.ou_conv_s, onBooleanClick, {title:LANG.ou_conv_l, modes:CAM}),
|
||||||
camEaseDown: UC.newBoolean(LANG.cr_ease_s, onBooleanClick, {title:LANG.cr_ease_l, modes:CAM}),
|
camEaseDown: UC.newBoolean(LANG.cr_ease_s, onBooleanClick, {title:LANG.cr_ease_l, modes:CAM}),
|
||||||
camDepthFirst: UC.newBoolean(LANG.ou_depf_s, onBooleanClick, {title:LANG.ou_depf_l, modes:CAM}),
|
camDepthFirst: UC.newBoolean(LANG.ou_depf_s, onBooleanClick, {title:LANG.ou_depf_l, modes:CAM}),
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,11 @@
|
||||||
{ name: "in-out" },
|
{ name: "in-out" },
|
||||||
{ name: "out-in" },
|
{ name: "out-in" },
|
||||||
],
|
],
|
||||||
|
start: [
|
||||||
|
{ name: "last" },
|
||||||
|
{ name: "center" },
|
||||||
|
{ name: "origin" },
|
||||||
|
],
|
||||||
infill: [
|
infill: [
|
||||||
{ name: "vase" },
|
{ name: "vase" },
|
||||||
{ name: "hex" },
|
{ name: "hex" },
|
||||||
|
|
|
||||||
|
|
@ -706,6 +706,16 @@
|
||||||
outputFills(next.fill, {fast: true});
|
outputFills(next.fill, {fast: true});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// control of layer start point
|
||||||
|
switch (process.sliceLayerStart) {
|
||||||
|
case "center":
|
||||||
|
startPoint = newPoint(0,0,startPoint.z);
|
||||||
|
break;
|
||||||
|
case "origin":
|
||||||
|
startPoint = origin.clone();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// top object
|
// top object
|
||||||
let bounds = POLY.flatten(next.shellsAtDepth(0).clone(true));
|
let bounds = POLY.flatten(next.shellsAtDepth(0).clone(true));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -186,6 +186,8 @@ kiri.lang['en-us'] = {
|
||||||
sl_shel_l: "number of perimeter\nwalls to generate",
|
sl_shel_l: "number of perimeter\nwalls to generate",
|
||||||
sl_ordr_s: "shell order",
|
sl_ordr_s: "shell order",
|
||||||
sl_ordr_l: "output shell order\ninside to outside\nor outside to inside\naffects surface quality",
|
sl_ordr_l: "output shell order\ninside to outside\nor outside to inside\naffects surface quality",
|
||||||
|
sl_strt_s: "layer start",
|
||||||
|
sl_strt_l: "layer starting point\nlast = last layer end\ncenter = part center\norigin = device origin",
|
||||||
ad_thin_s: "thin walls",
|
ad_thin_s: "thin walls",
|
||||||
ad_thin_l: "detect and fill gaps\nbetween shell walls",
|
ad_thin_l: "detect and fill gaps\nbetween shell walls",
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue