add sliceSupportGrow to help merge close supports

This commit is contained in:
Stewart Allen 2022-10-25 20:23:53 -04:00
commit 423049d886
4 changed files with 10 additions and 2 deletions

View file

@ -778,7 +778,11 @@ FDM.slice = function(settings, widget, onupdate, ondone) {
forSlices(0.5, promises ? 0.6 : 0.7, slice => { forSlices(0.5, promises ? 0.6 : 0.7, slice => {
let params = slice.params || process; let params = slice.params || process;
let density = params.sliceSupportDensity; let density = params.sliceSupportDensity;
let supports = slice.supports = slice.topShells(); let supports = slice.topShells();
if (params.sliceSupportGrow > 0) {
supports = POLY.expand(supports, params.sliceSupportGrow, slice.z, []);
}
slice.supports = supports;
slice.tops = undefined; // remove outline leave only supports slice.tops = undefined; // remove outline leave only supports
let polys = []; let polys = [];
if (density) { if (density) {

View file

@ -318,6 +318,7 @@ const conf = exports({
sliceSupportSize: 5, sliceSupportSize: 5,
sliceSupportArea: 0.1, sliceSupportArea: 0.1,
sliceSupportSpan: 5, sliceSupportSpan: 5,
sliceSupportGrow: 0,
sliceSupportExtra: 0, sliceSupportExtra: 0,
sliceSupportAngle: 50, sliceSupportAngle: 50,
sliceSupportNozzle: 0, sliceSupportNozzle: 0,

View file

@ -1870,7 +1870,8 @@ gapp.register("kiri.init", [], (root, exports) => {
sliceSupportGap: uc.newInput(LANG.sp_gaps_s, {title:LANG.sp_gaps_l, bound:uc.bound(0,5), convert:uc.toInt, modes:FDM}), sliceSupportGap: uc.newInput(LANG.sp_gaps_s, {title:LANG.sp_gaps_l, bound:uc.bound(0,5), convert:uc.toInt, modes:FDM}),
fdmSep: uc.newBlank({class:"pop-sep", modes:FDM}), fdmSep: uc.newBlank({class:"pop-sep", modes:FDM}),
sliceSupportArea: uc.newInput(LANG.sp_area_s, {title:LANG.sp_area_l, bound:uc.bound(0.0,200.0), convert:uc.toFloat, modes:FDM}), sliceSupportArea: uc.newInput(LANG.sp_area_s, {title:LANG.sp_area_l, bound:uc.bound(0.0,200.0), convert:uc.toFloat, modes:FDM}),
sliceSupportExtra: uc.newInput(LANG.sp_xpnd_s, {title:LANG.sp_xpnd_l, bound:uc.bound(0.0,200.0), convert:uc.toFloat, modes:FDM}), sliceSupportExtra: uc.newInput(LANG.sp_xpnd_s, {title:LANG.sp_xpnd_l, bound:uc.bound(0.0,10.0), convert:uc.toFloat, modes:FDM}),
sliceSupportGrow: uc.newInput(LANG.sp_grow_s, {title:LANG.sp_grow_l, bound:uc.bound(0.0,10.0), convert:uc.toFloat, modes:FDM}),
fdmSep: uc.newBlank({class:"pop-sep", modes:FDM}), fdmSep: uc.newBlank({class:"pop-sep", modes:FDM}),
sliceSupportAngle: uc.newInput(LANG.sp_angl_s, {title:LANG.sp_angl_l, bound:uc.bound(0.0,90.0), convert:uc.toFloat, modes:FDM}), sliceSupportAngle: uc.newInput(LANG.sp_angl_s, {title:LANG.sp_angl_l, bound:uc.bound(0.0,90.0), convert:uc.toFloat, modes:FDM}),
sliceSupportSpan: uc.newInput(LANG.sp_span_s, {title:LANG.sp_span_l, bound:uc.bound(0.0,200.0), convert:uc.toFloat, modes:FDM, show:() => ui.sliceSupportEnable.checked}), sliceSupportSpan: uc.newInput(LANG.sp_span_s, {title:LANG.sp_span_l, bound:uc.bound(0.0,200.0), convert:uc.toFloat, modes:FDM, show:() => ui.sliceSupportEnable.checked}),

View file

@ -417,6 +417,8 @@ self.kiri.lang['en-us'] = {
sp_area_l: ["minimum area for","a support column","in millimeters","smaller values will","slow detection"], sp_area_l: ["minimum area for","a support column","in millimeters","smaller values will","slow detection"],
sp_xpnd_s: "expand", sp_xpnd_s: "expand",
sp_xpnd_l: ["expand support area","beyond part boundary","in millimeters"], sp_xpnd_l: ["expand support area","beyond part boundary","in millimeters"],
sp_grow_s: "grow",
sp_grow_l: ["grow support column to fill small gaps","in millimeters"],
sp_nozl_s: "extruder", sp_nozl_s: "extruder",
sp_nozl_l: ["in multi-extruder systems","the extruder to use for","support material"], sp_nozl_l: ["in multi-extruder systems","the extruder to use for","support material"],
sp_outl_s: "outline", sp_outl_s: "outline",