diff --git a/core/nodeslicer/nodes/base.py b/core/nodeslicer/nodes/base.py index 0984456..c4d15a4 100644 --- a/core/nodeslicer/nodes/base.py +++ b/core/nodeslicer/nodes/base.py @@ -16,14 +16,16 @@ class SliceIntrinsics: bed_x: float bed_y: float feedrate: float + travel_feedrate: float extrusion_rate: float retraction: float lift: float - def __init__(self, bed_x: float = 250.0, bed_y: float = 250.0, feedrate: float = 1200.0, extrusion_rate: float = 0.017, retraction: float = 0.0, lift: float = 0.0): + def __init__(self, bed_x: float = 250.0, bed_y: float = 250.0, feedrate: float = 1200.0, travel_feedrate: float = 2400.0, extrusion_rate: float = 0.017, retraction: float = 0.0, lift: float = 0.0): self.bed_x = bed_x self.bed_y = bed_y self.feedrate = feedrate + self.travel_feedrate = travel_feedrate self.extrusion_rate = extrusion_rate self.retraction = retraction self.lift = lift diff --git a/core/nodeslicer/nodes/gcode.py b/core/nodeslicer/nodes/gcode.py index 6c2b780..016f926 100644 --- a/core/nodeslicer/nodes/gcode.py +++ b/core/nodeslicer/nodes/gcode.py @@ -34,6 +34,7 @@ class SLICENODE_PathsToGcode(SliceNode): pather.bed_center_x = intrinsics.bed_x / 2.0 pather.bed_center_y = intrinsics.bed_y / 2.0 pather.feedrate = intrinsics.feedrate + pather.travel_feedrate = intrinsics.travel_feedrate pather.extrusion_rate = intrinsics.extrusion_rate pather.retraction = intrinsics.retraction pather.lift = intrinsics.lift diff --git a/core/nodeslicer/nodes/inputs.py b/core/nodeslicer/nodes/inputs.py index 2dc3f89..a48d7e7 100644 --- a/core/nodeslicer/nodes/inputs.py +++ b/core/nodeslicer/nodes/inputs.py @@ -225,6 +225,7 @@ class SLICENODE_InputIntrinsics(SliceNode): self.add_input("SLICESOCK_Float", "Bed X").value = 250.0 self.add_input("SLICESOCK_Float", "Bed Y").value = 210.0 self.add_input("SLICESOCK_Float", "Feedrate").value = 1200.0 + self.add_input("SLICESOCK_Float", "Travel Feedrate").value = 2400.0 self.add_input("SLICESOCK_Float", "Extrusion Rate").value = 0.035 self.add_input("SLICESOCK_Float", "Retraction").value = 0.0 self.add_input("SLICESOCK_Float", "Lift").value = 0.0 @@ -234,6 +235,7 @@ class SLICENODE_InputIntrinsics(SliceNode): bed_x=self.resolve("Bed X"), bed_y=self.resolve("Bed Y"), feedrate=self.resolve("Feedrate"), + travel_feedrate=self.resolve("Travel Feedrate"), extrusion_rate=self.resolve("Extrusion Rate"), retraction=self.resolve("Retraction"), lift=self.resolve("Lift") diff --git a/core/slice.py b/core/slice.py index 70b50b3..ba2e5ec 100644 --- a/core/slice.py +++ b/core/slice.py @@ -1213,6 +1213,7 @@ class Pather(object): self.bed_center_x: float = 250. self.bed_center_y: float = 250. self.feedrate: float = 1200. + self.travel_feedrate: float = 2400. self.extrusion_rate: float = 0.017 self.retraction: float = 0.0 self.lift: float = 0.0 @@ -1251,6 +1252,7 @@ class Pather(object): "; Generated from NodeSlicer", f";TYPE:Custom", f";DEFAULT_FEEDRATE={self.feedrate}", + f";DEFAULT_TRAVEL_FEEDRATE={self.travel_feedrate}", f";DEFAULT_EXTRUSION_RATE={self.extrusion_rate}", f";OFFSET_X={offset_x:.6f}", f";OFFSET_Y={offset_y:.6f}", @@ -1301,7 +1303,7 @@ class Pather(object): active_feedrate = 720.0 # 3. Travel to the start of path `i` (x0, y0) in XY - travel_fr = f_rate[0] if f_rate[0] > 0 else self.feedrate + travel_fr = f_rate[0] if f_rate[0] > 0 else self.travel_feedrate gcode.append(f"G0 X{x0:.3f} Y{y0:.3f} F{travel_fr}") active_feedrate = travel_fr @@ -1328,7 +1330,7 @@ class Pather(object): last_z = z0 active_feedrate = 720.0 - old_fr = f_rate[0] if f_rate[0] > 0 else self.feedrate + old_fr = f_rate[0] if f_rate[0] > 0 else self.travel_feedrate gcode.append(f"G0 X{x0:.3f} Y{y0:.3f} Z{z0:.3f} F{old_fr}") active_feedrate = old_fr diff --git a/gcode_snippets/ginger_start.gcode b/gcode_snippets/ginger_start.gcode index c64b2e8..088bd26 100644 --- a/gcode_snippets/ginger_start.gcode +++ b/gcode_snippets/ginger_start.gcode @@ -1,5 +1,5 @@ M73 P0 R19 -EXCLUDE_OBJECT_DEFINE NAME=model CENTER=509.338,496.519 POLYGON=[[316.681,303.791],[701.994,303.791],[701.994,689.247],[316.681,689.247]] +EXCLUDE_OBJECT_DEFINE NAME=model CENTER=509.338,496.519 POLYGON=[[300.000,300.000],[700.000,300.000],[700.000,700.000],[300.000,700.000]] START_PRINT BED_TEMPERATURE=80 KAMP_LEVELING=1 EXTRUDER_ROTATION_VOLUME=755 MIXING_STEPPER_ROTATION_VOLUME=12000 PURGE_LAYER_HEIGHT=2 PURGE_PARKING_SPEED=10000 PURGE_LENGHT=500 PURGE_SPEED=500 PURGE_MATERIAL_QUANTITY=10000 EXTRUDER_TEMPERATURE=240 EXTRUDER_TEMPERATURE_INITIAL_LAYER=240 PRESSURE_ADVANCE=0.2 PRESSURE_ADVANCE_SMOOTH_TIME=0.5 ZONE_1_TEMPERATURE=210 ZONE_2_TEMPERATURE=220 ZONE_3_TEMPERATURE=230 G90 G21