Path: more bug fixes

This commit is contained in:
sliptonic
2017-03-16 12:30:43 -05:00
committed by Yorik van Havre
parent b0745c96ef
commit d3fb9fbfe2
6 changed files with 123 additions and 119 deletions

View File

@@ -172,8 +172,7 @@ class ObjectPocket:
"""Build the pocket path using libarea algorithm"""
import PathScripts.PathAreaUtils as PathAreaUtils
from PathScripts.PathUtils import depth_params
FreeCAD.Console.PrintMessage(translate("PathPocket", "Generating toolpath with libarea offsets.\n"))
PathLog.debug("Generating toolpath with libarea offsets.\n")
depthparams = depth_params(
obj.ClearanceHeight.Value,
@@ -222,7 +221,7 @@ class ObjectPocket:
import DraftGeomUtils
from PathScripts.PathUtils import fmt, helicalPlunge, rampPlunge, depth_params
FreeCAD.Console.PrintMessage(translate("PathPocket", "Generating toolpath with OCC native offsets.\n"))
PathLog.debug("Generating toolpath with OCC native offsets.\n")
extraoffset = obj.MaterialAllowance.Value
# Build up the offset loops

View File

@@ -203,12 +203,6 @@ print "y - " + str(point.y)
lead_in_line_len = 0.0
lead_out_line_len = 0.0
'''
Right here, I need to know the Holding Tags group from the tree that refers to this profile operation and build up the tags for PathKurve Utils.
I need to access the location vector, length, angle in radians and height.
'''
depthparams = depth_params(
obj.ClearanceHeight.Value,
obj.SafeHeight.Value, obj.StartDepth.Value, obj.StepDown.Value, 0.0,
@@ -244,7 +238,7 @@ print "y - " + str(point.y)
self.radius = tool.Diameter/2
output += "(" + obj.Label + ")"
if obj.Side != "On":
if obj.UseComp:
output += "(Compensated Tool Path. Diameter: " + str(self.radius * 2) + ")"
else:
output += "(Uncompensated Tool Path)"
@@ -386,12 +380,13 @@ class CommandPathProfile:
FreeCADGui.doCommand('obj.SafeHeight = ' + str(ztop + 2.0))
FreeCADGui.doCommand('obj.Side = "Left"')
FreeCADGui.doCommand('obj.OffsetExtra = 0.0')
FreeCADGui.doCommand('obj.Direction = "CCW"')
FreeCADGui.doCommand('obj.UseComp = False')
FreeCADGui.doCommand('obj.Direction = "CW"')
FreeCADGui.doCommand('obj.UseComp = True')
FreeCADGui.doCommand('obj.processHoles = False')
FreeCADGui.doCommand('obj.processPerimeter = True')
FreeCADGui.doCommand('PathScripts.PathProfile._ViewProviderProfile(obj.ViewObject)')
FreeCADGui.doCommand('PathScripts.PathUtils.addToJob(obj)')
FreeCADGui.doCommand('obj.ToolController = PathScripts.PathUtils.findToolController(obj)')
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()

View File

@@ -188,12 +188,6 @@ print("y - " + str(point.y))
lead_in_line_len = 0.0
lead_out_line_len = 0.0
'''
Right here, I need to know the Holding Tags group from the tree that refers to this profile operation and build up the tags for PathKurve Utils.
I need to access the location vector, length, angle in radians and height.
'''
depthparams = depth_params(
obj.ClearanceHeight.Value,
obj.SafeHeight.Value, obj.StartDepth.Value, obj.StepDown.Value, 0.0,
@@ -228,7 +222,7 @@ print("y - " + str(point.y))
self.radius = tool.Diameter/2
output += "(" + obj.Label + ")"
if obj.Side != "On":
if obj.UseComp:
output += "(Compensated Tool Path. Diameter: " + str(self.radius * 2) + ")"
else:
output += "(Uncompensated Tool Path)"
@@ -358,8 +352,10 @@ class CommandPathProfileEdges:
FreeCADGui.doCommand('obj.Side = "On"')
FreeCADGui.doCommand('obj.OffsetExtra = 0.0')
FreeCADGui.doCommand('obj.Direction = "CW"')
FreeCADGui.doCommand('obj.UseComp = False')
FreeCADGui.doCommand('obj.UseComp = True')
FreeCADGui.doCommand('PathScripts.PathUtils.addToJob(obj)')
FreeCADGui.doCommand('obj.ToolController = PathScripts.PathUtils.findToolController(obj)')
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()
@@ -451,7 +447,9 @@ class TaskPanel:
index = self.form.cutSide.findText(
self.obj.Side, QtCore.Qt.MatchFixedString)
if index >= 0:
self.form.cutSide.blockSignals(True)
self.form.cutSide.setCurrentIndex(index)
self.form.cutSide.blockSignals(False)
index = self.form.direction.findText(
self.obj.Direction, QtCore.Qt.MatchFixedString)

View File

@@ -233,12 +233,16 @@ def findToolController(obj, name=None):
if no controller is found, returns None'''
PathLog.track('name: {}'.format(name))
#First check if a user has selected a tool controller in the tree.
c = None
#First check if a user has selected a tool controller in the tree. Return the first one and remove all from selection
for sel in FreeCADGui.Selection.getSelectionEx():
if hasattr(sel.Object, 'Proxy'):
if isinstance(sel.Object.Proxy, PathScripts.PathLoadTool.LoadTool):
return sel.Object
if c is None:
c = sel.Object
FreeCADGui.Selection.removeSelection(sel.Object)
if c is not None:
return c
controllers = getToolControllers(obj)

View File

@@ -49,15 +49,19 @@ class PathPostTestCases(unittest.TestCase):
PathScripts.PathJob.ObjectPathJob(job)
job.Base = self.doc.Box
PathScripts.PathLoadTool.CommandPathLoadTool.Create(job.Name, False)
toolLib = job.Group[0]
tool1 = Path.Tool()
tool1.Diameter = 5.0
tool1.Name = "Default Tool"
tool1.CuttingEdgeHeight = 15.0
tool1.ToolType = "EndMill"
tool1.Material = "HighSpeedSteel"
job.Tooltable.addTools(tool1)
toolLib.ToolNumber = 1
tc = FreeCAD.ActiveDocument.addObject("Path::FeaturePython",'TC')
PathScripts.PathLoadTool.LoadTool(tc)
PathScripts.PathUtils.addToJob(tc, "Job")
tc.Tooltable.setTool(2, tool1)
tc.ToolNumber = 2
self.failUnless(True)
self.doc.getObject("TC").ToolNumber = 2
@@ -73,6 +77,7 @@ class PathPostTestCases(unittest.TestCase):
contour.SafeHeight = 12.0
contour.OffsetExtra = 0.0
contour.Direction = 'CW'
contour.ToolController = tc
contour.UseComp = True
PathScripts.PathUtils.addToJob(contour)
PathScripts.PathContour.ObjectContour.setDepths(contour.Proxy, contour)

View File

@@ -1,103 +1,106 @@
G17 G90
G21
(TC: UNDEFINED TOOL)
(Default_Tool)
M6 T1.0
M3 S0.0000
(TC)
M6 T2.0
M3 S0.0000
(Contour :TC)
(Contour)
(Uncompensated Tool Path)
G0 Z15.0000
G00 X-0.2500 Y0.0000
G00 X-2.5000 Y0.0000
G00 Z23.0000
G01 X-0.2500 Y0.0000 Z9.0000 F0.00
G01 X-0.2500 Y10.0000 Z9.0000 F0.00
G02 X0.0000 Y10.2500 Z9.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z9.0000 F0.00
G02 X10.2500 Y10.0000 Z9.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z9.0000 F0.00
G02 X10.0000 Y-0.2500 Z9.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z9.0000 F0.00
G02 X-0.2500 Y0.0000 Z9.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z8.0000 F0.00
G01 X-0.2500 Y10.0000 Z8.0000 F0.00
G02 X0.0000 Y10.2500 Z8.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z8.0000 F0.00
G02 X10.2500 Y10.0000 Z8.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z8.0000 F0.00
G02 X10.0000 Y-0.2500 Z8.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z8.0000 F0.00
G02 X-0.2500 Y0.0000 Z8.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z7.0000 F0.00
G01 X-0.2500 Y10.0000 Z7.0000 F0.00
G02 X0.0000 Y10.2500 Z7.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z7.0000 F0.00
G02 X10.2500 Y10.0000 Z7.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z7.0000 F0.00
G02 X10.0000 Y-0.2500 Z7.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z7.0000 F0.00
G02 X-0.2500 Y0.0000 Z7.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z6.0000 F0.00
G01 X-0.2500 Y10.0000 Z6.0000 F0.00
G02 X0.0000 Y10.2500 Z6.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z6.0000 F0.00
G02 X10.2500 Y10.0000 Z6.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z6.0000 F0.00
G02 X10.0000 Y-0.2500 Z6.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z6.0000 F0.00
G02 X-0.2500 Y0.0000 Z6.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z5.0000 F0.00
G01 X-0.2500 Y10.0000 Z5.0000 F0.00
G02 X0.0000 Y10.2500 Z5.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z5.0000 F0.00
G02 X10.2500 Y10.0000 Z5.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z5.0000 F0.00
G02 X10.0000 Y-0.2500 Z5.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z5.0000 F0.00
G02 X-0.2500 Y0.0000 Z5.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z4.0000 F0.00
G01 X-0.2500 Y10.0000 Z4.0000 F0.00
G02 X0.0000 Y10.2500 Z4.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z4.0000 F0.00
G02 X10.2500 Y10.0000 Z4.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z4.0000 F0.00
G02 X10.0000 Y-0.2500 Z4.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z4.0000 F0.00
G02 X-0.2500 Y0.0000 Z4.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z3.0000 F0.00
G01 X-0.2500 Y10.0000 Z3.0000 F0.00
G02 X0.0000 Y10.2500 Z3.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z3.0000 F0.00
G02 X10.2500 Y10.0000 Z3.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z3.0000 F0.00
G02 X10.0000 Y-0.2500 Z3.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z3.0000 F0.00
G02 X-0.2500 Y0.0000 Z3.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z2.0000 F0.00
G01 X-0.2500 Y10.0000 Z2.0000 F0.00
G02 X0.0000 Y10.2500 Z2.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z2.0000 F0.00
G02 X10.2500 Y10.0000 Z2.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z2.0000 F0.00
G02 X10.0000 Y-0.2500 Z2.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z2.0000 F0.00
G02 X-0.2500 Y0.0000 Z2.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z1.0000 F0.00
G01 X-0.2500 Y10.0000 Z1.0000 F0.00
G02 X0.0000 Y10.2500 Z1.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z1.0000 F0.00
G02 X10.2500 Y10.0000 Z1.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z1.0000 F0.00
G02 X10.0000 Y-0.2500 Z1.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z1.0000 F0.00
G02 X-0.2500 Y0.0000 Z1.0000 I0.0000 J0.2500 F0.00
G01 X-0.2500 Y0.0000 Z0.0000 F0.00
G01 X-0.2500 Y10.0000 Z0.0000 F0.00
G02 X0.0000 Y10.2500 Z0.0000 I0.2500 J0.0000 F0.00
G01 X10.0000 Y10.2500 Z0.0000 F0.00
G02 X10.2500 Y10.0000 Z0.0000 I0.0000 J-0.2500 F0.00
G01 X10.2500 Y0.0000 Z0.0000 F0.00
G02 X10.0000 Y-0.2500 Z0.0000 I-0.2500 J0.0000 F0.00
G01 X0.0000 Y-0.2500 Z0.0000 F0.00
G02 X-0.2500 Y0.0000 Z0.0000 I0.0000 J0.2500 F0.00
G01 X-2.5000 Y0.0000 Z9.0000 F0.00
G01 X-2.5000 Y10.0000 Z9.0000 F0.00
G02 X0.0000 Y12.5000 Z9.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z9.0000 F0.00
G02 X12.5000 Y10.0000 Z9.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z9.0000 F0.00
G02 X10.0000 Y-2.5000 Z9.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z9.0000 F0.00
G02 X-2.5000 Y0.0000 Z9.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z8.0000 F0.00
G01 X-2.5000 Y10.0000 Z8.0000 F0.00
G02 X0.0000 Y12.5000 Z8.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z8.0000 F0.00
G02 X12.5000 Y10.0000 Z8.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z8.0000 F0.00
G02 X10.0000 Y-2.5000 Z8.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z8.0000 F0.00
G02 X-2.5000 Y0.0000 Z8.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z7.0000 F0.00
G01 X-2.5000 Y10.0000 Z7.0000 F0.00
G02 X0.0000 Y12.5000 Z7.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z7.0000 F0.00
G02 X12.5000 Y10.0000 Z7.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z7.0000 F0.00
G02 X10.0000 Y-2.5000 Z7.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z7.0000 F0.00
G02 X-2.5000 Y0.0000 Z7.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z6.0000 F0.00
G01 X-2.5000 Y10.0000 Z6.0000 F0.00
G02 X0.0000 Y12.5000 Z6.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z6.0000 F0.00
G02 X12.5000 Y10.0000 Z6.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z6.0000 F0.00
G02 X10.0000 Y-2.5000 Z6.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z6.0000 F0.00
G02 X-2.5000 Y0.0000 Z6.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z5.0000 F0.00
G01 X-2.5000 Y10.0000 Z5.0000 F0.00
G02 X0.0000 Y12.5000 Z5.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z5.0000 F0.00
G02 X12.5000 Y10.0000 Z5.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z5.0000 F0.00
G02 X10.0000 Y-2.5000 Z5.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z5.0000 F0.00
G02 X-2.5000 Y0.0000 Z5.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z4.0000 F0.00
G01 X-2.5000 Y10.0000 Z4.0000 F0.00
G02 X0.0000 Y12.5000 Z4.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z4.0000 F0.00
G02 X12.5000 Y10.0000 Z4.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z4.0000 F0.00
G02 X10.0000 Y-2.5000 Z4.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z4.0000 F0.00
G02 X-2.5000 Y0.0000 Z4.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z3.0000 F0.00
G01 X-2.5000 Y10.0000 Z3.0000 F0.00
G02 X0.0000 Y12.5000 Z3.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z3.0000 F0.00
G02 X12.5000 Y10.0000 Z3.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z3.0000 F0.00
G02 X10.0000 Y-2.5000 Z3.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z3.0000 F0.00
G02 X-2.5000 Y0.0000 Z3.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z2.0000 F0.00
G01 X-2.5000 Y10.0000 Z2.0000 F0.00
G02 X0.0000 Y12.5000 Z2.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z2.0000 F0.00
G02 X12.5000 Y10.0000 Z2.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z2.0000 F0.00
G02 X10.0000 Y-2.5000 Z2.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z2.0000 F0.00
G02 X-2.5000 Y0.0000 Z2.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z1.0000 F0.00
G01 X-2.5000 Y10.0000 Z1.0000 F0.00
G02 X0.0000 Y12.5000 Z1.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z1.0000 F0.00
G02 X12.5000 Y10.0000 Z1.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z1.0000 F0.00
G02 X10.0000 Y-2.5000 Z1.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z1.0000 F0.00
G02 X-2.5000 Y0.0000 Z1.0000 I0.0000 J2.5000 F0.00
G01 X-2.5000 Y0.0000 Z0.0000 F0.00
G01 X-2.5000 Y10.0000 Z0.0000 F0.00
G02 X0.0000 Y12.5000 Z0.0000 I2.5000 J0.0000 F0.00
G01 X10.0000 Y12.5000 Z0.0000 F0.00
G02 X12.5000 Y10.0000 Z0.0000 I0.0000 J-2.5000 F0.00
G01 X12.5000 Y0.0000 Z0.0000 F0.00
G02 X10.0000 Y-2.5000 Z0.0000 I-2.5000 J0.0000 F0.00
G01 X0.0000 Y-2.5000 Z0.0000 F0.00
G02 X-2.5000 Y0.0000 Z0.0000 I0.0000 J2.5000 F0.00
G00 Z15.0000
M05
G00 X-1.0 Y1.0