CAM: Replace complete tool management (PR 21425)
This commit is contained in:
@@ -35,10 +35,9 @@ import Path.Main.Gui.JobCmd as PathJobCmd
|
||||
import Path.Main.Gui.JobDlg as PathJobDlg
|
||||
import Path.Main.Job as PathJob
|
||||
import Path.Main.Stock as PathStock
|
||||
import Path.Tool.Gui.Bit as PathToolBitGui
|
||||
import Path.Tool.Gui.Controller as PathToolControllerGui
|
||||
import PathScripts.PathUtils as PathUtils
|
||||
import json
|
||||
from Path.Tool.toolbit.ui.selector import ToolBitSelector
|
||||
import math
|
||||
import traceback
|
||||
from PySide import QtWidgets
|
||||
@@ -1073,29 +1072,14 @@ class TaskPanel:
|
||||
self.toolControllerSelect()
|
||||
|
||||
def toolControllerAdd(self):
|
||||
# adding a TC from a toolbit directly.
|
||||
# Try to find a tool number from the currently selected lib. Otherwise
|
||||
# use next available number
|
||||
|
||||
tools = PathToolBitGui.LoadTools()
|
||||
|
||||
curLib = Path.Preferences.lastFileToolLibrary()
|
||||
|
||||
library = None
|
||||
if curLib is not None:
|
||||
with open(curLib) as fp:
|
||||
library = json.load(fp)
|
||||
|
||||
for tool in tools:
|
||||
toolNum = self.obj.Proxy.nextToolNumber()
|
||||
if library is not None:
|
||||
for toolBit in library["tools"]:
|
||||
|
||||
if toolBit["path"] == tool.File:
|
||||
toolNum = toolBit["nr"]
|
||||
|
||||
tc = PathToolControllerGui.Create(name=tool.Label, tool=tool, toolNumber=toolNum)
|
||||
self.obj.Proxy.addToolController(tc)
|
||||
selector = ToolBitSelector(compact=True)
|
||||
if not selector.exec_():
|
||||
return
|
||||
toolbit = selector.get_selected_tool()
|
||||
toolbit.attach_to_doc(FreeCAD.ActiveDocument)
|
||||
toolNum = self.obj.Proxy.nextToolNumber()
|
||||
tc = PathToolControllerGui.Create(name=toolbit.label, tool=toolbit.obj, toolNumber=toolNum)
|
||||
self.obj.Proxy.addToolController(tc)
|
||||
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
self.updateToolController()
|
||||
|
||||
@@ -67,7 +67,6 @@ class JobPreferencesPage:
|
||||
policy = str(self.form.cboOutputPolicy.currentText())
|
||||
Path.Preferences.setOutputFileDefaults(path, policy)
|
||||
self.saveStockSettings()
|
||||
self.saveToolsSettings()
|
||||
|
||||
def saveStockSettings(self):
|
||||
if self.form.stockGroup.isChecked():
|
||||
@@ -116,9 +115,6 @@ class JobPreferencesPage:
|
||||
else:
|
||||
Path.Preferences.setDefaultStockTemplate("")
|
||||
|
||||
def saveToolsSettings(self):
|
||||
Path.Preferences.setToolsSettings(self.form.toolsAbsolutePaths.isChecked())
|
||||
|
||||
def selectComboEntry(self, widget, text):
|
||||
index = widget.findText(text, QtCore.Qt.MatchFixedString)
|
||||
if index >= 0:
|
||||
@@ -189,7 +185,6 @@ class JobPreferencesPage:
|
||||
self.form.tbOutputFile.clicked.connect(self.browseOutputFile)
|
||||
|
||||
self.loadStockSettings()
|
||||
self.loadToolSettings()
|
||||
|
||||
def loadStockSettings(self):
|
||||
stock = Path.Preferences.defaultStockTemplate()
|
||||
@@ -283,9 +278,6 @@ class JobPreferencesPage:
|
||||
self.form.stockCreateBox.hide()
|
||||
self.form.stockCreateCylinder.hide()
|
||||
|
||||
def loadToolSettings(self):
|
||||
self.form.toolsAbsolutePaths.setChecked(Path.Preferences.toolsStoreAbsolutePaths())
|
||||
|
||||
def getPostProcessor(self, name):
|
||||
if not name in self.processor:
|
||||
processor = PostProcessorFactory.get_post_processor(None, name)
|
||||
|
||||
@@ -368,8 +368,8 @@ class CAMSanity:
|
||||
)
|
||||
continue # skip old-style tools
|
||||
tooldata = data.setdefault(str(TC.ToolNumber), {})
|
||||
bitshape = tooldata.setdefault("BitShape", "")
|
||||
if bitshape not in ["", TC.Tool.BitShape]:
|
||||
bitshape = tooldata.setdefault("ShapeType", "")
|
||||
if bitshape not in ["", TC.Tool.ShapeType]:
|
||||
data["squawkData"].append(
|
||||
self.squawk(
|
||||
"CAMSanity",
|
||||
@@ -379,18 +379,18 @@ class CAMSanity:
|
||||
squawkType="CAUTION",
|
||||
)
|
||||
)
|
||||
tooldata["bitShape"] = TC.Tool.BitShape
|
||||
tooldata["bitShape"] = TC.Tool.ShapeType
|
||||
tooldata["description"] = TC.Tool.Label
|
||||
tooldata["manufacturer"] = ""
|
||||
tooldata["url"] = ""
|
||||
tooldata["inspectionNotes"] = ""
|
||||
tooldata["diameter"] = str(TC.Tool.Diameter)
|
||||
tooldata["shape"] = TC.Tool.ShapeName
|
||||
tooldata["shape"] = TC.Tool.ShapeType
|
||||
|
||||
tooldata["partNumber"] = ""
|
||||
|
||||
if os.path.isfile(TC.Tool.BitShape):
|
||||
imagedata = TC.Tool.Proxy.getBitThumbnail(TC.Tool)
|
||||
if os.path.isfile(TC.Tool.ShapeType):
|
||||
imagedata = TC.Tool.Proxy.get_thumbnail()
|
||||
else:
|
||||
imagedata = None
|
||||
data["squawkData"].append(
|
||||
|
||||
Reference in New Issue
Block a user