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
|
||||
# - double-sided assistance
|
||||
# `fdm`
|
||||
# - layer start point control
|
||||
# - bind process to z ranges or boxed regions
|
||||
|
||||
## `C` cosmetic, `F` functional, `P` performance, `B` bug fix
|
||||
|
|
|
|||
|
|
@ -283,6 +283,7 @@
|
|||
sliceHeight: 0.25,
|
||||
sliceShells: 3,
|
||||
sliceShellOrder: "in-out",
|
||||
sliceLayerStart: "last",
|
||||
sliceFillAngle: 45,
|
||||
sliceFillOverlap: 0.3,
|
||||
sliceFillSparse: 0.5,
|
||||
|
|
|
|||
|
|
@ -1693,6 +1693,7 @@
|
|||
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}),
|
||||
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}),
|
||||
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}),
|
||||
|
|
|
|||
|
|
@ -138,6 +138,11 @@
|
|||
{ name: "in-out" },
|
||||
{ name: "out-in" },
|
||||
],
|
||||
start: [
|
||||
{ name: "last" },
|
||||
{ name: "center" },
|
||||
{ name: "origin" },
|
||||
],
|
||||
infill: [
|
||||
{ name: "vase" },
|
||||
{ name: "hex" },
|
||||
|
|
|
|||
|
|
@ -706,6 +706,16 @@
|
|||
outputFills(next.fill, {fast: true});
|
||||
}
|
||||
} 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
|
||||
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_ordr_s: "shell order",
|
||||
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_l: "detect and fill gaps\nbetween shell walls",
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue