| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | """Used for CNC machine comments for Path module. Create a comment and place it in the Document tree.""" |
| |
|
| | import FreeCAD |
| | import FreeCADGui |
| | import Path |
| | from PySide import QtCore |
| |
|
| | from PySide.QtCore import QT_TRANSLATE_NOOP |
| |
|
| | translate = FreeCAD.Qt.translate |
| |
|
| |
|
| | class Comment: |
| | def __init__(self, obj): |
| | obj.addProperty( |
| | "App::PropertyString", |
| | "Comment", |
| | "Path", |
| | QT_TRANSLATE_NOOP("App::Property", "Comment or note for CNC program"), |
| | ) |
| | obj.Proxy = self |
| | mode = 2 |
| | obj.setEditorMode("Placement", mode) |
| |
|
| | def dumps(self): |
| | return None |
| |
|
| | def loads(self, state): |
| | return None |
| |
|
| | def onChanged(self, obj, prop): |
| | pass |
| |
|
| | def execute(self, obj): |
| | output = "" |
| | output += "(" + str(obj.Comment) + ")\n" |
| | path = Path.Path(output) |
| | obj.Path = path |
| |
|
| |
|
| | class _ViewProviderComment: |
| | def __init__(self, vobj): |
| | vobj.Proxy = self |
| | mode = 2 |
| | vobj.setEditorMode("LineWidth", mode) |
| | vobj.setEditorMode("MarkerColor", mode) |
| | vobj.setEditorMode("NormalColor", mode) |
| | vobj.setEditorMode("DisplayMode", mode) |
| | vobj.setEditorMode("BoundingBox", mode) |
| | vobj.setEditorMode("Selectable", mode) |
| | vobj.setEditorMode("ShapeAppearance", mode) |
| | vobj.setEditorMode("Transparency", mode) |
| | vobj.setEditorMode("Visibility", mode) |
| |
|
| | def dumps(self): |
| | return None |
| |
|
| | def loads(self, state): |
| | return None |
| |
|
| | def getIcon(self): |
| | return ":/icons/CAM_Comment.svg" |
| |
|
| | def onChanged(self, vobj, prop): |
| | mode = 2 |
| | vobj.setEditorMode("LineWidth", mode) |
| | vobj.setEditorMode("MarkerColor", mode) |
| | vobj.setEditorMode("NormalColor", mode) |
| | vobj.setEditorMode("DisplayMode", mode) |
| | vobj.setEditorMode("BoundingBox", mode) |
| | vobj.setEditorMode("Selectable", mode) |
| | vobj.setEditorMode("ShapeAppearance", mode) |
| | vobj.setEditorMode("Transparency", mode) |
| | vobj.setEditorMode("Visibility", mode) |
| |
|
| |
|
| | class CommandPathComment: |
| | def GetResources(self): |
| | return { |
| | "Pixmap": "CAM_Comment", |
| | "MenuText": QT_TRANSLATE_NOOP("CAM_Comment", "Comment"), |
| | "ToolTip": QT_TRANSLATE_NOOP("CAM_Comment", "Adds a Comment to the CNC program"), |
| | } |
| |
|
| | def IsActive(self): |
| | if FreeCAD.ActiveDocument is not None: |
| | for o in FreeCAD.ActiveDocument.Objects: |
| | if o.Name[:3] == "Job": |
| | return True |
| | return False |
| |
|
| | def Activated(self): |
| | FreeCAD.ActiveDocument.openTransaction("Create a Comment in the CNC program") |
| | FreeCADGui.addModule("Path.Op.Gui.Comment") |
| | snippet = """ |
| | import Path |
| | import PathScripts |
| | from PathScripts import PathUtils |
| | obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython","Comment") |
| | Path.Op.Gui.Comment.Comment(obj) |
| | Path.Op.Gui.Comment._ViewProviderComment(obj.ViewObject) |
| | |
| | PathUtils.addToJob(obj) |
| | """ |
| | FreeCADGui.doCommand(snippet) |
| | FreeCAD.ActiveDocument.commitTransaction() |
| | FreeCAD.ActiveDocument.recompute() |
| |
|
| |
|
| | if FreeCAD.GuiUp: |
| | |
| | FreeCADGui.addCommand("CAM_Comment", CommandPathComment()) |
| |
|
| |
|
| | FreeCAD.Console.PrintLog("Loading PathComment… done\n") |
| |
|