What I did:
- create shapestring
- try to engrave that, got
Code: Select all
Traceback (most recent call last): File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathUtils.py", line 64, in new_function res = function(*args, **kwargs) File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathOp.py", line 518, in execute result = self.opExecute(obj) # pylint: disable=assignment-from-no-return File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathEngrave.py", line 130, in opExecute self.buildpathocc(obj, shape.Wires, self.getZValues(obj)) File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathEngraveBase.py", line 78, in buildpathocc edges = copy.copy(PathOpTools.orientWire(offset).Edges) File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathOpTools.py", line 145, in orientWire return PathGeom.flipWire(wire) File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathGeom.py", line 557, in flipWire return Part.Wire(edges) <class 'TypeError'>: item is not a shape 2.46e-07 <App> Document.cpp(3462): Failed to recompute Unnamed#Engrave: item is not a shape
- do a draft -> draft to sketch
- attempt to engrave again, got
Code: Select all
Traceback (most recent call last): File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathUtils.py", line 64, in new_function res = function(*args, **kwargs) File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathOp.py", line 518, in execute result = self.opExecute(obj) # pylint: disable=assignment-from-no-return File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathEngrave.py", line 130, in opExecute self.buildpathocc(obj, shape.Wires, self.getZValues(obj)) File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathEngraveBase.py", line 98, in buildpathocc for cmd in PathGeom.cmdsForEdge(edge): File "/usr/share/freecad-daily/Mod/Path/PathScripts/PathGeom.py", line 260, in cmdsForEdge if edge.Curve.Axis.z < 0: <class 'AttributeError'>: 'Part.BSplineCurve' object has no attribute 'Axis' 165.645 <App> Document.cpp(3462): Failed to recompute shapestring_test#Engrave: 'Part.BSplineCurve' object has no attribute 'Axis'
- add a check for the Axis attribute so now it looks like this:
Now there is no more error, but the output is ... more artistic than I'd like:
Code: Select all
if hasattr(edge.Curve, 'Axis') and edge.Curve.Axis.z < 0:
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.5.2
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)