def onChanged(self,obj,prop): mode = 2 obj.setEditorMode('Placement',mode) if prop == "PostProcessor": sys.path.append(os.path.split(obj.PostProcessor)[0]) lessextn = os.path.splitext(obj.PostProcessor)[0] postname = os.path.split(lessextn)[1] exec "import %s as current_post" % postname if hasattr (current_post, "UNITS"): if current_post.UNITS == "G21": obj.MachineUnits = "Metric" else: obj.MachineUnits = "Inch" if hasattr (current_post, "MACHINE_NAME"): obj.MachineName = current_post.MACHINE_NAME if hasattr (current_post, "CORNER_MAX"): obj.X_Max = current_post.CORNER_MAX['x'] obj.Y_Max = current_post.CORNER_MAX['y'] obj.Z_Max = current_post.CORNER_MAX['z'] if hasattr (current_post, "CORNER_MIN"): obj.X_Min = current_post.CORNER_MIN['x'] obj.Y_Min = current_post.CORNER_MIN['y'] obj.Z_Min = current_post.CORNER_MIN['z'] if prop == "Tooltable": proj = PathUtils.findProj() for g in proj.Group: if not(isinstance(g.Proxy, PathScripts.PathMachine.Machine)): g.touch()
def Create(pathChildren=[]): """Code to create a project""" # FreeCADGui.addModule("PathScripts.PathProject") import PathScripts.PathUtils as PU if not PU.findProj() is None: FreeCAD.Console.PrintError( "A Path project already exists in this document\n") return obj = FreeCAD.ActiveDocument.addObject( "Path::FeatureCompoundPython", "Project") ObjectPathProject(obj) if pathChildren: for child in pathChildren: pathChildren.append(FreeCAD.ActiveDocument.getObject(obj.Name)) obj.Group = pathChildren ViewProviderProject(obj.ViewObject) # create a machine obj import PathScripts PathScripts.PathMachine.CommandPathMachine.Create() PathScripts.PathLoadTool.CommandPathLoadTool.Create() return obj
def Create(pathChildren=[]): """Code to create a project""" # FreeCADGui.addModule("PathScripts.PathProject") import PathScripts.PathUtils as PU if not PU.findProj() is None: FreeCAD.Console.PrintError( "A Path project already exists in this document\n") return obj = FreeCAD.ActiveDocument.addObject("Path::FeatureCompoundPython", "Project") ObjectPathProject(obj) if pathChildren: for child in pathChildren: pathChildren.append(FreeCAD.ActiveDocument.getObject(obj.Name)) obj.Group = pathChildren ViewProviderProject(obj.ViewObject) # create a machine obj import PathScripts PathScripts.PathMachine.CommandPathMachine.Create() PathScripts.PathLoadTool.CommandPathLoadTool.Create() return obj