fix multi-widget slice / export layout in sla mode

This commit is contained in:
Stewart Allen 2020-04-19 21:32:06 -04:00
commit 858f4c7bc0
5 changed files with 57 additions and 1 deletions

View file

@ -231,6 +231,7 @@ let gs_kiri_sla = exports;
let traces = POLY.flatten(slice.gatherTraces([]));
let polys = slice.solids.unioned;
polys.forEach(poly => {
poly.move(widget.track.pos);
ctx.beginPath();
polyout(poly.setClockwise(), ctx);
if (poly.inner) {
@ -332,6 +333,7 @@ let gs_kiri_sla = exports;
}
let polys = slice.solids.unioned;
polys.forEach(poly => {
poly = poly.clone(true).move(widget.track.pos);
layer.poly(poly, 0x010101, true);
layer.solid(poly, 0x00bbee);
count++;

View file

@ -1468,7 +1468,7 @@ var gs_kiri_init = exports;
slaBasePeelDist: UC.newInput('peel distance', {title:'peel distance\nin millimeters', convert:UC.toFloat, modes:SLA}),
slaBasePeelLiftRate: UC.newInput('peel lift rate', {title:'peel lift speed\nin mm/sec', convert:UC.toFloat, modes:SLA}),
slaFill: UC.newGroup('infill', null, {modes:SLA, group:"sla-first"}),
slaFill: UC.newGroup('infill', null, {modes:SLA, group:"sla-infill"}),
slaFillDensity: UC.newInput('density', {title:'percent infill\n0.0-1.0', convert:UC.toFloat, bound:UC.bound(0,1), modes:SLA}),
slaFillLine: UC.newInput('line width', {title:'hatch line width\nin millimeters', convert:UC.toFloat, bound:UC.bound(0,5), modes:SLA}),

View file

@ -96,6 +96,7 @@ KIRI.work = {
settings: settings,
vertices: vertices,
position: widget.mesh.position,
tracking: widget.track,
snapshot: snapshot
}, function(reply) {
if (reply.done || reply.error) delete slicing[widget.id];

View file

@ -38,6 +38,7 @@ let dispatch = {
let settings = data.settings,
vertices = new Float32Array(data.vertices),
position = data.position,
tracking = data.tracking,
points = Widget.verticesToPoints(vertices);
send.data({update:0.05, updateStatus:"slicing"});
@ -50,6 +51,7 @@ let dispatch = {
cache[data.id] = widget;
// fake mesh object to satisfy printing
widget.track = tracking;
widget.mesh = {
widget: widget,
position: position

View file

@ -0,0 +1,51 @@
{
"pre":[
"M105 ; update temperature",
"M104 S{temp} T{tool}",
"M140 S{bed_temp} T{tool}",
"M109 S{temp} T{tool}",
"M190 S{bed_temp} T{tool}",
"M105 ; update temperature",
"G21 ; set metric values",
"G90 ; set absolute positioning",
"M82 ; set extruder to absolute mode",
"M107 ; turn off fan",
"G28 X0 Y0 ; move X/Y to min",
"G28 Z0 ; move Z to min",
"G1 Z15.0 F100 ; move the platform down 15mm",
"G92 E0 ; zero extruder",
"G1 F200 E3 ; extrude 3mm of feed stock",
"G92 E0 ; zero extruder",
"G1 F100 ; set default feed rate",
"G0 Y20 ; wipe move to Y20",
"G92 E0 ; zero extruder",
"M117 Printing..."
],
"post":[
"M107 ; turn off fan",
"M104 S0 T{tool} ; turn off extruder",
"M140 S0 T{tool} ; turn off bed",
"G1 Z{z_max} F1200 ; drop bed",
"G28 X0 Y0 ; home XY axes",
"M84 ; disable stepper motors"
],
"extruders":[
{
"nozzle": 0.4,
"filament": 1.75,
"offset_x": 0,
"offset_y": 0,
"select": [ "T0" ]
}
],
"cmd":{
"fan_power": "M106 S{fan_speed}"
},
"settings":{
"origin_center": false,
"extrude_abs": true,
"bed_width": 210,
"bed_depth": 210,
"build_height": 205
}
}