From 33d1d281ec4c3a0ae18f5f1e7d0fce7d91811a9b Mon Sep 17 00:00:00 2001 From: Russell Johnson <47639332+Russ4262@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:43:31 -0500 Subject: [PATCH] Path: Convert `SetupProperties()` to dynamic code This method will always synchronize with operation's class properties. --- src/Mod/Path/PathScripts/PathSurface.py | 12 ++---------- src/Mod/Path/PathScripts/PathWaterline.py | 12 ++---------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/src/Mod/Path/PathScripts/PathSurface.py b/src/Mod/Path/PathScripts/PathSurface.py index 03bb6c3d92..cfd552ca7b 100644 --- a/src/Mod/Path/PathScripts/PathSurface.py +++ b/src/Mod/Path/PathScripts/PathSurface.py @@ -2129,18 +2129,10 @@ class ObjectSurface(PathOp.ObjectOp): self.tempGroup.addObject(do) # Eclass + def SetupProperties(): ''' SetupProperties() ... Return list of properties required for operation.''' - setup = ['AvoidLastX_Faces', 'AvoidLastX_InternalFeatures', 'BoundBox'] - setup.extend(['BoundaryAdjustment', 'PatternCenterAt', 'PatternCenterCustom']) - setup.extend(['CircularUseG2G3', 'InternalFeaturesCut', 'InternalFeaturesAdjustment']) - setup.extend(['CutMode', 'CutPattern', 'CutPatternAngle', 'CutPatternReversed']) - setup.extend(['CutterTilt', 'DepthOffset', 'DropCutterDir', 'GapSizes', 'GapThreshold']) - setup.extend(['HandleMultipleFeatures', 'LayerMode', 'OptimizeStepOverTransitions']) - setup.extend(['ProfileEdges', 'BoundaryEnforcement', 'RotationAxis', 'SampleInterval']) - setup.extend(['ScanType', 'StartIndex', 'StartPoint', 'StepOver', 'StopIndex']) - setup.extend(['UseStartPoint', 'AngularDeflection', 'LinearDeflection', 'ShowTempObjects']) - return setup + return [tup[1] for tup in ObjectSurface.opPropertyDefinitions(False)] def Create(name, obj=None): diff --git a/src/Mod/Path/PathScripts/PathWaterline.py b/src/Mod/Path/PathScripts/PathWaterline.py index 722334366b..2b48eb8887 100644 --- a/src/Mod/Path/PathScripts/PathWaterline.py +++ b/src/Mod/Path/PathScripts/PathWaterline.py @@ -1788,19 +1788,11 @@ class ObjectWaterline(PathOp.ObjectOp): do.Shape = objShape do.purgeTouched() self.tempGroup.addObject(do) - +# Eclass def SetupProperties(): ''' SetupProperties() ... Return list of properties required for operation.''' - setup = ['Algorithm', 'AvoidLastX_Faces', 'AvoidLastX_InternalFeatures', 'BoundBox'] - setup.extend(['BoundaryAdjustment', 'PatternCenterAt', 'PatternCenterCustom']) - setup.extend(['ClearLastLayer', 'InternalFeaturesCut', 'InternalFeaturesAdjustment']) - setup.extend(['CutMode', 'CutPattern', 'CutPatternAngle', 'CutPatternReversed']) - setup.extend(['DepthOffset', 'GapSizes', 'GapThreshold', 'StepOver']) - setup.extend(['HandleMultipleFeatures', 'LayerMode', 'OptimizeStepOverTransitions']) - setup.extend(['BoundaryEnforcement', 'SampleInterval', 'StartPoint', 'IgnoreOuterAbove']) - setup.extend(['UseStartPoint', 'AngularDeflection', 'LinearDeflection', 'ShowTempObjects']) - return setup + return [tup[1] for tup in ObjectWaterline.opPropertyDefinitions(False)] def Create(name, obj=None):