diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui index 7013dd6e28..e4aaf19e5e 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui @@ -24,7 +24,7 @@ - + ToolController @@ -38,7 +38,7 @@ - + Coolant Mode @@ -57,81 +57,6 @@ - - - - <html><head/><body><p>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter.</p><p>A step over of 100% results in no overlap between two different cycles.</p></body></html> - - - 1 - - - 100 - - - 10 - - - 100 - - - - - - - BoundBox - - - - - - - Layer Mode - - - - - - - Depth offset - - - - - - - mm - - - - - - - Sample interval - - - - - - - - X - - - - - Y - - - - - - - - Step over - - - @@ -160,38 +85,71 @@ - + + + + <html><head/><body><p>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter.</p><p>A step over of 100% results in no overlap between two different cycles.</p></body></html> + + + 1 + + + 100 + + + 10 + + + 100 + + + + + + + Step over + + + + + + + Sample interval + + + + + + + Layer Mode + + + + Optimize Linear Paths - - - - - Stock - - - - - BaseBoundBox - - - - - - + + - Optimize StepOver Transitions + Drop Cutter Direction - - - - mm + + + + BoundBox extra offset X, Y + + + + + + + Use Start Point @@ -202,7 +160,21 @@ - + + + + BoundBox + + + + + + + mm + + + + @@ -226,25 +198,84 @@ - - + + + + mm + + + + + - Drop Cutter Direction + Depth offset + + + + + + + + X + + + + + Y + + + + + + + + + Stock + + + + + BaseBoundBox + + + + + + + + Optimize StepOver Transitions - + - BoundBox extra offset X, Y + Cut Pattern - - - - Use Start Point - + + + + + Line + + + + + ZigZag + + + + + Circular + + + + + CircularZigZag + + diff --git a/src/Mod/Path/PathScripts/PathSurfaceGui.py b/src/Mod/Path/PathScripts/PathSurfaceGui.py index 5709c0341e..1eaca56e4f 100644 --- a/src/Mod/Path/PathScripts/PathSurfaceGui.py +++ b/src/Mod/Path/PathScripts/PathSurfaceGui.py @@ -67,6 +67,9 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if obj.LayerMode != str(self.form.layerMode.currentText()): obj.LayerMode = str(self.form.layerMode.currentText()) + if obj.CutPattern != str(self.form.cutPattern.currentText()): + obj.CutPattern = str(self.form.cutPattern.currentText()) + obj.DropCutterExtraOffset.x = FreeCAD.Units.Quantity(self.form.boundBoxExtraOffsetX.text()).Value obj.DropCutterExtraOffset.y = FreeCAD.Units.Quantity(self.form.boundBoxExtraOffsetY.text()).Value @@ -92,6 +95,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): self.selectInComboBox(obj.BoundBox, self.form.boundBoxSelect) self.selectInComboBox(obj.ScanType, self.form.scanType) self.selectInComboBox(obj.LayerMode, self.form.layerMode) + self.selectInComboBox(obj.CutPattern, self.form.cutPattern) self.form.boundBoxExtraOffsetX.setText(str(obj.DropCutterExtraOffset.x)) self.form.boundBoxExtraOffsetY.setText(str(obj.DropCutterExtraOffset.y)) self.selectInComboBox(obj.DropCutterDir, self.form.dropCutterDirSelect) @@ -122,6 +126,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): signals.append(self.form.boundBoxSelect.currentIndexChanged) signals.append(self.form.scanType.currentIndexChanged) signals.append(self.form.layerMode.currentIndexChanged) + signals.append(self.form.cutPattern.currentIndexChanged) signals.append(self.form.boundBoxExtraOffsetX.editingFinished) signals.append(self.form.boundBoxExtraOffsetY.editingFinished) signals.append(self.form.dropCutterDirSelect.currentIndexChanged) @@ -136,10 +141,12 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): def updateVisibility(self): if self.form.scanType.currentText() == "Planar": + self.form.cutPattern.setEnabled(True) self.form.boundBoxExtraOffsetX.setEnabled(False) self.form.boundBoxExtraOffsetY.setEnabled(False) self.form.dropCutterDirSelect.setEnabled(False) else: + self.form.cutPattern.setEnabled(False) self.form.boundBoxExtraOffsetX.setEnabled(True) self.form.boundBoxExtraOffsetY.setEnabled(True) self.form.dropCutterDirSelect.setEnabled(True)