diff --git a/src/Intro.tsx b/src/Intro.tsx index 1a068bd..34edb57 100644 --- a/src/Intro.tsx +++ b/src/Intro.tsx @@ -9,7 +9,6 @@ export const Intro: FunctionComponent = () => { return (
-

Hello!

This tool can generate sweet calibration towers for @@ -32,9 +31,7 @@ export const Intro: FunctionComponent = () => {

Slicer Setup

- We need to be able to figure out when a new layer starts and when the - print is over. You'll need to make a couple of changes to your slicer to - get going. + You'll need to make a couple of changes to your slicer to get going.

Layer Change

@@ -47,9 +44,8 @@ export const Intro: FunctionComponent = () => {

;LAYER:[layer_num]

- Using something else? Something like the line above - needs to appear after every layer change with the new layer number, - starting from zero. + Using something else? The line above needs to appear + after every layer change with the new layer number, starting from zero.

Print End

@@ -68,9 +64,48 @@ export const Intro: FunctionComponent = () => {

;PRINT_END

- Using something else? Something like the line above - needs to appear just as the print is about to end, before any actions - like homing or turning off fans. + Using something else? The line above needs to appear + just as the print is about to end, before any actions like homing or + turning off fans. +

+

Retraction

+

+ Using Cura? +

+

+

+ Using PrusaSlicer or Slic3r? +

+

+

+ Using something else? You must enable{" "} + relative extrusion and disable any{" "} + coasting or wiping moves.

); diff --git a/src/gcode/__tests__/processor.ts b/src/gcode/__tests__/processor.ts index 45a4ce5..26980c3 100644 --- a/src/gcode/__tests__/processor.ts +++ b/src/gcode/__tests__/processor.ts @@ -111,7 +111,6 @@ describe("GCodeProcessor", () => { ); const lines = processor.process(mockFile); - console.log(lines); expect(lines).toEqual([ ";LAYER:0", ";LAYER:1", diff --git a/src/gcode/transformers/__tests__/retract.ts b/src/gcode/transformers/__tests__/retract.ts index 2d64b45..9eddf16 100644 --- a/src/gcode/transformers/__tests__/retract.ts +++ b/src/gcode/transformers/__tests__/retract.ts @@ -28,7 +28,7 @@ describe("retract distance", () => { expect(transformer.onLayer(location)).toBeInstanceOf(TransformerActionNoOp); }); - it("replaces retraction", () => { + it("replaces retraction in either order", () => { const transformer = new RetractTransformer({ distanceRange: { start: 1, step: 0.25, stop: 5 }, }); @@ -37,7 +37,7 @@ describe("retract distance", () => { transformer.onLine("M82", location); const actionBack = transformer.onLine("G1 E-69.69 F420", location); - const actionForward = transformer.onLine("G1 E69.69 F420", location); + const actionForward = transformer.onLine("G1 F420 E69.69", location); expect(actionBack).toBeInstanceOf(TransformerActionReplace); expect((actionBack as TransformerActionReplace).lines).toMatchObject([ diff --git a/src/gcode/transformers/retract.ts b/src/gcode/transformers/retract.ts index f933689..7ea90ee 100644 --- a/src/gcode/transformers/retract.ts +++ b/src/gcode/transformers/retract.ts @@ -34,7 +34,7 @@ export class RetractTransformer extends GCodeTransformer { this.speedRange = opts.speedRange; this.retractRegex = opts.retractRegex ? opts.retractRegex - : /G(0|1) E(?(-|\d|\.)+) F(?(\d|.)+)/; + : /G(0|1)((?=.*\bE(?(-|\d|\.)+)\b)(?=.*\bF(?(\d|\.)+)\b))(?!.*(X|Y|Z))/; this.retractMode = RetractMode.Absolute;