diff --git a/src/Mod/Path/Gui/Resources/Path.qrc b/src/Mod/Path/Gui/Resources/Path.qrc index 698b878651..7eeaf9bc56 100644 --- a/src/Mod/Path/Gui/Resources/Path.qrc +++ b/src/Mod/Path/Gui/Resources/Path.qrc @@ -30,6 +30,7 @@ icons/Path-MachineLathe.svg icons/Path-MachineMill.svg icons/Path-Machine.svg + icons/Path-OpActive.svg icons/Path-OperationA.svg icons/Path-OperationB.svg icons/Path-OpCopy.svg diff --git a/src/Mod/Path/Gui/Resources/icons/Path-InactiveOp.svg b/src/Mod/Path/Gui/Resources/icons/Path-InactiveOp.svg new file mode 100644 index 0000000000..fe6937e794 --- /dev/null +++ b/src/Mod/Path/Gui/Resources/icons/Path-InactiveOp.svg @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Mon Mar 12 17:20:03 2012 -0300 + + + [Yorik van Havre] + + + + + FreeCAD LGPL2+ + + + + + FreeCAD + + + FreeCAD/src/Mod/Draft/Resources/icons/Snap_Extension.svg + http://www.freecadweb.org/wiki/index.php?title=Artwork + + + [agryson] Alexander Gryson + + + Three dots or circles in a horizontal sequence similar to an ellipsis + + + circle + circles + dot + dots + ellipsis + + + Path-OperationA + https://www.gnu.org/copyleft/lesser.html + + + + diff --git a/src/Mod/Path/Gui/Resources/icons/Path-OpActive.svg b/src/Mod/Path/Gui/Resources/icons/Path-OpActive.svg new file mode 100644 index 0000000000..da66dc9b7b --- /dev/null +++ b/src/Mod/Path/Gui/Resources/icons/Path-OpActive.svg @@ -0,0 +1,495 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Mon Mar 12 17:20:03 2012 -0300 + + + [Yorik van Havre] + + + + + FreeCAD LGPL2+ + + + + + FreeCAD + + + FreeCAD/src/Mod/Draft/Resources/icons/Snap_Extension.svg + http://www.freecadweb.org/wiki/index.php?title=Artwork + + + [agryson] Alexander Gryson + + + Three dots or circles in a horizontal sequence similar to an ellipsis + + + circle + circles + dot + dots + ellipsis + + + Path-OperationA + https://www.gnu.org/copyleft/lesser.html + + + + diff --git a/src/Mod/Path/Gui/Resources/panels/PathEdit.ui b/src/Mod/Path/Gui/Resources/panels/PathEdit.ui index 8f9b046883..d41da3f529 100644 --- a/src/Mod/Path/Gui/Resources/panels/PathEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PathEdit.ui @@ -31,8 +31,8 @@ 0 0 - 456 - 1203 + 458 + 1201 @@ -112,8 +112,8 @@ 0 0 - 456 - 1203 + 458 + 1201 @@ -188,13 +188,6 @@ - - - - Split Output - - - @@ -203,6 +196,9 @@ + + <html><head/><body><p>Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be perfomed there in the same order.</p><p>This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another.</p><p><br/></p><p>Ordering by Tool, wil minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools.</p><p><br/></p><p>Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the 'split output' even with only a single work coordinate system since it will put each operation into a separate file</p></body></html> + Fixture @@ -236,6 +232,15 @@ + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine.</p><p><br/></p><p>FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> + G53 @@ -366,6 +371,16 @@ + + + + <html><head/><body><p>If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second.</p><p><br/></p><p><br/></p></body></html> + + + Split Output + + + @@ -386,8 +401,8 @@ 0 0 - 456 - 1203 + 458 + 1201 @@ -843,7 +858,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -941,8 +965,8 @@ 0 0 - 244 - 256 + 204 + 266 @@ -1035,7 +1059,7 @@ - + <html><head/><body><p>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;3 mm&quot;</p></body></html> @@ -1062,7 +1086,7 @@ - + <html><head/><body><p>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;5 mm&quot;</p></body></html> @@ -1105,8 +1129,8 @@ 0 0 - 456 - 1203 + 458 + 1201 @@ -1205,8 +1229,8 @@ 0 0 - 168 - 112 + 115 + 94 @@ -1230,7 +1254,7 @@ - + 0 @@ -1250,7 +1274,7 @@ - + 0 @@ -1321,7 +1345,16 @@ - + + 0 + + + 0 + + + 0 + + 0 diff --git a/src/Mod/Path/PathScripts/PathOp.py b/src/Mod/Path/PathScripts/PathOp.py index af4d1e7e8a..d52e0d28b7 100644 --- a/src/Mod/Path/PathScripts/PathOp.py +++ b/src/Mod/Path/PathScripts/PathOp.py @@ -265,12 +265,12 @@ class ObjectOp(object): def onChanged(self, obj, prop): '''onChanged(obj, prop) ... base implementation of the FC notification framework. Do not overwrite, overwrite opOnChanged() instead.''' - if not 'Restore' in obj.State and prop in ['Base', 'StartDepth', 'FinalDepth']: self.updateDepths(obj, True) self.opOnChanged(obj, prop) + def applyExpression(self, obj, prop, expr): '''applyExpression(obj, prop, expr) ... set expression expr on obj.prop if expr is set''' if expr: @@ -436,13 +436,15 @@ class ObjectOp(object): ''' PathLog.track() + if obj.ViewObject: + obj.ViewObject.Visibility = obj.Active + if not obj.Active: path = Path.Path("(inactive operation)") obj.Path = path - if obj.ViewObject: - obj.ViewObject.Visibility = False return + if not self._setBaseAndStock(obj): return diff --git a/src/Mod/Path/PathScripts/PathOpGui.py b/src/Mod/Path/PathScripts/PathOpGui.py index c01b1c1820..047fcbe0a6 100644 --- a/src/Mod/Path/PathScripts/PathOpGui.py +++ b/src/Mod/Path/PathScripts/PathOpGui.py @@ -145,7 +145,12 @@ class ViewProvider(object): def getIcon(self): '''getIcon() ... the icon used in the object tree''' - return self.OpIcon + if self.Object.Active: + return self.OpIcon + else: + return ":/icons/Path-OpActive.svg" + + #return self.OpIcon def getTaskPanelOpPage(self, obj): '''getTaskPanelOpPage(obj) ... use the stored information to instantiate the receiver op's page controller.'''