SVG->Shape error: Part.BSplineCurve object has no attribute 'Axis'

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Posts: 63
Joined: Tue May 07, 2019 8:49 pm

SVG->Shape error: Part.BSplineCurve object has no attribute 'Axis'

Postby falviani » Thu Dec 19, 2019 5:50 pm


My setup:
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18644 (Git)
Build type: Release
Branch: master
Hash: 481870be2b48ef95b59acf1440b069d42b6fad23
Python version: 3.6.7
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)

I created a document, then in the draft WB imported an SVG as geometry; the image was created and simplified in InKscape. After selecting all parts I converted the path objects to sketches and merged them. With the merged sketch selected I created a job, set up the tool, etc. I learned this approach (use an engrave op with the sketch as the only object in the file - thanks ChrisB!) when trying to create a grid for a wasteboard.

Trying to create an engrave operation just complains with the error: Unnamed#Engrave: 'Part.BSplineCurve' object has no attribute 'Axis'

Editing the sketch shows that it is composed entirely of bsplines. Is there a reasonable way to convert them to curves so I can continue (or some other fix)?

Thanks in advance,
SCG Text Test.FCStd
(55.47 KiB) Downloaded 3 times
Posts: 21463
Joined: Tue Mar 17, 2015 9:14 am

Re: SVG->Shape error: Part.BSplineCurve object has no attribute 'Axis'

Postby chrisb » Thu Dec 19, 2019 9:22 pm

If you have the font available you should use engrave directly on the ShapeString; it was made for that. Otherwise you can use this script. Change the precision in Line 47 from 0.2 to a value matching your needs.
(1.71 KiB) Downloaded 3 times