Difference between revisions of "Draft Draft2Sketch"
(Two methods added, makeSketch() and draftify(), that perform the conversion Draft<->Sketch)
|Line 50:||Line 50:|
the Draft2Sketch tool .
Revision as of 03:58, 22 August 2019
|Draft → Draft to Sketch|
|Introduced in version|
|Sketcher Workbench, PartDesign Workbench|
Converting Draft shapes into Sketcher shapes with constraints
How to use
- Select a Draft object or a Sketch.
- Press the button.
- If you convert a Draft Wire, the resulting sketch will use point constraints for the nodes.
- If you convert a Draft Rectangle, the resulting sketch will use point constraints for the corners, and horizontal and vertical constraints for the edges.
- If you convert a Draft BezCurve, the resulting sketch will be approximated by a Sketcher BSpline, as the Sketcher Workbench doesn't support Bezier curves currently.
- Non-Draft objects that are totally planar will also get converted to sketches.
The conversion of an object that cannot be represented with a combination of straight lines, circular arcs, and B-Splines will usually fail, that is, the item will not appear in the sketch.
In the past, a Draft BSpline couldn't be converted directly to a sketch. A tool to perform this conversion was developed for the KicadStepUp Workbench, which would take a Draft BSpline and convert it into a series of Sketcher Arcs. See the forum thread BSplines to Shape2DView and Sketcher for more information.
Since FreeCAD 0.17, the conversion from Draft BSpline to Sketcher BSpline is possible. However, converting a spline to a series of arcs may still be useful for exporting geometry to applications that don't support B-Splines, like KiCad.
There are no options for this tool. Either it works with the selected object or not.
Internally the Draft2Sketch tool uses two methods to convert back and forth from Draft to Sketch.
Convert objects to Sketch:
Draft.makeSketch(objectslist, autoconstraints=False, addTo=None, delete=False, name="Sketch", radiusPrecision=-1)
Convert objects to Draft:
Draft.draftify(objectslist, makeblock=False, delete=True)