Draft Draft2Sketch: Difference between revisions

From FreeCAD Documentation
(Removed 'In progress')
No edit summary
 
(11 intermediate revisions by 4 users not shown)
Line 6: Line 6:
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Slope|Slope]]
|[[Draft_Slope|Slope]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_WireToBSpline.svg
|IconL=Draft_WireToBSpline.svg
|IconR=Draft_Slope.svg
|IconR=Draft_Slope.svg
Line 15: Line 15:
{{GuiCommand
{{GuiCommand
|Name=Draft Draft2Sketch
|Name=Draft Draft2Sketch
|MenuLocation=Modification → Draft to Sketch
|MenuLocation=Modification → Draft to sketch
|Workbenches=[[Draft_Module|Draft]], [[Arch_Module|Arch]]
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]]
}}
}}


Line 22: Line 22:


<!--T:2-->
<!--T:2-->
The [[Image:Draft_Draft2Sketch.svg|24px]] '''Draft Draft2Sketch''' command converts Draft objects to [[Sketcher_NewSketch|Sketcher Sketches]] and vice versa.
The [[Image:Draft_Draft2Sketch.svg|24px]] '''Draft Draft2Sketch''' command converts [[Draft_Workbench|Draft]] objects to [[Sketcher_NewSketch|Sketcher Sketches]] and vice versa.


</translate>
</translate>
Line 35: Line 35:
# Optionally select one or more Draft objects or [[Sketcher_NewSketch|Sketcher Sketches]].
# Optionally select one or more Draft objects or [[Sketcher_NewSketch|Sketcher Sketches]].
# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_Draft2Sketch.svg|16px]] [[Draft_Draft2Sketch|Draft Draft2Sketch]]}} button.
#* Press the {{Button|[[Image:Draft_Draft2Sketch.svg|16px]] [[Draft_Draft2Sketch|Draft to sketch]]}} button.
#* Select the {{MenuCommand|Modification → [[Image:Draft_Draft2Sketch.svg|16px]] Draft to Sketch}} option from the menu.
#* Select the {{MenuCommand|Modification → [[Image:Draft_Draft2Sketch.svg|16px]] Draft to sketch}} option from the menu.
# If you have not yet selected an object: select an object in the [[3D_view|3D view]].
# If you have not yet selected an object: select an object in the [[3D_view|3D view]].
# A new object is created.
# A new object is created.


==Notes==
==Notes== <!--T:25-->


