Created by: portnov
At present, when passing curves into FreeCAD API, we always convert them into NURBS, even when this is a "well-known" curve such as Line or Circle, for which FreeCAD has it's own representation. It works, but consequently in, for example, STEP file you see BSplineCurve where could of be Circle or Line. Theoretically, this can make manufacturing process unnecessarily complex in some cases.
With this PR, I add support of passing of SvCircle and SvLine to FreeCAD API as their FreeCAD's counterparts. So in STEP you will see circles and lines. Note: it seems, when doing Booleans, FreeCAD always converts everything to NURBS anyway. Even if you are cutting cylinder from cylinder, the result will be NURBS. But still, at least in simple cases we will preserve parametric forms.
Later, support for other types of FreeCAD native curves (ellipses, other conics, Bezier curves) can be added.
Preflight checklist
Put an x letter in each brackets when you're done this item:
-
Code changes complete. -
Code documentation complete. -
Documentation for users complete (or not required, if user never sees these changes). -
Manual testing done. -
Unit-tests implemented. -
Ready for merge.