add fdm layer start point control

This commit is contained in:
Stewart Allen 2020-12-27 19:55:30 -05:00
commit fe53c63804
6 changed files with 19 additions and 1 deletions

View file

@ -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

View file

@ -283,6 +283,7 @@
sliceHeight: 0.25,
sliceShells: 3,
sliceShellOrder: "in-out",
sliceLayerStart: "last",
sliceFillAngle: 45,
sliceFillOverlap: 0.3,
sliceFillSparse: 0.5,

View file

@ -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}),

View file

@ -138,6 +138,11 @@
{ name: "in-out" },
{ name: "out-in" },
],
start: [
{ name: "last" },
{ name: "center" },
{ name: "origin" },
],
infill: [
{ name: "vase" },
{ name: "hex" },

View file

@ -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));

View file

@ -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",