Merge pull request #27040 from Dimitris75/CAM-Waterline-OCL-Adaptive-Add-Optimize-Linear-Paths
CAM: Waterline OCL Adaptive - Adding Optimize Linear Paths - Removing BoundBox ComboBox
This commit is contained in:
@@ -146,6 +146,8 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage):
|
||||
self.form.optimizeEnabled.hide() # Has no independent QLabel object
|
||||
|
||||
if Algorithm == "OCL Dropcutter":
|
||||
self.form.boundBoxSelect.show()
|
||||
self.form.boundBoxSelect_label.show()
|
||||
self.form.cutPattern.hide()
|
||||
self.form.cutPattern_label.hide()
|
||||
self.form.boundaryAdjustment.hide()
|
||||
@@ -156,7 +158,10 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage):
|
||||
self.form.minSampleInterval_label.hide()
|
||||
self.form.sampleInterval.show()
|
||||
self.form.sampleInterval_label.show()
|
||||
self.form.optimizeEnabled.hide()
|
||||
elif Algorithm == "OCL Adaptive":
|
||||
self.form.boundBoxSelect.hide()
|
||||
self.form.boundBoxSelect_label.hide()
|
||||
self.form.cutPattern.hide()
|
||||
self.form.cutPattern_label.hide()
|
||||
self.form.boundaryAdjustment.hide()
|
||||
@@ -167,7 +172,10 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage):
|
||||
self.form.minSampleInterval_label.show()
|
||||
self.form.sampleInterval.show()
|
||||
self.form.sampleInterval_label.show()
|
||||
self.form.optimizeEnabled.show()
|
||||
elif Algorithm == "Experimental":
|
||||
self.form.boundBoxSelect.show()
|
||||
self.form.boundBoxSelect_label.show()
|
||||
self.form.cutPattern.show()
|
||||
self.form.boundaryAdjustment.show()
|
||||
self.form.cutPattern_label.show()
|
||||
@@ -182,6 +190,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage):
|
||||
self.form.minSampleInterval_label.hide()
|
||||
self.form.sampleInterval.hide()
|
||||
self.form.sampleInterval_label.hide()
|
||||
self.form.optimizeEnabled.hide()
|
||||
|
||||
def registerSignalHandlers(self, obj):
|
||||
self.form.algorithmSelect.currentIndexChanged.connect(self.updateVisibility)
|
||||
|
||||
@@ -564,6 +564,7 @@ class ObjectWaterline(PathOp.ObjectOp):
|
||||
obj.setEditorMode("CutPattern", C)
|
||||
obj.setEditorMode("SampleInterval", G)
|
||||
obj.setEditorMode("MinSampleInterval", D)
|
||||
obj.setEditorMode("OptimizeLinearPaths", D)
|
||||
obj.setEditorMode("LinearDeflection", expMode)
|
||||
obj.setEditorMode("AngularDeflection", expMode)
|
||||
|
||||
@@ -1226,6 +1227,7 @@ class ObjectWaterline(PathOp.ObjectOp):
|
||||
bb = self.boundBoxes[mdlIdx]
|
||||
stl = self.modelSTLs[mdlIdx]
|
||||
depOfst = obj.DepthOffset.Value
|
||||
optimizeLinear = obj.OptimizeLinearPaths
|
||||
|
||||
# Prepare global holdpoint and layerEndPnt containers
|
||||
if self.holdPoint is None:
|
||||
@@ -1284,6 +1286,8 @@ class ObjectWaterline(PathOp.ObjectOp):
|
||||
# Generate G-Code
|
||||
layTime = time.time()
|
||||
for loop in scanLines:
|
||||
if optimizeLinear:
|
||||
loop = PathUtils.simplify3dLine(loop, tolerance=self.geoTlrnc)
|
||||
# We pass '0.0' as layDep because Adaptive loops have their own Z embedded
|
||||
cmds = self._loopToGcode(obj, 0.0, loop)
|
||||
commands.extend(cmds)
|
||||
|
||||
Reference in New Issue
Block a user