def toolBitNew(self): PathLog.track() # select the shape file shapefile = PathToolBitGui.GetToolShapeFile() if shapefile is None: # user canceled return # select the bit file location and filename filename = PathToolBitGui.GetNewToolFile() if filename is None: return # Parse out the name of the file and write the structure loc, fil = os.path.split(filename) fname = os.path.splitext(fil)[0] fullpath = "{}{}{}.fctb".format(loc, os.path.sep, fname) PathLog.debug("fullpath: {}".format(fullpath)) self.temptool = PathToolBit.ToolBitFactory().Create(name=fname) self.temptool.BitShape = shapefile self.temptool.Proxy.unloadBitBody(self.temptool) self.temptool.Label = fname self.temptool.Proxy.saveToFile(self.temptool, fullpath) self.temptool.Document.removeObject(self.temptool.Name) self.temptool = None # add it to the model self.factory.newTool(self.toolModel, fullpath)
def toolBitExisting(self): filenames = PathToolBitGui.GetToolFiles() if len(filenames) == 0: return for f in filenames: loc, fil = os.path.split(f) fname = os.path.splitext(fil)[0] fullpath = "{}{}{}.fctb".format(loc, os.path.sep, fname) self.factory.newTool(self.toolModel, fullpath)
def Activated(self): PathLog.track() job = self.selectedJob() if job: tool = PathToolBitGui.ToolBitSelector().getTool() if tool: toolNr = None for tc in job.Tools.Group: if tc.Tool == tool: toolNr = tc.ToolNumber break if not toolNr: toolNr = max([tc.ToolNumber for tc in job.Tools.Group]) + 1 tc = Create("TC: {}".format(tool.Label), tool, toolNr) job.Proxy.addToolController(tc) FreeCAD.ActiveDocument.recompute()
def toolAdd(self): PathLog.track() # pylint: disable=broad-except try: nr = 0 for row in range(self.model.rowCount()): itemNr = int(self.model.item(row, 0).data(PySide.QtCore.Qt.EditRole)) nr = max(nr, itemNr) nr += 1 for i, foo in enumerate(PathToolBitGui.GetToolFiles(self.form)): tool = PathToolBit.Declaration(foo) self._toolAdd(nr + i, tool, foo) self.toolTableView.resizeColumnsToContents() except Exception: PathLog.error('something happened') PathLog.error(traceback.print_exc())