Draft Draft2Sketch/ru: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Shape2DView|Shape 2D View]]
|[[Draft_Array|Array]]
|[[Draft_Slope|Slope]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Shape2DView.svg
|IconL=Draft_WireToBSpline.svg
|IconR=Draft_Slope.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Array.svg
}}
}}


Line 13: Line 14:
|Name=Draft Draft2Sketch
|Name=Draft Draft2Sketch
|Name/ru=Draft Draft2Sketch
|Name/ru=Draft Draft2Sketch
|MenuLocation=Черчение → Преобразовать в эскиз
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
|Workbenches=[[Draft_Workbench/ru|Draft]], [[Arch_Workbench/ru|Arch]]
|MenuLocation=Черчение → Преобразовать в эскиз}}
|SeeAlso=[[Sketcher_Workbench/ru|Sketcher]], [[PartDesign_Workbench/ru|PartDesign]]
}}
</div>
</div>

==Description==


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
== Описание ==
== Описание ==
Этот инструмент преобразует [[Draft Module | Draft objects]] в [[Sketcher Module|Sketcher objects]] и наоборот.
Этот инструмент преобразует [[Draft Workbench | Draft objects]] в [[Sketcher_Workbench|Sketcher objects]] и наоборот.
</div>
</div>


[[Image:Draft Draft2Sketch example.jpg||480px]]
[[Image:Draft_Draft2Sketch_example.png]]
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
[[Image:Draft Draft2Sketch example.jpg||480px]]
[[Image:Draft Draft2Sketch example.jpg||480px]]
</div>
</div>

==Usage==


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 33: Line 40:
</div>
</div>


Notes:
==Notes==
* If you convert a [[Image:Draft_Wire.svg|16px]] [[Draft Wire]], the resulting sketch will use point constraints for the nodes.
* If you convert a [[Image:Draft_Rectangle.svg|16px]] [[Draft Rectangle]], the resulting sketch will use point constraints for the corners, and horizontal and vertical constraints for the edges.
* If you convert a [[Image:Draft_BezCurve.svg|16px]] [[Draft BezCurve]], the resulting sketch will be approximated by a [[Image:Sketcher_CreateBSpline.svg|16px]] [[Sketcher CreateBSpline|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.


* Non-Draft objects that are totally planar can also be converted.
===Limitations===
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.
* The command can only handle objects made up out of straight lines, circular arcs, elliptical arcs, B-Splines and Bézier curves.
* [[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].
* [https://forum.freecadweb.org/viewtopic.php?f=3&t=58781#p505207 This other forum topic] contains a macro for such a conversion.


==Scripting==
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 CreateArc|Sketcher Arcs]]. See the forum thread [https://forum.freecadweb.org/viewtopic.php?f=9&t=25082 BSplines to Shape2DView and Sketcher] for more information.


See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
As of {{VersionPlus|0.17}} the conversion from [[Draft BSpline]] to [[Sketcher CreateBSpline|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.


To convert objects to a sketch use the {{incode|make_sketch}} method ({{Version|0.19}}) of the Draft module. This method replaces the deprecated {{incode|makeSketch}} method.
==Options==


{{Code|code=
There are no options for this tool. Either it works with the selected object or not.
sketch = make_sketch(objects_list, autoconstraints=False, addTo=None, delete=False, name="Sketch", radiusPrecision=-1, tol=1e-3)
}}


* {{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.
==Scripting==
* If {{incode|autoconstraints}} is {{incode|True}} coincident constraints are added to nodes belonging to the same source object.
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].
* {{incode|addTo}} is the existing sketch object the geometry is added to. If not supplied a new sketch is created.
* If {{incode|delete}} is {{incode|True}} the source objects are deleted.
* {{incode|name}} is the name for the new sketch.
* {{incode|radiusPrecision}} indicates how radius constraints should be handled:
** Use {{incode|-1}} to disable radius constraints.
** Use {{incode|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.
* {{incode|tol}} is the tolerance used to check if shapes are planar and co-planar. Use {{incode|-1}} for a strict analysis.
* {{incode|sketch}} is returned with the sketch object.


To convert a sketch to Draft objects use the {{incode|draftify}} method of the Draft module.
Internally the Draft2Sketch tool uses two methods to convert back and forth from Draft to Sketch.


Convert objects to Sketch:
{{Code|code=
{{Code|code=
Draft.makeSketch(objectslist, autoconstraints=False, addTo=None, delete=False, name="Sketch", radiusPrecision=-1)
draftify(objectslist, makeblock=False, delete=True)
}}
}}


* {{incode|objectslist}} contains the objects to be converted. It is either a single object or a list of objects.
Convert objects to Draft:
* 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.

Example:

{{Code|code=
{{Code|code=
import FreeCAD as App
Draft.draftify(objectslist, makeblock=False, delete=True)
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()
}}
}}



{{Docnav
{{Docnav
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Shape2DView|Shape 2D View]]
|[[Draft_Array|Array]]
|[[Draft_Slope|Slope]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Shape2DView.svg
|IconL=Draft_WireToBSpline.svg
|IconR=Draft_Slope.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Array.svg
}}
}}


{{Draft Tools navi{{#translation:}}}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 22:24, 16 September 2021

Draft Draft2Sketch

Системное название
Draft Draft2Sketch
Расположение в меню
Черчение → Преобразовать в эскиз
Верстаки
Draft, Arch
Быстрые клавиши
Нет
Представлено в версии
-
См. также
Sketcher, PartDesign

Description

Описание

Этот инструмент преобразует Draft objects в Sketcher objects и наоборот.

Usage

Использование

  1. Выберите черновик или эскиз
  2. Нажмите кнопку Draft Draft2Sketch

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()