Add support for ToolBit to ToolController
This commit is contained in:
@@ -113,6 +113,12 @@ class ViewProvider:
|
||||
action.triggered.connect(self.setEdit)
|
||||
menu.addAction(action)
|
||||
|
||||
def claimChildren(self):
|
||||
obj = self.vobj.Object
|
||||
if not obj.Proxy.usesLegacyTool(obj):
|
||||
return [obj.Tool]
|
||||
return []
|
||||
|
||||
def Create(name = 'Default Tool', tool=None, toolNumber=1):
|
||||
PathLog.track(tool, toolNumber)
|
||||
|
||||
@@ -153,7 +159,12 @@ class ToolControllerEditor(object):
|
||||
self.vertRapid = PathGui.QuantitySpinBox(self.form.vertRapid, obj, 'VertRapid')
|
||||
self.horizRapid = PathGui.QuantitySpinBox(self.form.horizRapid, obj, 'HorizRapid')
|
||||
|
||||
self.editor = PathToolEdit.ToolEditor(obj.Tool, self.form.toolEditor)
|
||||
if obj.Proxy.usesLegacyTool(obj):
|
||||
self.editor = PathToolEdit.ToolEditor(obj.Tool, self.form.toolEditor)
|
||||
else:
|
||||
self.editor = None
|
||||
self.form.toolBox.widget(1).hide()
|
||||
self.form.toolBox.removeItem(1)
|
||||
|
||||
def updateUi(self):
|
||||
tc = self.obj
|
||||
@@ -168,7 +179,8 @@ class ToolControllerEditor(object):
|
||||
if index >= 0:
|
||||
self.form.spindleDirection.setCurrentIndex(index)
|
||||
|
||||
self.editor.updateUI()
|
||||
if self.editor:
|
||||
self.editor.updateUI()
|
||||
|
||||
def updateToolController(self):
|
||||
tc = self.obj
|
||||
@@ -182,8 +194,9 @@ class ToolControllerEditor(object):
|
||||
tc.SpindleSpeed = self.form.spindleSpeed.value()
|
||||
tc.SpindleDir = self.form.spindleDirection.currentText()
|
||||
|
||||
self.editor.updateTool()
|
||||
tc.Tool = self.editor.tool
|
||||
if self.editor:
|
||||
self.editor.updateTool()
|
||||
tc.Tool = self.editor.tool
|
||||
|
||||
except Exception as e: # pylint: disable=broad-except
|
||||
PathLog.error(translate("PathToolController", "Error updating TC: %s") % e)
|
||||
@@ -196,7 +209,8 @@ class ToolControllerEditor(object):
|
||||
self.form.blockSignals(False)
|
||||
|
||||
def setupUi(self):
|
||||
self.editor.setupUI()
|
||||
if self.editor:
|
||||
self.editor.setupUI()
|
||||
|
||||
self.form.tcName.editingFinished.connect(self.refresh)
|
||||
self.form.horizFeed.editingFinished.connect(self.refresh)
|
||||
@@ -219,13 +233,13 @@ class TaskPanel:
|
||||
|
||||
FreeCADGui.ActiveDocument.resetEdit()
|
||||
FreeCADGui.Control.closeDialog()
|
||||
if self.toolrep is not None:
|
||||
if self.toolrep:
|
||||
FreeCAD.ActiveDocument.removeObject(self.toolrep.Name)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
def reject(self):
|
||||
FreeCADGui.Control.closeDialog()
|
||||
if self.toolrep is not None:
|
||||
if self.toolrep:
|
||||
FreeCAD.ActiveDocument.removeObject(self.toolrep.Name)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
@@ -236,11 +250,12 @@ class TaskPanel:
|
||||
def setFields(self):
|
||||
self.editor.updateUi()
|
||||
|
||||
tool = self.obj.Tool
|
||||
radius = tool.Diameter / 2
|
||||
length = tool.CuttingEdgeHeight
|
||||
t = Part.makeCylinder(radius, length)
|
||||
self.toolrep.Shape = t
|
||||
if self.toolrep:
|
||||
tool = self.obj.Tool
|
||||
radius = tool.Diameter / 2
|
||||
length = tool.CuttingEdgeHeight
|
||||
t = Part.makeCylinder(radius, length)
|
||||
self.toolrep.Shape = t
|
||||
|
||||
def edit(self, item, column):
|
||||
# pylint: disable=unused-argument
|
||||
@@ -253,9 +268,10 @@ class TaskPanel:
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
def setupUi(self):
|
||||
t = Part.makeCylinder(1, 1)
|
||||
self.toolrep = FreeCAD.ActiveDocument.addObject("Part::Feature", "tool")
|
||||
self.toolrep.Shape = t
|
||||
if self.editor.editor:
|
||||
t = Part.makeCylinder(1, 1)
|
||||
self.toolrep = FreeCAD.ActiveDocument.addObject("Part::Feature", "tool")
|
||||
self.toolrep.Shape = t
|
||||
|
||||
self.setFields()
|
||||
self.editor.setupUi()
|
||||
|
||||
Reference in New Issue
Block a user