<!--T:10-->
<!--T:10-->
Line 47: Line 47:
* [[Draft_BezCurve|Draft BezCurves]] will be approximated by [[Sketcher_CreateBSpline|Sketcher BSplines]].
* [[Draft_BezCurve|Draft BezCurves]] will be approximated by [[Sketcher_CreateBSpline|Sketcher BSplines]].
* The external [[KicadStepUp_Workbench|KicadStepUp Workbench]] contains a command to convert a [[Draft_BSpline|Draft BSpline]] into a series of [[Sketcher_CreateArc|Sketcher Arcs]]. For more information see the forum topic [https://forum.freecadweb.org/viewtopic.php?f=9&t=25082 BSplines to Shape2DView and Sketcher].
* The external [[KicadStepUp_Workbench|KicadStepUp Workbench]] contains a command to convert a [[Draft_BSpline|Draft BSpline]] into a series of [[Sketcher_CreateArc|Sketcher Arcs]]. For more information see the forum topic [https://forum.freecadweb.org/viewtopic.php?f=9&t=25082 BSplines to Shape2DView and Sketcher].
* [https://forum.freecadweb.org/viewtopic.php?f=3&t=58781#p505207 This other forum topic] contains a macro for such a conversion.


==Scripting== <!--T:24-->
==Scripting== <!--T:24-->
Line 62: Line 63:
<translate>
<translate>


<!--T:26-->
* {{incode|objects_list}} contains the objects to be converted. It is either a single object or a list of objects. {{incode|Draft}} objects, {{incode|Part::Feature}} objects and {{incode|Part.Shape}} objects are supported.
* {{incode|objects_list}} contains the objects to be converted. It is either a single object or a list of objects. {{incode|Draft}} objects, {{incode|Part::Feature}} objects and {{incode|Part.Shape}} objects are supported.
* If {{incode|autoconstraints}} is {{incode|True}} coincident constraints are added to nodes belonging to the same source object.
* If {{incode|autoconstraints}} is {{incode|True}} coincident constraints are added to nodes belonging to the same source object.
Line 83: Line 85:
<translate>
<translate>


<!--T:27-->
* {{incode|objectslist}} contains the objects to be converted. It is either a single object or a list of objects.
* {{incode|objectslist}} contains the objects to be converted. It is either a single object or a list of objects.
* If {{incode|makeblock}} is {{incode|True}} the converted objects are grouped in a {{incode|Part::Part2DObject}}.
* If {{incode|makeblock}} is {{incode|True}} the converted objects are grouped in a {{incode|Part::Part2DObject}}.
* If {{incode|delete}} is {{incode|True}} the source objects are deleted.
* If {{incode|delete}} is {{incode|True}} the source objects are deleted.


<!--T:28-->
Example:
Example:


Line 113: Line 117:
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Slope|Slope]]
|[[Draft_Slope|Slope]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_WireToBSpline.svg
|IconL=Draft_WireToBSpline.svg
|IconR=Draft_Slope.svg
|IconR=Draft_Slope.svg

Latest revision as of 22:42, 5 December 2023

Draft Draft2Sketch

Menu location
Modification → Draft to sketch
Workbenches
Draft, Arch
Default shortcut
None
Introduced in version
-
See also
None

Description

The Draft Draft2Sketch command converts Draft objects to Sketcher Sketches and vice versa.

Converting Draft objects to Sketcher Sketches

Usage

  1. Optionally select one or more Draft objects or Sketcher Sketches.
  2. There are several ways to invoke the command:
    • Press the Draft to sketch button.
    • Select the Modification → Draft to sketch option from the menu.
  3. If you have not yet selected an object: select an object in the 3D view.
  4. A new object is created.

Notes

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To convert objects to a sketch use the make_sketch method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeSketch method.

sketch = make_sketch(objects_list, autoconstraints=False, addTo=None, delete=False, name="Sketch", radiusPrecision=-1, tol=1e-3)
  • objects_list contains the objects to be converted. It is either a single object or a list of objects. Draft objects, Part::Feature objects and Part.Shape objects are supported.
  • If autoconstraints is True coincident constraints are added to nodes belonging to the same source object.
  • addTo is the existing sketch object the geometry is added to. If not supplied a new sketch is created.
  • If delete is True the source objects are deleted.
  • name is the name for the new sketch.
  • radiusPrecision indicates how radius constraints should be handled:
    • Use -1 to disable radius constraints.
    • Use 0 to add individual radius constraints.
    • Use a positive number to round radii according to this precision, and to add equal constraints between curves with equal radii.
  • tol is the tolerance used to check if shapes are planar and co-planar. Use -1 for a strict analysis.
  • sketch is returned with the sketch object.

To convert a sketch to Draft objects use the draftify method of the Draft module.

draftify(objectslist, makeblock=False, delete=True)
  • objectslist contains the objects to be converted. It is either a single object or a list of objects.
  • If makeblock is True the converted objects are grouped in a Part::Part2DObject.
  • If delete is True the source objects are deleted.

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

rectangle = Draft.make_rectangle(2000, 1000)
circle = Draft.make_circle(500)
doc.recompute()

sketch_from_draft = Draft.make_sketch([rectangle, circle], autoconstraints=True, delete=False, radiusPrecision=0)
doc.recompute()

draft_from_sketch = Draft.draftify(sketch_from_draft, delete=False)
doc.recompute()