From 88d748dc1a5996930df7584612f2186b26fc68b3 Mon Sep 17 00:00:00 2001 From: Alihan Tadal Date: Sat, 13 Sep 2025 08:35:29 +0300 Subject: [PATCH 1/2] CAM: Improve confusing nomenclature: Offset Pattern (#23649) --- .../CAM/Gui/Resources/panels/PageOpPocketFullEdit.ui | 4 ++-- src/Mod/CAM/Path/Op/Area.py | 4 ++-- src/Mod/CAM/Path/Op/Gui/MillFace.py | 2 +- src/Mod/CAM/Path/Op/Gui/PocketBase.py | 12 ++++++------ src/Mod/CAM/Path/Op/PocketBase.py | 8 ++++---- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Mod/CAM/Gui/Resources/panels/PageOpPocketFullEdit.ui b/src/Mod/CAM/Gui/Resources/panels/PageOpPocketFullEdit.ui index e08bdac8d1..77962d20ac 100644 --- a/src/Mod/CAM/Gui/Resources/panels/PageOpPocketFullEdit.ui +++ b/src/Mod/CAM/Gui/Resources/panels/PageOpPocketFullEdit.ui @@ -114,14 +114,14 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Pattern - + Pattern the tool bit is moved in to clear the material diff --git a/src/Mod/CAM/Path/Op/Area.py b/src/Mod/CAM/Path/Op/Area.py index bd5cc5d193..ccacb23165 100644 --- a/src/Mod/CAM/Path/Op/Area.py +++ b/src/Mod/CAM/Path/Op/Area.py @@ -290,8 +290,8 @@ class ObjectOp(PathOp.ObjectOp): # disable path sorting for offset and zigzag-offset paths if ( - hasattr(obj, "OffsetPattern") - and obj.OffsetPattern in ["ZigZagOffset", "Offset"] + hasattr(obj, "ClearingPattern") + and obj.ClearingPattern in ["ZigZagOffset", "Offset"] and hasattr(obj, "MinTravel") and not obj.MinTravel ): diff --git a/src/Mod/CAM/Path/Op/Gui/MillFace.py b/src/Mod/CAM/Path/Op/Gui/MillFace.py index 72ac381441..c879784121 100644 --- a/src/Mod/CAM/Path/Op/Gui/MillFace.py +++ b/src/Mod/CAM/Path/Op/Gui/MillFace.py @@ -51,7 +51,7 @@ class TaskPanelOpPage(PathPocketBaseGui.TaskPanelOpPage): form = FreeCADGui.PySideUic.loadUi(":/panels/PageOpPocketFullEdit.ui") comboToPropertyMap = [ ("cutMode", "CutMode"), - ("offsetPattern", "OffsetPattern"), + ("clearingPattern", "ClearingPattern"), ("boundaryShape", "BoundaryShape"), ] diff --git a/src/Mod/CAM/Path/Op/Gui/PocketBase.py b/src/Mod/CAM/Path/Op/Gui/PocketBase.py index 5c1a5c8dc3..4b00dfb526 100644 --- a/src/Mod/CAM/Path/Op/Gui/PocketBase.py +++ b/src/Mod/CAM/Path/Op/Gui/PocketBase.py @@ -68,7 +68,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): comboToPropertyMap = [ ("cutMode", "CutMode"), - ("offsetPattern", "OffsetPattern"), + ("clearingPattern", "ClearingPattern"), ] enumTups = PathPocket.ObjectPocket.pocketPropertyEnumerations(dataType="raw") @@ -100,7 +100,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): obj.MinTravel = self.form.minTravel.isChecked() def updateZigZagAngle(self, obj, setModel=True): - if obj.OffsetPattern in ["Offset"]: + if obj.ClearingPattern in ["Offset"]: self.form.zigZagAngle.setEnabled(False) else: self.form.zigZagAngle.setEnabled(True) @@ -114,8 +114,8 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): obj.CutMode = str(self.form.cutMode.currentData()) if obj.StepOver != self.form.stepOverPercent.value(): obj.StepOver = self.form.stepOverPercent.value() - if obj.OffsetPattern != str(self.form.offsetPattern.currentData()): - obj.OffsetPattern = str(self.form.offsetPattern.currentData()) + if obj.ClearingPattern != str(self.form.clearingPattern.currentData()): + obj.ClearingPattern = str(self.form.clearingPattern.currentData()) PathGuiUtil.updateInputField(obj, "ExtraOffset", self.form.extraOffset) self.updateToolController(obj, self.form.toolController) @@ -162,7 +162,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): self.form.minTravel.setChecked(obj.MinTravel) self.updateMinTravel(obj, False) - self.selectInComboBox(obj.OffsetPattern, self.form.offsetPattern) + self.selectInComboBox(obj.ClearingPattern, self.form.clearingPattern) self.selectInComboBox(obj.CutMode, self.form.cutMode) self.setupToolController(obj, self.form.toolController) self.setupCoolant(obj, self.form.coolantController) @@ -176,7 +176,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): signals = [] signals.append(self.form.cutMode.currentIndexChanged) - signals.append(self.form.offsetPattern.currentIndexChanged) + signals.append(self.form.clearingPattern.currentIndexChanged) signals.append(self.form.stepOverPercent.editingFinished) signals.append(self.form.zigZagAngle.editingFinished) signals.append(self.form.toolController.currentIndexChanged) diff --git a/src/Mod/CAM/Path/Op/PocketBase.py b/src/Mod/CAM/Path/Op/PocketBase.py index eb5558006e..e61d2eaf4e 100644 --- a/src/Mod/CAM/Path/Op/PocketBase.py +++ b/src/Mod/CAM/Path/Op/PocketBase.py @@ -65,7 +65,7 @@ class ObjectPocket(PathAreaOp.ObjectOp): (translate("CAM_Pocket", "Center"), "Center"), (translate("CAM_Pocket", "Edge"), "Edge"), ], - "OffsetPattern": [ + "ClearingPattern": [ (translate("CAM_Pocket", "ZigZag"), "ZigZag"), (translate("CAM_Pocket", "Offset"), "Offset"), (translate("CAM_Pocket", "ZigZagOffset"), "ZigZagOffset"), @@ -159,7 +159,7 @@ class ObjectPocket(PathAreaOp.ObjectOp): ) obj.addProperty( "App::PropertyEnumeration", - "OffsetPattern", + "ClearingPattern", "Face", QT_TRANSLATE_NOOP("App::Property", "Clearing pattern to use"), ) @@ -233,7 +233,7 @@ class ObjectPocket(PathAreaOp.ObjectOp): "Grid": 6, } - params["PocketMode"] = Pattern.get(obj.OffsetPattern, 1) + params["PocketMode"] = Pattern.get(obj.ClearingPattern, 1) if obj.SplitArcs: params["Explode"] = True @@ -301,7 +301,7 @@ def SetupProperties(): setup.append("ExtraOffset") setup.append("StepOver") setup.append("ZigZagAngle") - setup.append("OffsetPattern") + setup.append("ClearingPattern") setup.append("StartAt") setup.append("MinTravel") setup.append("KeepToolDown") From 434314f5a784bae61741ee3b2be337aebf6f0d30 Mon Sep 17 00:00:00 2001 From: Alihan Tadal Date: Sat, 13 Sep 2025 11:53:39 +0300 Subject: [PATCH 2/2] CAM: Let old files adapt OffsetPattern property changes --- src/Mod/CAM/Path/Op/PocketBase.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Mod/CAM/Path/Op/PocketBase.py b/src/Mod/CAM/Path/Op/PocketBase.py index e61d2eaf4e..96bc7adf7e 100644 --- a/src/Mod/CAM/Path/Op/PocketBase.py +++ b/src/Mod/CAM/Path/Op/PocketBase.py @@ -160,7 +160,7 @@ class ObjectPocket(PathAreaOp.ObjectOp): obj.addProperty( "App::PropertyEnumeration", "ClearingPattern", - "Face", + "Pocket", QT_TRANSLATE_NOOP("App::Property", "Clearing pattern to use"), ) obj.addProperty( @@ -266,6 +266,9 @@ class ObjectPocket(PathAreaOp.ObjectOp): ), ) + if hasattr(obj, "OffsetPattern"): + obj.setGroupOfProperty("OffsetPattern", "Pocket") + obj.renameProperty("OffsetPattern", "ClearingPattern") if hasattr(obj, "RestMachiningRegions"): obj.removeProperty("RestMachiningRegions") if hasattr(obj, "RestMachiningRegionsNeedRecompute"):