From 0d03bc3aa9d8e35c01c10b4eb880f3ba2fced516 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 17 Jan 2021 11:26:55 -0500 Subject: [PATCH] add retracts on brim. update CR30 device definition --- notes.md | 2 ++ src/dev/fdm/Creality.CR-30 | 20 ++++++++++---------- src/mode/fdm/prepare.js | 9 +++------ 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/notes.md b/notes.md index 12113044..ed7643f3 100644 --- a/notes.md +++ b/notes.md @@ -2,6 +2,7 @@ ## `C` cosmetic, `F` functional, `P` performance, `B` bug fix +* `B` saved profile should be restored / defaulted when switching devices? * `B` normals possibly inverted on faces in 2D to 3D conversion * `B` normalize left, bottom, right pop menu time/click and value persistence * `B` origin bug (Onshape?) when switching modes in 2.5 and 2.6 @@ -16,6 +17,7 @@ # FDM +* `B` large # linear points with linear infill (belt only?) * `B` fix adaptive slicing with multi-extruder * `B` fix supports with grouped parts * `B` multi-extruder rendering of raft fails to offset the rest of the print diff --git a/src/dev/fdm/Creality.CR-30 b/src/dev/fdm/Creality.CR-30 index af135348..8ee4a4ec 100644 --- a/src/dev/fdm/Creality.CR-30 +++ b/src/dev/fdm/Creality.CR-30 @@ -11,12 +11,12 @@ "G21 ; use metric values", "G28 ; home axes", "G92 E0 ; reset filament position", - "G1 Y0.2 ; move to bed", - "G1 X200 E50 F500 ; purge nozzle", - "G1 Z0.3 ; move bed 0.3mm", - "G1 X0 E50 ; purge nozzle", - "G1 Z2 ; move bed 2mm", - "G92 Z0 ; reset bed position", + "G1 Y0.15 ; move head to belt", + "G1 X200 E50 F800 ; extruder purge line", + "G1 Z0.3 ; shift belt away 0.3mm", + "G1 X0 E100 ; extruder purge line", + "G1 Z2 E98 ; shift belt away 2mm, retract extruder", + "G92 Z0 E-2 ; reset bed + extruder position", "M117 CR-30 Printing..." ], "post":[ @@ -26,7 +26,7 @@ "M140 S0 ; shut down bed", "G92 E1 ; set filament position", "G1 E-1 F300 ; retract filament", - "G28 ; home axes", + "G28 X ; home X axis", "G1 Y50 F1000 ; lift y axis", "M84 ; disable stepper motors" ], @@ -80,13 +80,13 @@ "sliceSolidLayers": 3, "sliceBottomLayers": 3, "sliceTopLayers": 3, - "firstLayerRate": 20, + "firstLayerRate": 15, "firstLayerPrintMult": 1.1, "firstLayerYOffset": 0, "firstLayerBrim": 0, "outputTemp": 210, "outputFanMax": 255, - "outputBedTemp": 60, + "outputBedTemp": 70, "outputFeedrate": 50, "outputFinishrate": 50, "outputSeekrate": 80, @@ -105,7 +105,7 @@ "detectThinWalls": true, "sliceMinHeight": 0, "sliceAdaptive": false, - "zHopDistance": 0.2, + "zHopDistance": 0, "antiBacklash": 0 }] } diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index a97fcdfc..6bf62b47 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -388,9 +388,6 @@ } let tmpout = []; let wtb = slice.widget.track.box; - // Belt TODO: pre-flight the slice-top-outer-shells here - // and determine a) brim and b) if no shell touches bed - // and if so, revert to starting near the center or user select // output seek to start point between mesh slices if previous data printPoint = print.slicePrintPath( slice, @@ -483,11 +480,11 @@ let z = minz; let b = Math.max(firstLayerBrim, 1); let tmpout = []; + layer.last().retract = true; print.addOutput(tmpout, newPoint(maxx + b, y, z), 0, firstLayerSeek, tool); - print.addOutput(tmpout, newPoint(maxx + 0, y, z), emit, firstLayerRate, tool); + print.addOutput(tmpout, newPoint(maxx + 0, y, z), emit, firstLayerRate, tool).retract = true; print.addOutput(tmpout, newPoint(minx - b, y, z), 0, firstLayerSeek, tool); - print.addOutput(tmpout, newPoint(minx - 0, y, z), emit, firstLayerRate, tool); - // print.addOutput(layerout, newPoint(minx - 0, y, z + 5), 0, firstLayerRate, tool); + print.addOutput(tmpout, newPoint(minx - 0, y, z), emit, firstLayerRate, tool).retract = false; layer.splice(0,0,...tmpout); } }