Draft Draft2Sketch/cs: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(9 intermediate revisions by 2 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
}}
}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{GuiCommand/cs|Name=Draft_Draft2Sketch|Name/cs=Kreslení Kreslení2Náčrt|Workbenches=[[Draft Module/cs|Kreslení]], [[Arch Module/cs|Architektura]]|MenuLocation=Kreslení -> Nákres do Náčrtu}}
{{GuiCommand/cs|Name=Draft_Draft2Sketch|Name/cs=Kreslení Kreslení2Náčrt|Workbenches=[[Draft_Workbench/cs|Kreslení]], [[Arch_Workbench/cs|Architektura]]|MenuLocation=Kreslení -> Nákres do Náčrtu}}
</div>
</div>

==Description==


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
==Popis==
==Popis==
Tento nástroj konvertuje [[Draft Module/cs|objekty Kreslení]] do [[Sketcher Module/cs|objektu Náčrt]] a naopak.
Tento nástroj konvertuje [[Draft_Workbench/cs|objekty Kreslení]] do [[Sketcher_Workbench/cs|objektu Náčrt]] a naopak.
</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 29: Line 34:
</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.

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.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
==Volby==
==Skriptování==
Není dostupné, podívejte se na dokumentaci [[Sketcher_Workbench/cs|Modulu Náčrt]] jak vytvořit náčrt pomocí skriptování.
* Jestliže konvertujete [[Draft Wire/cs|Drát]], budou vazby mezi body aplikovány do uzlů
* Jestliže konvertujete [[Draft Rectangle/cs|Obdélník]], budou vazby mezi body aplikovány do rohů a vodorovné a svislé vazby do hran
* Non-Draft objekty, které jsou zcela rovinné budou také konvertovány do náčrtů
</div>
</div>


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.
There are no options for this tool. Either it works with the selected object or not.


{{Code|code=
<div class="mw-translate-fuzzy">
sketch = make_sketch(objects_list, autoconstraints=False, addTo=None, delete=False, name="Sketch", radiusPrecision=-1, tol=1e-3)
==Skriptování==
}}
Není dostupné, podívejte se na dokumentaci [[Sketcher Module/cs|Modulu Náčrt]] jak vytvořit náčrt pomocí skriptování.
</div>


* {{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.
Internally the Draft2Sketch tool uses two methods to convert back and forth from Draft to Sketch.
* If {{incode|autoconstraints}} is {{incode|True}} coincident constraints are added to nodes belonging to the same source object.
* {{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.


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 20:58, 29 August 2021

Kreslení Kreslení2Náčrt

Umístění Menu
Kreslení -> Nákres do Náčrtu
Pracovní stoly
Kreslení, Architektura
Výchozí zástupce
Nikdo
Představen ve verzi
-
Viz také
Nikdo

Description

Popis

Tento nástroj konvertuje objekty Kreslení do objektu Náčrt a naopak.

Usage

Použití

  1. Vyberte objekt Kreslení nebo Náčrt
  2. Stiskněte tlačítko Kreslení2Náčrt

Notes

Scripting

Skriptování

Není dostupné, podívejte se na dokumentaci Modulu Náčrt jak vytvořit náčrt pomocí skriptování.

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