From e65c73d7fb89fc014d6de2b952328c16692aaaf5 Mon Sep 17 00:00:00 2001 From: Patrick Felixberger Date: Mon, 9 Mar 2020 21:55:23 +0100 Subject: [PATCH 1/4] Added ClearEdges in MillFace to GUI --- src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui | 7 +++++++ src/Mod/Path/PathScripts/PathMillFace.py | 2 +- src/Mod/Path/PathScripts/PathPocketBaseGui.py | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui index 00f822df6e..d1a81ae2c1 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui @@ -255,6 +255,13 @@ + + + + Clear Edges + + + diff --git a/src/Mod/Path/PathScripts/PathMillFace.py b/src/Mod/Path/PathScripts/PathMillFace.py index cbb7e0d624..9fa300ef71 100644 --- a/src/Mod/Path/PathScripts/PathMillFace.py +++ b/src/Mod/Path/PathScripts/PathMillFace.py @@ -59,7 +59,7 @@ class ObjectFace(PathPocketBase.ObjectPocket): '''initPocketOp(obj) ... create facing specific properties''' obj.addProperty("App::PropertyEnumeration", "BoundaryShape", "Face", QtCore.QT_TRANSLATE_NOOP("App::Property", "Shape to use for calculating Boundary")) obj.BoundaryShape = ['Perimeter', 'Boundbox', 'Stock'] - obj.addProperty("App::PropertyBool", "ClearEdges", "Face", QtCore.QT_TRANSLATE_NOOP("App::Property", "Clear edges")) + obj.addProperty("App::PropertyBool", "ClearEdges", "Face", QtCore.QT_TRANSLATE_NOOP("App::Property", "Clear edges of surface (Only applicable to BoundBox)")) if not hasattr(obj, 'ExcludeRaisedAreas'): obj.addProperty("App::PropertyBool", "ExcludeRaisedAreas", "Face", QtCore.QT_TRANSLATE_NOOP("App::Property", "Exclude milling raised areas inside the face.")) diff --git a/src/Mod/Path/PathScripts/PathPocketBaseGui.py b/src/Mod/Path/PathScripts/PathPocketBaseGui.py index 809bff2dc1..ad8dda997c 100644 --- a/src/Mod/Path/PathScripts/PathPocketBaseGui.py +++ b/src/Mod/Path/PathScripts/PathPocketBaseGui.py @@ -62,6 +62,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if not FeatureFacing & self.pocketFeatures(): form.facingWidget.hide() + form.clearEdges.hide() if FeaturePocket & self.pocketFeatures(): form.extraOffsetLabel.setText(translate("PathPocket", "Pass Extension")) @@ -121,6 +122,8 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if FeatureFacing & self.pocketFeatures(): if obj.BoundaryShape != str(self.form.boundaryShape.currentText()): obj.BoundaryShape = str(self.form.boundaryShape.currentText()) + if obj.ClearEdges != self.form.clearEdges.isChecked(): + obj.ClearEdges = self.form.clearEdges.isChecked() def setFields(self, obj): '''setFields(obj) ... transfers obj's property values to UI''' @@ -143,6 +146,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if FeatureFacing & self.pocketFeatures(): self.selectInComboBox(obj.BoundaryShape, self.form.boundaryShape) + self.form.clearEdges.setChecked(obj.ClearEdges) def getSignalsForUpdate(self, obj): '''getSignalsForUpdate(obj) ... return list of signals for updating obj''' @@ -161,5 +165,6 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if FeatureFacing & self.pocketFeatures(): signals.append(self.form.boundaryShape.currentIndexChanged) + signals.append(self.form.clearEdges.clicked) return signals From 9953e96b5bfd28ef33329aa7afe6168a0d6e7495 Mon Sep 17 00:00:00 2001 From: Patrick Felixberger Date: Mon, 9 Mar 2020 22:34:41 +0100 Subject: [PATCH 2/4] Removed 'Use Tip Length' and added 'Extra Offset' in Drilling OP --- .../Resources/panels/PageOpDrillingEdit.ui | 34 ++++++++++++++----- src/Mod/Path/PathScripts/PathDrilling.py | 7 +++- src/Mod/Path/PathScripts/PathDrillingGui.py | 11 +++--- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui index 3d2d7191e8..fce480e837 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui @@ -63,13 +63,6 @@ - - - - Use Tip Length - - - @@ -135,6 +128,32 @@ + + + + Extra Offset + + + + + + + + None + + + + + Tip Length + + + + + 2x Tip Length + + + + @@ -164,7 +183,6 @@ toolController peckEnabled dwellEnabled - useTipLength diff --git a/src/Mod/Path/PathScripts/PathDrilling.py b/src/Mod/Path/PathScripts/PathDrilling.py index 64d5447abe..a8141f3ab6 100644 --- a/src/Mod/Path/PathScripts/PathDrilling.py +++ b/src/Mod/Path/PathScripts/PathDrilling.py @@ -75,6 +75,8 @@ class ObjectDrilling(PathCircularHoleBase.ObjectOp): obj.addProperty("App::PropertyEnumeration", "ReturnLevel", "Drill", QtCore.QT_TRANSLATE_NOOP("App::Property", "Controls how tool retracts Default=G99")) obj.ReturnLevel = ['G99', 'G98'] # Canned Cycle Return Level obj.addProperty("App::PropertyDistance", "RetractHeight", "Drill", QtCore.QT_TRANSLATE_NOOP("App::Property", "The height where feed starts and height during retract tool when path is finished while in a peck operation")) + obj.addProperty("App::PropertyEnumeration", "ExtraOffset", "Drill", QtCore.QT_TRANSLATE_NOOP("App::Property", "How far the drill depth is extended")) + obj.ExtraOffset = ['None', 'Tip Length', '2x Tip Length'] # Canned Cycle Return Level # Rotation related properties if not hasattr(obj, 'EnableRotation'): @@ -103,8 +105,10 @@ class ObjectDrilling(PathCircularHoleBase.ObjectOp): self.commandlist.append(Path.Command('G0', {'Z': obj.ClearanceHeight.Value, 'F': self.vertRapid})) tiplength = 0.0 - if obj.AddTipLength: + if obj.ExtraOffset == 'Tip Length': tiplength = PathUtils.drillTipLength(self.tool) + elif obj.ExtraOffset == '2x Tip Length': + tiplength = PathUtils.drillTipLength(self.tool) * 2 holes = PathUtils.sort_jobs(holes, ['x', 'y']) self.commandlist.append(Path.Command('G90')) @@ -218,6 +222,7 @@ def SetupProperties(): setup.append("DwellEnabled") setup.append("AddTipLength") setup.append("ReturnLevel") + setup.append("ExtraDepth") setup.append("RetractHeight") setup.append("EnableRotation") setup.append("ReverseDirection") diff --git a/src/Mod/Path/PathScripts/PathDrillingGui.py b/src/Mod/Path/PathScripts/PathDrillingGui.py index 6d8d8249a4..10e4965c19 100644 --- a/src/Mod/Path/PathScripts/PathDrillingGui.py +++ b/src/Mod/Path/PathScripts/PathDrillingGui.py @@ -97,8 +97,8 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): obj.DwellEnabled = self.form.dwellEnabled.isChecked() if obj.PeckEnabled != self.form.peckEnabled.isChecked(): obj.PeckEnabled = self.form.peckEnabled.isChecked() - if obj.AddTipLength != self.form.useTipLength.isChecked(): - obj.AddTipLength = self.form.useTipLength.isChecked() + if obj.ExtraOffset != str(self.form.ExtraOffset.currentText()): + obj.ExtraOffset = str(self.form.ExtraOffset.currentText()) self.updateToolController(obj, self.form.toolController) self.updateCoolant(obj, self.form.coolantController) @@ -118,10 +118,7 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): else: self.form.peckEnabled.setCheckState(QtCore.Qt.Unchecked) - if obj.AddTipLength: - self.form.useTipLength.setCheckState(QtCore.Qt.Checked) - else: - self.form.useTipLength.setCheckState(QtCore.Qt.Unchecked) + self.selectInComboBox(obj.ExtraOffset, self.form.ExtraOffset) self.setupToolController(obj, self.form.toolController) self.setupCoolant(obj, self.form.coolantController) @@ -136,10 +133,10 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): signals.append(self.form.dwellTime.editingFinished) signals.append(self.form.dwellEnabled.stateChanged) signals.append(self.form.peckEnabled.stateChanged) - signals.append(self.form.useTipLength.stateChanged) signals.append(self.form.toolController.currentIndexChanged) signals.append(self.form.coolantController.currentIndexChanged) signals.append(self.form.coolantController.currentIndexChanged) + signals.append(self.form.ExtraOffset.currentIndexChanged) return signals From dc9d48187960048d86ac471974f0eaffd43a7eff Mon Sep 17 00:00:00 2001 From: Schildkroet Date: Wed, 11 Mar 2020 07:45:02 +0100 Subject: [PATCH 3/4] Fixed wrong property name; Set default value --- src/Mod/Path/PathScripts/PathDrilling.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Mod/Path/PathScripts/PathDrilling.py b/src/Mod/Path/PathScripts/PathDrilling.py index a8141f3ab6..bc00bf2f16 100644 --- a/src/Mod/Path/PathScripts/PathDrilling.py +++ b/src/Mod/Path/PathScripts/PathDrilling.py @@ -205,6 +205,7 @@ class ObjectDrilling(PathCircularHoleBase.ObjectOp): obj.InverseAngle = False obj.B_AxisErrorOverride = False obj.AttemptInverseAngle = False + obj.ExtraOffset = "None" # Initial setting for EnableRotation is taken from Job SetupSheet # User may override on per-operation basis as needed. @@ -222,7 +223,7 @@ def SetupProperties(): setup.append("DwellEnabled") setup.append("AddTipLength") setup.append("ReturnLevel") - setup.append("ExtraDepth") + setup.append("ExtraOffset") setup.append("RetractHeight") setup.append("EnableRotation") setup.append("ReverseDirection") From a8531879772a5c4a5a00a06a91a28253072cb142 Mon Sep 17 00:00:00 2001 From: Patrick Felixberger Date: Thu, 12 Mar 2020 00:00:44 +0100 Subject: [PATCH 4/4] Changed property names --- src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui | 6 +++--- src/Mod/Path/PathScripts/PathDrilling.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui index fce480e837..e815e4cc86 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui @@ -131,7 +131,7 @@ - Extra Offset + Extend Depth @@ -144,12 +144,12 @@ - Tip Length + Drill Tip - 2x Tip Length + 2x Drill Tip diff --git a/src/Mod/Path/PathScripts/PathDrilling.py b/src/Mod/Path/PathScripts/PathDrilling.py index a8141f3ab6..6043ca3eac 100644 --- a/src/Mod/Path/PathScripts/PathDrilling.py +++ b/src/Mod/Path/PathScripts/PathDrilling.py @@ -76,7 +76,7 @@ class ObjectDrilling(PathCircularHoleBase.ObjectOp): obj.ReturnLevel = ['G99', 'G98'] # Canned Cycle Return Level obj.addProperty("App::PropertyDistance", "RetractHeight", "Drill", QtCore.QT_TRANSLATE_NOOP("App::Property", "The height where feed starts and height during retract tool when path is finished while in a peck operation")) obj.addProperty("App::PropertyEnumeration", "ExtraOffset", "Drill", QtCore.QT_TRANSLATE_NOOP("App::Property", "How far the drill depth is extended")) - obj.ExtraOffset = ['None', 'Tip Length', '2x Tip Length'] # Canned Cycle Return Level + obj.ExtraOffset = ['None', 'Drill Tip', '2x Drill Tip'] # Canned Cycle Return Level # Rotation related properties if not hasattr(obj, 'EnableRotation'): @@ -105,9 +105,9 @@ class ObjectDrilling(PathCircularHoleBase.ObjectOp): self.commandlist.append(Path.Command('G0', {'Z': obj.ClearanceHeight.Value, 'F': self.vertRapid})) tiplength = 0.0 - if obj.ExtraOffset == 'Tip Length': + if obj.ExtraOffset == 'Drill Tip': tiplength = PathUtils.drillTipLength(self.tool) - elif obj.ExtraOffset == '2x Tip Length': + elif obj.ExtraOffset == '2x Drill Tip': tiplength = PathUtils.drillTipLength(self.tool) * 2 holes = PathUtils.sort_jobs(holes, ['x', 'y'])