add support gap layers
This commit is contained in:
parent
0c79e93580
commit
6262adb49f
5 changed files with 14 additions and 12 deletions
|
|
@ -139,7 +139,7 @@ var gs_kiri_fdm = exports;
|
|||
// calculations only relevant when supports are enabled
|
||||
if (supportEnabled) {
|
||||
forSlices(0.5, 0.7, function(slice) {
|
||||
slice.doSupport(spro.sliceSupportOffset, spro.sliceSupportSpan, spro.sliceSupportExtra, supportMinArea, spro.sliceSupportSize, spro.sliceSupportOffset);
|
||||
slice.doSupport(spro.sliceSupportOffset, spro.sliceSupportSpan, spro.sliceSupportExtra, supportMinArea, spro.sliceSupportSize, spro.sliceSupportOffset, spro.sliceSupportGap);
|
||||
}, "support");
|
||||
forSlices(0.7, 0.8, function(slice) {
|
||||
slice.doSupportFill(spri.nozzleSize, spro.sliceSupportDensity, supportMinArea);
|
||||
|
|
|
|||
|
|
@ -877,8 +877,9 @@ var gs_kiri_slice = exports;
|
|||
* @param {number} maxBridge max length before mid supports added
|
||||
* @param {number} expand outer support clip
|
||||
* @param {number} offset inner support clip
|
||||
* @param {number} gap layers between supports and part
|
||||
*/
|
||||
PRO.doSupport = function(minOffset, maxBridge, expand, minArea, pillarSize, offset) {
|
||||
PRO.doSupport = function(minOffset, maxBridge, expand, minArea, pillarSize, offset, gap) {
|
||||
var min = minArea || 0.1,
|
||||
size = (pillarSize || 2),
|
||||
mergeDist = size * 3, // pillar merge dist
|
||||
|
|
@ -991,7 +992,7 @@ var gs_kiri_slice = exports;
|
|||
if (culled.length === 0) break;
|
||||
|
||||
// new bridge polys for next pass (skip first layer below)
|
||||
if (depth > 0) down.supports.appendAll(culled);
|
||||
if (depth >= gap) down.supports.appendAll(culled);
|
||||
|
||||
supports = culled;
|
||||
down = down.down;
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ self.kiri.license = exports.LICENSE;
|
|||
sliceSupportEnable: 1,
|
||||
sliceSupportDensity: 1,
|
||||
sliceSupportOffset: 1,
|
||||
sliceSupportGap: 1,
|
||||
sliceSupportSize: 1,
|
||||
sliceSupportArea: 1,
|
||||
sliceSupportExtra: 1,
|
||||
|
|
@ -265,6 +266,7 @@ self.kiri.license = exports.LICENSE;
|
|||
sliceSupportEnable: false,
|
||||
sliceSupportDensity: 0.25,
|
||||
sliceSupportOffset: 1.0,
|
||||
sliceSupportGap: 1,
|
||||
sliceSupportSize: 10,
|
||||
sliceSupportArea: 1,
|
||||
sliceSupportExtra: 0,
|
||||
|
|
@ -2458,6 +2460,7 @@ self.kiri.license = exports.LICENSE;
|
|||
sliceSupportDensity: UC.newInput("density", {title:"0.0 - 1.0\nrecommended 0.15\n0 to disable", convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:FDM}),
|
||||
sliceSupportSize: UC.newInput("pillar size", {title:"width in millimeters", bound:UC.bound(1.0,200.0), convert:UC.toFloat, modes:FDM}),
|
||||
sliceSupportOffset: UC.newInput("part offset", {title:"millimeters\noffset from part", bound:UC.bound(0.0,200.0), convert:UC.toFloat, modes:FDM}),
|
||||
sliceSupportGap: UC.newInput("gap layers", {title:"number of layers\noffset from part", bound:UC.bound(0,5), convert:UC.toInt, modes:FDM}),
|
||||
sliceSupportSpan: UC.newInput("max bridge", {title:"span length that\ntriggers support\nin millimeters", bound:UC.bound(0.0,200.0), convert:UC.toFloat, modes:FDM}),
|
||||
sliceSupportArea: UC.newInput("min area", {title:"min area for a\nsupport column\nin millimeters", bound:UC.bound(0.1,200.0), convert:UC.toFloat, modes:FDM}),
|
||||
sliceSupportExtra: UC.newInput("expand", {title:"expand support area\nbeyond part boundary\nin millimeters", bound:UC.bound(0.0,200.0), convert:UC.toFloat, modes:FDM}),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
var exports = {
|
||||
COPYRIGHT:"Copyright (C) 2014-2017 Stewart Allen <stewart@neuron.com> - All Rights Reserved",
|
||||
LICENSE:"Unauthorized copying, modification and re-distribution are strictly prohibited without prior written consent.",
|
||||
VERSION:"1.0.90"
|
||||
VERSION:"1.0.91"
|
||||
};
|
||||
if (!module) var module = {};
|
||||
module.exports = exports;
|
||||
|
|
|
|||
14
notes.md
14
notes.md
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
* popup warning when detect 3rd party storage blocked (chrome)
|
||||
* watch for changed part version to prompt re-import
|
||||
* re-used disk cached version of parts if not changed
|
||||
* remap mouse/kbd to match onshape when running inside?
|
||||
* re-used cached version of parts if unchanged
|
||||
* remap mouse/kbd to match onshape when iframed
|
||||
|
||||
# CAM todo
|
||||
|
||||
|
|
@ -61,26 +61,24 @@
|
|||
|
||||
* preview doesn't show proper z offsets
|
||||
* trim support offset from layer below
|
||||
* add support gap layers (defaults to 1)
|
||||
* use fill spacing for top raft fill spacing
|
||||
* fix thin fill (outside). compute before sparse as separate logic.
|
||||
* add pause at specified layers
|
||||
* fix slow seek to first point (raft) and wrong first point in general (all modes)
|
||||
* fix wrong first point in general (all modes)
|
||||
* add lay-flat auto-rotation or from selected face
|
||||
* add pause at specified layers
|
||||
* add manual supports
|
||||
* determine start point from gcode preamble
|
||||
* check for support / brim intersections on first layer
|
||||
* solid fill every other line, two passes. minimize heat/sag. better fill between
|
||||
* fan / layer control * update forum
|
||||
* dual extruder support
|
||||
* add min layer time (slowdown or cool-off wait)
|
||||
* option to support interior bridges when 0% infill
|
||||
* fix multiple part layout export offset (resend position @ print time)
|
||||
* implement gyroid infill * https://en.wikipedia.org/wiki/Gyroid
|
||||
* add gyroid infill * https://en.wikipedia.org/wiki/Gyroid
|
||||
|
||||
# Laser todo
|
||||
|
||||
* interior poly offsets are in the wrong direction
|
||||
* interior poly offsets are in the wrong direction?
|
||||
* overcuts, radii for drag knives
|
||||
* sla :: svg modified from http://garyhodgson.github.io/slic3rsvgviewer/?file=examples/belt_pulley3.svg
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue