diff --git a/scripts/addons/cam/strategy.py b/scripts/addons/cam/strategy.py index c95c4f66..3e8ec93a 100644 --- a/scripts/addons/cam/strategy.py +++ b/scripts/addons/cam/strategy.py @@ -266,12 +266,16 @@ async def cutout(o): for chl in extendorder: chunk = chl[0] layer = chl[1] - if chunk.closed: - chunk.ramp_contour(layer[0], layer[1], o) - chunks.append(chunk) - else: + if o.movement.zig_zag_ramp: chunk.ramp_zig_zag(layer[0], layer[1], o) chunks.append(chunk) + else: + if chunk.closed: + chunk.ramp_contour(layer[0], layer[1], o) + chunks.append(chunk) + else: + chunk.ramp_zig_zag(layer[0], layer[1], o) + chunks.append(chunk) else: for chl in extendorder: chunks.append(chl[0]) diff --git a/scripts/addons/cam/ui/panels/movement.py b/scripts/addons/cam/ui/panels/movement.py index 38412a62..8352a8f3 100644 --- a/scripts/addons/cam/ui/panels/movement.py +++ b/scripts/addons/cam/ui/panels/movement.py @@ -140,7 +140,12 @@ class CAM_MOVEMENT_Properties(PropertyGroup): default=False, update=update_operation, ) - + zig_zag_ramp: BoolProperty( + name="Zigzag_ramp - EXPERIMENTAL", + description="Ramps down the whole contour, so the cutline looks " "like zigzag_", + default=False, + update=update_operation, + ) ramp_out: BoolProperty( name="Ramp-out - EXPERIMENTAL", description="Ramp out to not leave mark on surface", @@ -350,6 +355,8 @@ class CAM_MOVEMENT_Panel(CAMButtonsPanel, Panel): subcol = panel.column(align=True) subcol.enabled = self.op.movement.ramp row = subcol.row() + row.prop(self.op.movement, "Zigzag_ramp", text="Zigzag Ramp") + row = subcol.row() row.use_property_split = True row.prop(self.op.movement, "ramp_in_angle", text="In Angle") subheader, subpanel = subcol.panel("ramps_o", default_closed=True)