From 7d8ed6fd70ed0671d04a8837cf200d74284ef659 Mon Sep 17 00:00:00 2001 From: Markus Lampert Date: Sat, 25 Aug 2018 19:51:27 -0700 Subject: [PATCH] Operation setting support for all pocket ops. --- src/Mod/Path/PathScripts/PathMillFace.py | 7 +++++-- src/Mod/Path/PathScripts/PathMillFaceGui.py | 3 ++- src/Mod/Path/PathScripts/PathPocket.py | 8 ++++++-- src/Mod/Path/PathScripts/PathPocketBase.py | 9 +++++++++ src/Mod/Path/PathScripts/PathPocketGui.py | 3 ++- src/Mod/Path/PathScripts/PathPocketShape.py | 11 ++--------- src/Mod/Path/PathScripts/PathProfileContour.py | 2 +- 7 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/Mod/Path/PathScripts/PathMillFace.py b/src/Mod/Path/PathScripts/PathMillFace.py index 6ab5bb2346..ac8ebd40d7 100644 --- a/src/Mod/Path/PathScripts/PathMillFace.py +++ b/src/Mod/Path/PathScripts/PathMillFace.py @@ -139,9 +139,12 @@ class ObjectFace(PathPocketBase.ObjectPocket): if len(obj.Base) >= 1: obj.OpFinalDepth = Part.makeCompound(obj.Base).BoundBox.ZMax +def SetupProperties(): + return PathPocketBase.SetupProperties() + [ "BoundaryShape" ] -def Create(name): +def Create(name, obj = None): '''Create(name) ... Creates and returns a Mill Facing operation.''' - obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name) + if obj is None: + obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name) proxy = ObjectFace(obj, name) return obj diff --git a/src/Mod/Path/PathScripts/PathMillFaceGui.py b/src/Mod/Path/PathScripts/PathMillFaceGui.py index 5c23af73a7..f1c407b928 100644 --- a/src/Mod/Path/PathScripts/PathMillFaceGui.py +++ b/src/Mod/Path/PathScripts/PathMillFaceGui.py @@ -47,7 +47,8 @@ Command = PathOpGui.SetupOperation('MillFace', TaskPanelOpPage, 'Path-Face', QtCore.QT_TRANSLATE_NOOP("PathFace", "Face"), - QtCore.QT_TRANSLATE_NOOP("PathFace", "Create a Facing Operation from a model or face")) + QtCore.QT_TRANSLATE_NOOP("PathFace", "Create a Facing Operation from a model or face"), + PathMillFace.SetupProperties) FreeCAD.Console.PrintLog("Loading PathMillFaceGui... done\n") diff --git a/src/Mod/Path/PathScripts/PathPocket.py b/src/Mod/Path/PathScripts/PathPocket.py index ea97c976be..4d703c7de8 100644 --- a/src/Mod/Path/PathScripts/PathPocket.py +++ b/src/Mod/Path/PathScripts/PathPocket.py @@ -93,8 +93,12 @@ class ObjectPocket(PathPocketBase.ObjectPocket): obj.StepOver = 100 obj.ZigZagAngle = 45 -def Create(name): +def SetupProperties(): + return PathPocketBase.SetupProperties() + +def Create(name, obj = None): '''Create(name) ... Creates and returns a Pocket operation.''' - obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name) + if obj is None: + obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name) proxy = ObjectPocket(obj, name) return obj diff --git a/src/Mod/Path/PathScripts/PathPocketBase.py b/src/Mod/Path/PathScripts/PathPocketBase.py index ec5e15999d..55d65f65c6 100644 --- a/src/Mod/Path/PathScripts/PathPocketBase.py +++ b/src/Mod/Path/PathScripts/PathPocketBase.py @@ -132,3 +132,12 @@ class ObjectPocket(PathAreaOp.ObjectOp): params['threshold'] = self.radius * 2 return params +def SetupProperties(): + setup = [] + setup.append('CutMode') + setup.append('ExtraOffset') + setup.append('StepOver') + setup.append('ZigZagAngle') + setup.append('OffsetPattern') + return setup + diff --git a/src/Mod/Path/PathScripts/PathPocketGui.py b/src/Mod/Path/PathScripts/PathPocketGui.py index 7fe903a4d0..e3575556a4 100644 --- a/src/Mod/Path/PathScripts/PathPocketGui.py +++ b/src/Mod/Path/PathScripts/PathPocketGui.py @@ -46,6 +46,7 @@ Command = PathOpGui.SetupOperation('Pocket 3D', TaskPanelOpPage, 'Path-3DPocket', QtCore.QT_TRANSLATE_NOOP("PathPocket", "3D Pocket"), - QtCore.QT_TRANSLATE_NOOP("PathPocket", "Creates a Path 3D Pocket object from a face or faces")) + QtCore.QT_TRANSLATE_NOOP("PathPocket", "Creates a Path 3D Pocket object from a face or faces"), + PathPocket.SetupProperties) FreeCAD.Console.PrintLog("Loading PathPocketGui... done\n") diff --git a/src/Mod/Path/PathScripts/PathPocketShape.py b/src/Mod/Path/PathScripts/PathPocketShape.py index 1cf2a80216..902168a0ad 100644 --- a/src/Mod/Path/PathScripts/PathPocketShape.py +++ b/src/Mod/Path/PathScripts/PathPocketShape.py @@ -157,16 +157,9 @@ class ObjectPocket(PathPocketBase.ObjectPocket): obj.OpStartDepth = bb.ZMax def SetupProperties(): - setup = [] - setup.append('CutMode') - setup.append('ExtraOffset') - setup.append('StepOver') - setup.append('ZigZagAngle') - setup.append('OffsetPattern') - setup.append('UseOutline') - return setup + return PathPocketBase.SetupProperties() + [ 'UseOutline' ] -def Create(name, obj=None): +def Create(name, obj = None): '''Create(name) ... Creates and returns a Pocket operation.''' if obj is None: obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name) diff --git a/src/Mod/Path/PathScripts/PathProfileContour.py b/src/Mod/Path/PathScripts/PathProfileContour.py index 0442be3489..be84a29eab 100644 --- a/src/Mod/Path/PathScripts/PathProfileContour.py +++ b/src/Mod/Path/PathScripts/PathProfileContour.py @@ -111,7 +111,7 @@ class ObjectContour(PathProfileBase.ObjectProfile): def SetupProperties(): return [p for p in PathProfileBase.SetupProperties() if p != 'Side'] -def Create(name, obj=None): +def Create(name, obj = None): '''Create(name) ... Creates and returns a Contour operation.''' if obj is None: obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name)