Draft Workbench: Difference between revisions

From FreeCAD Documentation
(Marked this version for translation)
(45 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Page in progress}}
<languages/>
<languages/>
<translate>
<translate>

<!--T:32-->
<!--T:32-->
{{Docnav
{{Docnav
Line 20: Line 20:


<!--T:1-->
<!--T:1-->
The [[File:Workbench_Draft.svg|32px]] [[Draft_Module|Draft Workbench]] allows you to draw simple 2D objects, and offers several tools to modify them afterwards. It also provides tools to define a working plane, a grid, and a snapping system to precisely control the position of your geometry.
The [[File:Workbench_Draft.svg|32px]] '''Draft Workbench''' is primarily focused on the creation and modification of 2D objects in FreeCAD. But it is not restricted to the XY plane of the global coordinate system. Its objects can have any orientation and position in 3D space, and some Draft objects can either be planar or non-planar.


<!--T:29-->
<!--T:29-->
The created 2D objects can be used for general drafting in a way similar as is done with Inkscape or Autocad. These 2D shapes can also be used as the base components of 3D objects created with other workbenches, for example, the [[File:Workbench_Part.svg|32px]] [[Part_Workbench|Part]] and [[File:Workbench_Arch.svg|32px]] [[Arch_Workbench|Arch Workbenches]]. Conversion of Draft objects to [[File:Workbench_Sketcher.svg|32px]] [[Sketcher_Workbench|Sketches]] is also possible, which means that the shapes can also be used with the [[File:Workbench_PartDesign.svg|32px]] [[PartDesign_Workbench|PartDesign Workbench]] for the creation of solid bodies.
Draft objects can be used for general drafting, similar to what can be done with Inkscape or AutoCAD. But they can also form the base for the creation of 3D objects in other workbenches. A [[Draft_Wire|Draft Wire]] may define the path of an [[Arch_Wall|Arch Wall]], a [[Draft_Polygon|Draft Polygon]] can be extruded with [[Part_Extrude|Part Extrude]], etc. Many of the [[#Modification|Draft modifier tools]] can be applied to 2D and 3D objects created with other workbenches as well. You can, for example, [[Draft_Move|move]] a [[Sketcher_Workbench|Sketch]] or create a [[Draft_OrthoArray|Draft OrthoArray]] from a [[Part_Workbench|Part]] object.

<!--T:109-->
The Draft Workbench also provides tools to define a [[Draft_SelectPlane|working plane]], a [[Draft_Snap_Grid|grid]], and a [[Draft_Snap|snapping system]] to precisely control the position of geometry.


<!--T:30-->
<!--T:30-->
FreeCAD is primarily a 3D modelling application, and thus its 2D tools aren't as advanced as in other drawing programs. If your primary goal is the production of complex 2D drawings and [[DXF|DXF]] files, and you don't need 3D modelling, you may wish to consider a dedicated software program for technical drafting such as [https://en.wikipedia.org/wiki/LibreCAD LibreCAD], [https://en.wikipedia.org/wiki/QCad QCad], or others.
If your primary goal is the production of complex 2D drawings and [[DXF|DXF]] files, and you don't need 3D modelling, FreeCAD may not be the right choice for you. You may wish to consider a dedicated software program for technical drafting instead, such as [https://en.wikipedia.org/wiki/LibreCAD LibreCAD] or [https://en.wikipedia.org/wiki/QCad QCad].


</translate>
</translate>
[[Image:Draft_Workbench_Example.png|400px|Draft Workbench Example]]
[[Image:Draft_Workbench_Example.png]]
<translate>
<translate>
<!--T:110-->
{{Caption|The image shows the [[Draft_Snap_Grid|grid]] aligned with the XY plane.<br>
On the left, in white, several planar objects.<br>
On the right a non-planar [[Draft_Wire|Draft Wire]] used as the Path Object of a [[Draft_PathArray|Draft PathArray]].}}


== Drawing objects == <!--T:16-->
== Drafting == <!--T:111-->


<!--T:17-->
<!--T:112-->
* [[Image:Draft_Line.svg|32px]] [[Draft_Line|Line]]: creates a straight line.
These are tools for creating objects.


<!--T:18-->
<!--T:113-->
* [[Image:Draft_Line.svg|32px]] [[Draft_Line|Line]]: draws a line segment between two points.
* [[Image:Draft_Wire.svg|32px]] [[Draft_Wire|Polyline]]: creates a polyline, a sequence of several connected line segments.
* [[Image:Draft_Wire.svg|32px]] [[Draft_Wire|Polyline]]: draws a line made of multiple line segments (polyline).
* [[Image:Draft_Fillet.svg|32px]] [[Draft_Fillet|Fillet]]: draws a fillet (rounded corner) or a chamfer (straight line) between two simple [[Draft_Line|Lines]]. {{Version|0.19}}
* [[Image:Draft_Arc.svg|32px]] [[Draft_Arc|Arc]]: draws an arc segment from center, radius, start angle and end angle.
* [[Image:Draft_Arc_3Points.svg|32px]] [[Draft_Arc_3Points|Arc 3Points]]: draws a circular arc segment from three points that are located in the circumference. {{Version|0.19}}
* [[Image:Draft_Circle.svg|32px]] [[Draft_Circle|Circle]]: draws a circle from center and radius.
* [[Image:Draft_Ellipse.svg|32px]] [[Draft_Ellipse|Ellipse]]: draws an ellipse from two corner points.
* [[Image:Draft_Rectangle.svg|32px]] [[Draft_Rectangle|Rectangle]]: draws a rectangle from two corner points.
* [[Image:Draft_Polygon.svg|32px]] [[Draft_Polygon|Polygon]]: draws a regular polygon from center, radius, and number of sides.
* [[Image:Draft_BSpline.svg|32px]] [[Draft_BSpline|BSpline]]: draws a B-Spline from a series of points.
* [[Image:Draft_CubicBezCurve.svg|32px]] [[Draft_CubicBezCurve|Cubic Bezier Curve]]: draws a Bezier curve of third degree by dragging two points. {{Version|0.19}}
* [[Image:Draft_BezCurve.svg|32px]] [[Draft_BezCurve|Bezier Curve]]: draws a Bezier curve from a series of points.
* [[Image:Draft_Point.svg|32px]] [[Draft_Point|Point]]: inserts a point object.
* [[Image:Draft_Facebinder.svg|32px]] [[Draft_Facebinder|Facebinder]]: creates a new object from selected faces on existing objects.
* [[Image:Draft_ShapeString.svg|32px]] [[Draft_ShapeString|ShapeString]]: inserts a compound shape representing a text string at a given point.


== Annotation objects == <!--T:46-->
<!--T:114-->
* [[Image:Draft_Fillet.svg|32px]] [[Draft_Fillet|Fillet]]: creates a fillet, a rounded corner, or a chamfer, a straight edge, between two [[Draft_Line|Draft Lines]]. {{Version|0.19}}


<!--T:47-->
<!--T:115-->
* [[Image:Draft_Text.svg|32px]] [[Draft_Text|Text]]: draws a multi-line text annotation.
* [[Image:Draft_Arc.svg|32px]] Arc tools
* [[Image:Draft_Dimension.svg|32px]] [[Draft_Dimension|Dimension]]: draws a dimension annotation.
* [[Image:Draft_Label.svg|32px]] [[Draft_Label|Label]]: places a label with an arrow pointing to a selected element.
* [[Image:Draft_AnnotationStyleEditor.svg|32px]] [[Draft_AnnotationStyleEditor|Annotation style editor]]: opens an editor to change the annotation style of these objects. {{Version|0.19}}


== Modifying objects == <!--T:19-->
<!--T:116-->
:* [[Image:Draft_Arc.svg|32px]] [[Draft_Arc|Arc]]: creates a circular arc from a center, a radius, a start angle and an aperture angle.


<!--T:20-->
<!--T:117-->
:* [[Image:Draft_Arc_3Points.svg|32px]] [[Draft_Arc_3Points|Arc by 3 points]]: creates a circular arc from three points that define its circumference. {{Version|0.19}}
These are tools for modifying existing objects. They work on selected objects, but if no object is selected, you will be invited to select one.


<!--T:31-->
<!--T:118-->
* [[Image:Draft_Circle.svg|32px]] [[Draft_Circle|Circle]]: creates a circle from a center and a radius.
Many operation tools (move, rotate, array, etc.) also work on solid objects ([[Part_Workbench|Part]], [[PartDesign_Workbench|PartDesign]], [[Arch_Workbench|Arch]], etc.).


<!--T:21-->
<!--T:119-->
* [[Image:Draft_Move.svg|32px]] [[Draft_Move|Move]]: moves objects from one location to another.
* [[Image:Draft_Ellipse.svg|32px]] [[Draft_Ellipse|Ellipse]]: creates an ellipse from two points defining a rectangle in which the ellipse will fit.
* [[Image:Draft_Rotate.svg|32px]] [[Draft_Rotate|Rotate]]: rotates objects from a start angle to an end angle.
* [[Image:Draft_Scale.svg|32px]] [[Draft_Scale|Scale]]: scales selected objects around a base point.
* [[Image:Draft_Mirror.svg|32px]] [[Draft_Mirror|Mirror]]: mirrors the selected objects.
* [[Image:Draft_Offset.svg|32px]] [[Draft_Offset|Offset]]: offsets segments of an object a certain distance.
* [[Image:Draft_Trimex.svg|32px]] [[Draft_Trimex|Trim/Extend (Trimex)]]: trims or extends an object.
* [[Image:Draft_Stretch.svg|32px]] [[Draft_Stretch|Stretch]]: stretches the selected objects.


<!--T:52-->
<!--T:120-->
* [[Image:Draft_Clone.svg|32px]] [[Draft_Clone|Clone]]: clones the selected objects.
* [[Image:Draft_Rectangle.svg|32px]] [[Draft_Rectangle|Rectangle]]: creates a rectangle from two points.
* [[Image:Draft_Array.svg|32px]] Array tools.
** [[Image:Draft_OrthoArray.svg|32px]] [[Draft_OrthoArray|Ortho Array]]: creates an orthogonal array from the selected object. It can also create [[App_Link|App Link]] copies. {{Version|0.19}}
** [[File:Draft_PolarArray.svg|32px]] [[Draft_PolarArray|Polar Array]]: creates an array in a polar pattern, that is, sweeping an angle. It can also create [[App_Link|App Link]] copies. {{Version|0.19}}
** [[File:Draft_CircularArray.svg|32px]] [[Draft_CircularArray|Circular Array]]: creates an array in a circular pattern, that is, starting from a center and moving outwards radially. It can also create [[App_Link|App Link]] copies. {{Version|0.19}}
** [[Image:Draft_PathArray.svg|32px]] [[Draft_PathArray|Path Array]]: creates an array of objects by placing the copies along a path.
** [[Image:Draft_PathLinkArray.svg|32px]] [[Draft_PathLinkArray|Path LinkArray]]: like [[Image:Draft_PathArray.svg|32px]] [[Draft_PathArray|Path Array]], but creates [[App_Link|App Links]] instead of regular copies. {{Version|0.19}}
** [[Image:Draft_PointArray.svg|32px]] [[Draft_PointArray|Point Array]]: creates an array of objects by placing the copies at certain points.
** [[File:Draft_PointLinkArray.svg|32px]] [[Draft_PointLinkArray|Point LinkArray]]: like [[Image:Draft_PointArray.svg|32px]] [[Draft_PointArray|Point Array]], but creates [[App_Link|App Links]] instead of regular copies. {{Version|0.19}}


<!--T:53-->
<!--T:121-->
* [[Image:Draft_Edit.svg|32px]] [[Draft_Edit|Edit]]: edits a selected object.
* [[Image:Draft_Polygon.svg|32px]] [[Draft_Polygon|Polygon]]: creates a regular polygon from a center and a radius.
* [[Image:Draft_SubelementHighlight.svg|32px]] [[Draft_SubelementHighlight|Subelement highlight]]: enters an edit mode that allows editing different objects. {{Version|0.19}}


<!--T:54-->
<!--T:122-->
* [[Image:Draft_Join.svg|32px]] [[Draft_Join|Join]]: joins lines together into a single wire.
* [[Image:Draft_BSpline.svg|32px]] [[Draft_BSpline|B-spline]]: creates a B-spline curve from several points.
* [[Image:Draft_Split.svg|32px]] [[Draft_Split|Split]]: splits a wire into two at a point.
* [[Image:Draft_Upgrade.svg|32px]] [[Draft_Upgrade|Upgrade]]: upgrades objects into a higher-level object.
* [[Image:Draft_Downgrade.svg|32px]] [[Draft_Downgrade|Downgrade]]: downgrades objects into lower-level objects.


<!--T:55-->
<!--T:123-->
* [[Image:Draft_CubicBezCurve.svg|32px]] Bézier tools
* [[Image:Draft_WireToBSpline.svg|32px]] [[Draft_WireToBSpline|Wire to BSpline]]: converts a wire to a B-Spline and vice-versa.
* [[Image:Draft_Draft2Sketch.svg|32px]] [[Draft_Draft2Sketch|Draft to Sketch]]: converts a Draft object to a [[Sketcher Workbench|Sketcher Workbench]] Sketch and vice-versa.
* [[Image:Draft_Slope.svg|32px]] [[Draft Slope|Slope]]: changes the elevation slope of the currently selected [[Draft Line|Draft Line]] or [[Draft Wire|Draft Wire]].
* [[Image:Draft_FlipDimension.svg|32px]] [[Draft_FlipDimension|Flip Dimension]]: flips the orientation of the text of a [[Draft Dimension|Draft Dimension]].


<!--T:56-->
<!--T:124-->
* [[Image:Draft_Shape2DView.svg|32px]] [[Draft_Shape2DView|Shape 2D View]]: creates a 2D object which is a flattened 2D view of a 3D object.
:* [[Image:Draft_CubicBezCurve.svg|32px]] [[Draft_CubicBezCurve|Cubic Bézier curve]]: creates a Bézier curve of the third degree. {{Version|0.19}}

<!--T:125-->
:* [[Image:Draft_BezCurve.svg|32px]] [[Draft_BezCurve|Bézier curve]]: creates a Bézier curve from several points.

<!--T:126-->
* [[Image:Draft_Point.svg|32px]] [[Draft_Point|Point]]: creates a simple point.

<!--T:127-->
* [[Image:Draft_Facebinder.svg|32px]] [[Draft_Facebinder|Facebinder]]: creates a surface object from selected faces.

<!--T:128-->
* [[Image:Draft_ShapeString.svg|32px]] [[Draft_ShapeString|ShapeString]]: creates a compound shape that represents a text string.

<!--T:190-->
* [[Image:Draft_Hatch.svg|32px]] [[Draft_Hatch|Hatch]]: creates hatches on the faces of a selected object. {{Version|0.20}}

== Annotation == <!--T:129-->

<!--T:130-->
* [[Image:Draft_Text.svg|32px]] [[Draft_Text|Text]]: creates a multi-line text at a given point.

<!--T:131-->
* [[Image:Draft_Dimension.svg|32px]] [[Draft_Dimension|Dimension]]: creates a linear dimension, a radial dimension or an angular dimension.

<!--T:132-->
* [[Image:Draft_Label.svg|32px]] [[Draft_Label|Label]]: creates a multi-line text with a 2-segment leader line and an arrow.

<!--T:133-->
* [[Image:Draft_AnnotationStyleEditor.svg|32px]] [[Draft_AnnotationStyleEditor|Annotation styles...]]: allows you to define styles that affect the visual properties of annotation-like objects. {{Version|0.19}}

== Modification == <!--T:134-->

<!--T:135-->
* [[Image:Draft_Move.svg|32px]] [[Draft_Move|Move]]: moves or copies selected objects from one point to another.

<!--T:136-->
* [[Image:Draft_Rotate.svg|32px]] [[Draft_Rotate|Rotate]]: rotates or copies selected objects around a center point by a given angle.

<!--T:137-->
* [[Image:Draft_Scale.svg|32px]] [[Draft_Scale|Scale]]: scales or copies selected objects around a base point.

<!--T:138-->
* [[Image:Draft_Mirror.svg|32px]] [[Draft_Mirror|Mirror]]: creates mirrored copies from selected objects.

<!--T:139-->
* [[Image:Draft_Offset.svg|32px]] [[Draft_Offset|Offset]]: offsets each segment of a selected object over a given distance, or creates an offset copy of the selected object.

<!--T:140-->
* [[Image:Draft_Trimex.svg|32px]] [[Draft_Trimex|Trimex]]: trims or extends a selected object.

<!--T:141-->
* [[Image:Draft_Stretch.svg|32px]] [[Draft_Stretch|Stretch]]: stretches objects by moving selected points.

<!--T:142-->
* [[Image:Draft_Clone.svg|32px]] [[Draft_Clone|Clone]]: creates linked copies, clones, of selected objects.

<!--T:143-->
* [[Image:Draft_OrthoArray.svg|32px]] Array tools

<!--T:144-->
:* [[Image:Draft_OrthoArray.svg|32px]] [[Draft_OrthoArray|Array]]: creates an orthogonal array from a selected object. It can optionally create a [[App_Link|Link]] array. {{Version|0.19}}

<!--T:145-->
:* [[File:Draft_PolarArray.svg|32px]] [[Draft_PolarArray|Polar array]]: creates an array from a selected object by placing copies along a circumference. It can optionally create a [[App_Link|Link]] array. {{Version|0.19}}

<!--T:146-->
:* [[File:Draft_CircularArray.svg|32px]] [[Draft_CircularArray|Circular array]]: creates an array from a selected object by placing copies along concentric circumferences. It can optionally create a [[App_Link|Link]] array. {{Version|0.19}}

<!--T:147-->
:* [[Image:Draft_PathArray.svg|32px]] [[Draft_PathArray|Path array]]: creates an array from a selected object by placing copies along a path.

<!--T:148-->
:* [[Image:Draft_PathLinkArray.svg|32px]] [[Draft_PathLinkArray|Path Link array]]: idem, but create a [[App_Link|Link]] array instead of a regular array. {{Version|0.19}}

<!--T:149-->
:* [[Image:Draft_PointArray.svg|32px]] [[Draft_PointArray|Point Array]]: creates an array from a selected object by placing copies at the points from a point compound.

<!--T:150-->
:* [[File:Draft_PointLinkArray.svg|32px]] [[Draft_PointLinkArray|Point Link array]]: idem, but create a [[App_Link|Link]] array instead of a regular array. {{Version|0.19}}

<!--T:151-->
* [[Image:Draft_Edit.svg|32px]] [[Draft_Edit|Edit]]: puts selected objects in Draft Edit mode. In this mode the properties of objects can be edited graphically.

<!--T:152-->
* [[Image:Draft_SubelementHighlight.svg|32px]] [[Draft_SubelementHighlight|Subelement highlight]]: temporarily highlights selected objects, or the base objects of selected objects.

<!--T:153-->
* [[Image:Draft_Join.svg|32px]] [[Draft_Join|Join]]: joins [[Draft_Line|Draft Lines]] and [[Draft_Wire|Draft Wires]] into a single wire.

<!--T:154-->
* [[Image:Draft_Split.svg|32px]] [[Draft_Split|Split]]: splits a [[Draft_Line|Draft Line]] or [[Draft_Wire|Draft Wire]] at a specified point or edge.

<!--T:155-->
* [[Image:Draft_Upgrade.svg|32px]] [[Draft_Upgrade|Upgrade]]: upgrades selected objects.

<!--T:156-->
* [[Image:Draft_Downgrade.svg|32px]] [[Draft_Downgrade|Downgrade]]: downgrades selected objects.

<!--T:157-->
* [[Image:Draft_WireToBSpline.svg|32px]] [[Draft_WireToBSpline|Wire to B-spline]]: converts [[Draft_Wire|Draft Wires]] to [[Draft_BSpline|Draft BSplines]] and vice versa.

<!--T:158-->
* [[Image:Draft_Draft2Sketch.svg|32px]] [[Draft_Draft2Sketch|Draft to Sketch]]: converts [[Draft Workbench|Draft]] objects to [[Sketcher_NewSketch|Sketcher Sketches]] and vice versa.

<!--T:159-->
* [[Image:Draft_Slope.svg|32px]] [[Draft Slope|Set slope]]: slopes selected [[Draft_Line|Draft Lines]] or [[Draft_Wire|Draft Wires]] by increasing, or decreasing, the Z coordinate of all points after the first one.

<!--T:160-->
* [[Image:Draft_FlipDimension.svg|32px]] [[Draft_FlipDimension|Flip dimension]]: rotates the dimension text of selected [[Draft_Dimension|Draft Dimensions]] 180° around the dimension line.

<!--T:161-->
* [[Image:Draft_Shape2DView.svg|32px]] [[Draft_Shape2DView|Shape 2D view]]: creates 2D projections from selected objects.


== Draft Tray == <!--T:57-->
== Draft Tray == <!--T:57-->
Line 117: Line 200:
[[Image:Draft_tray_default.png]]
[[Image:Draft_tray_default.png]]
<translate>
<translate>

Its tools are also available in the {{MenuCommand|Draft → Utilities}} menu:


<!--T:59-->
<!--T:59-->
* [[Image:Draft_SelectPlane.svg|32px]] [[Draft_SelectPlane|Select Plane]]: selects the current Draft working plane.
* [[Image:Draft_tray_button_plane.png]] [[Draft_SelectPlane|Select Plane]]: selects the current Draft working plane. Also available in the menu: {{MenuCommand|Draft → Utilities → [[Image:Draft_SelectPlane.svg|16px]] Select Plane}}.


<!--T:76-->
* [[Image:Draft_SetStyle.svg|32px]] [[Draft_SetStyle|Set style]]: sets the default style for new objects. {{Version|0.19}}
* [[Image:Draft_tray_button_style.png]] [[Draft_SetStyle|Set style]]: sets the default style for new objects. Also available in the menu: {{MenuCommand|Draft → Utilities → [[Image:Draft_SetStyle.svg|16px]] Set style}}. {{Version|0.19}}


<!--T:77-->
* [[Image:Draft_ToggleConstructionMode.svg|32px]] [[Draft_ToggleConstructionMode|Toggle construction mode]]: switches Draft construction mode on or off.
* [[Image:Draft_tray_button_construction.png]] [[Draft_ToggleConstructionMode|Toggle construction mode]]: switches Draft construction mode on or off. Also available in the menu: {{MenuCommand|Draft → Utilities → [[Image:Draft_ToggleConstructionMode.svg|16px]] Toggle construction mode}}.


<!--T:78-->
* [[Image:Draft_AutoGroup.svg|32px]] [[Draft_AutoGroup|AutoGroup]]: changes the active [[Draft_Layer|Draft Layer]] or, optionally, the active [[Std_Group|Std Group]] or group-like [[Arch_Module|Arch]] object.
* [[Image:Draft_tray_button_layer.png]] [[Draft_AutoGroup|AutoGroup]]: changes the active [[Draft_Layer|Draft Layer]] or, optionally, the active [[Std_Group|Std Group]] or group-like [[Arch_Workbench|Arch]] object.


== Draft annotation scale widget == <!--T:69-->
== Draft annotation scale widget == <!--T:69-->
Line 141: Line 225:


<!--T:73-->
<!--T:73-->
The [[Draft_snap_widget|Draft snap widget]] can be used as an alternative for the [[#Draft_snap_toolbar|Draft Snap toolbar]]. {{Version|0.19}}
The [[Draft_snap_widget|Draft snap widget]] can be used as an alternative for the [[#Draft_Snap_toolbar|Draft Snap toolbar]]. {{Version|0.19}}


</translate>
</translate>
Line 152: Line 236:
The Draft Snap toolbar allows selecting the active snap options. The buttons belonging to active options stay depressed. For general information about snapping see: [[Draft_Snap|Draft Snap]].
The Draft Snap toolbar allows selecting the active snap options. The buttons belonging to active options stay depressed. For general information about snapping see: [[Draft_Snap|Draft Snap]].


<!--T:62-->
<!--T:162-->
* [[Image:Draft_Snap_Lock.svg|32px]] [[Draft_Snap_Lock|Toggle snap]]: toggles [[Draft Snap|object snapping]] globally on or off.
* [[Image:Draft_Snap_Lock.svg|32px]] [[Draft_Snap_Lock|Snap Lock]]: enables or disables snapping globally.

* [[Image:Draft_Snap_Endpoint.svg|32px]] [[Draft_Snap_Endpoint|Endpoint]]: snaps to the endpoints of line, arc and spline segments.
<!--T:163-->
* [[Image:Draft_Snap_Midpoint.svg|32px]] [[Draft_Snap_Midpoint|Midpoint]]: snaps to the middle point of line and arc segments.
* [[Image:Draft_Snap_Center.svg|32px]] [[Draft_Snap_Center|Center]]: snaps to the center point of circles, arcs and faces, [[Draft_WorkingPlaneProxy|WP proxies]] and [[Arch_BuildingPart|Building parts]]
* [[Image:Draft_Snap_Endpoint.svg|32px]] [[Draft_Snap_Endpoint|Snap Endpoint]]: snaps to the endpoints of edges.

* [[Image:Draft_Snap_Angle.svg|32px]] [[Draft_Snap_Angle|Angle]]: snaps to the special cardinal points of circles and arcs, at 45° and 90°.
<!--T:164-->
* [[Image:Draft_Snap_Intersection.svg|32px]] [[Draft_Snap_Intersection|Intersection]]: snaps to the intersection of two line or arc segments. Hover the mouse over the two desired objects to activate their intersection snaps.
* [[Image:Draft_Snap_Perpendicular.svg|32px]] [[Draft_Snap_Perpendicular|Perpendicular]]: on line and arc segments, snaps perpendicularly to the latest point.
* [[Image:Draft_Snap_Midpoint.svg|32px]] [[Draft_Snap_Midpoint|Snap Midpoint]]: snaps to the midpoint of straight and circular edges.

* [[Image:Draft_Snap_Extension.svg|32px]] [[Draft_Snap_Extension|Extension]]: snaps on an imaginary line that extends beyond the endpoints of line segments. Hover the mouse over the desired object to activate its extension snap.
<!--T:165-->
* [[Image:Draft_Snap_Parallel.svg|32px]] [[Draft_Snap_Parallel|Parallel]]: snaps on an imaginary line parallel to a line segment. Hover the mouse over the desired object to activate its parallel snap.
* [[Image:Draft_Snap_Center.svg|32px]] [[Draft_Snap_Center|Snap Center]]: snaps to the center point of faces and circular edges, and to the {{PropertyData|Placement}} point of [[Draft_WorkingPlaneProxy|Draft WorkingPlaneProxies]] and [[Arch_BuildingPart|Arch BuildingParts]].
* [[Image:Draft_Snap_Special.svg|32px]] [[Draft_Snap_Special|Special]]: snaps on special points defined by the object.

* [[Image:Draft_Snap_Near.svg|32px]] [[Draft_Snap_Near|Near]]: snaps to the closest point or edge on the nearest object.
<!--T:166-->
* [[Image:Draft_Snap_Ortho.svg|32px]] [[Draft_Snap_Ortho|Ortho]]: snaps on imaginary lines that cross the last point, and extend at 0°, 45° and 90°.
* [[Image:Draft_Snap_Grid.svg|32px]] [[Draft_Snap_Grid|Grid]]: snaps to the intersections of the grid lines, if the grid is visible.
* [[Image:Draft_Snap_Angle.svg|32px]] [[Draft_Snap_Angle|Snap Angle]]: snaps to the special cardinal points on circular edges, at multiples of 30° and 45°.

* [[Image:Draft_Snap_WorkingPlane.svg|32px]] [[Draft_Snap_WorkingPlane|Working plane]]: always places the snapped point on the current [[Draft SelectPlane|working plane]], even if you snap to a point outside that working plane.
<!--T:167-->
* [[Image:Draft_Snap_Dimensions.svg|32px]] [[Draft_Snap_Dimensions|Dimensions]]: shows temporary X and Y dimensions while snapping.
* [[Image:Draft_ToggleGrid.svg|32px]] [[Draft_ToggleGrid|Toggle grid]]: toggles the visibility of the grid on or off.
* [[Image:Draft_Snap_Intersection.svg|32px]] [[Draft_Snap_Intersection|Snap Intersection]]: snaps to the intersection of two edges.

<!--T:168-->
* [[Image:Draft_Snap_Perpendicular.svg|32px]] [[Draft_Snap_Perpendicular|Snap Perpendicular]]: snaps to the perpendicular point on edges.

<!--T:169-->
* [[Image:Draft_Snap_Extension.svg|32px]] [[Draft_Snap_Extension|Snap Extension]]: snaps to an imaginary line that extends beyond the endpoints of straight edges.

<!--T:170-->
* [[Image:Draft_Snap_Parallel.svg|32px]] [[Draft_Snap_Parallel|Snap Parallel]]: snaps to an imaginary line parallel to straight edges.

<!--T:171-->
* [[Image:Draft_Snap_Special.svg|32px]] [[Draft_Snap_Special|Snap Special]]: snaps to special points defined by the object.

<!--T:172-->
* [[Image:Draft_Snap_Near.svg|32px]] [[Draft_Snap_Near|Snap Near]]: snaps to the nearest point on faces or edges.

<!--T:173-->
* [[Image:Draft_Snap_Ortho.svg|32px]] [[Draft_Snap_Ortho|Snap Ortho]]: snaps to imaginary lines that cross the previous point at 0°, 45°, 90° and 135°.

<!--T:174-->
* [[Image:Draft_Snap_Grid.svg|32px]] [[Draft_Snap_Grid|Snap Grid]]: snaps to the intersections of grid lines.

<!--T:175-->
* [[Image:Draft_Snap_WorkingPlane.svg|32px]] [[Draft_Snap_WorkingPlane|Snap WorkingPlane]]: projects the snap point onto the current [[Draft_SelectPlane|working plane]].

<!--T:176-->
* [[Image:Draft_Snap_Dimensions.svg|32px]] [[Draft_Snap_Dimensions|Snap Dimensions]]: shows temporary X and Y dimensions.

<!--T:177-->
* [[Image:Draft_ToggleGrid.svg|32px]] [[Draft_ToggleGrid|Toggle Grid]]: switches the grid on or off.


== Draft utility tools toolbar == <!--T:22-->
== Draft utility tools toolbar == <!--T:22-->


<!--T:63-->
<!--T:178-->
* [[Image:Draft_Layer.svg|32px]] [[Draft_Layer|Layer]]: creates a Layer in the current document, to which objects can be added to control object visibility and color. It replaces Draft VisGroup. {{Version|0.19}}
* [[Image:Draft_Layer.svg|32px]] [[Draft_Layer|Layer]]: creates a [[Draft_Layer|Draft Layer]]. {{Version|0.19}}

* [[Image:Draft_WorkingPlaneProxy.svg|32px]] [[Draft_WorkingPlaneProxy|Working Plane Proxy]]: create a proxy object to store the current [[Draft_SelectPlane|Working Plane]] position.
<!--T:191-->
* [[Image:Draft_ToggleDisplayMode.svg|32px]] [[Draft_ToggleDisplayMode|Toggle display mode]]: switches the display mode of selected objects between "Flat Lines" and "Wireframe".
* [[Image:Draft_AddToGroup.svg|32px]] [[Draft_AddToGroup|Add to group]]: quickly adds selected objects to an existing [[Std Group|Std Group]].
* [[Image:Draft_AddNamedGroup.svg|32px]] [[Draft_AddNamedGroup|Add a new named group]]: creates a named [[Std_Group|Std Group]] and moves selected objects to that group. {{Version|0.20}}

* [[Image:Draft_SelectGroup.svg|32px]] [[Draft_SelectGroup|Select group contents]]: selects the contents of a selected [[Std Group|Std Group]] or [[Draft_Layer|Draft Layer]].
<!--T:181-->
* [[Image:Draft_AddConstruction.svg|32px]] [[Draft_AddConstruction|Add to Construction group]]: add selected objects to the Construction group.
* [[Image:Draft_Heal.svg|32px]] [[Draft_Heal|Heal]]: heals problematic Draft objects found in very old files.
* [[Image:Draft_AddToGroup.svg|32px]] [[Draft_AddToGroup|Move to group...]]: moves objects to a [[Std_Group|Std Group]]. It can also ungroup objects.

<!--T:182-->
* [[Image:Draft_SelectGroup.svg|32px]] [[Draft_SelectGroup|Select group]]: selects the content of [[Draft_Layer|Draft Layers]], [[Std_Group|Std Groups]] or group-like [[Arch_Workbench|Arch]] objects.

<!--T:183-->
* [[Image:Draft_AddConstruction.svg|32px]] [[Draft_AddConstruction|Add to Construction group]]: moves objects to the [[Draft_ToggleConstructionMode|Draft construction group]].

<!--T:180-->
* [[Image:Draft_ToggleDisplayMode.svg|32px]] [[Draft_ToggleDisplayMode|Toggle normal/wireframe display]]: switches the {{PropertyView|Display Mode}} property of selected objects between {{Value|Flat Lines}} and {{Value|Wireframe}}.

<!--T:179-->
* [[Image:Draft_WorkingPlaneProxy.svg|32px]] [[Draft_WorkingPlaneProxy|Create working plane proxy]]: creates a working plane proxy to save the current [[Draft_SelectPlane|Draft working plane]].


== Additional tools == <!--T:64-->
== Additional tools == <!--T:64-->
Line 186: Line 312:
The {{MenuCommand|Draft → Utilities}} menu contains several tools. Most of them can also be accessed from toolbars or the [[Draft_Tray|Draft Tray]] and have already been mentioned above. For the following tools this is not the case:
The {{MenuCommand|Draft → Utilities}} menu contains several tools. Most of them can also be accessed from toolbars or the [[Draft_Tray|Draft Tray]] and have already been mentioned above. For the following tools this is not the case:


<!--T:24-->
<!--T:186-->
* [[Image:Draft_ToggleContinueMode.svg|32px]] [[Draft_ToggleContinueMode|Toggle continue mode]]: toggles the Draft continue mode on or off.
* [[Image:Draft_ApplyStyle.svg|32px]] [[Draft_ApplyStyle|Apply current style]]: applies the current style settings to selected objects.

* [[Image:Draft_ApplyStyle.svg|32px]] [[Draft_ApplyStyle|Apply current style]]: applies the current style to selected objects and groups.
<!--T:184-->
* [[Image:Draft_ShowSnapBar.svg|32px]] [[Draft_ShowSnapBar|Show snap bar]]: shows the [[#Draft_snap_toolbar|Draft Snap toolbar]].
* [[Image:Draft_Heal.svg|32px]] [[Draft_Heal|Heal]]: heals problematic Draft objects found in very old files.

<!--T:185-->
* [[Image:Draft_ToggleContinueMode.svg|32px]] [[Draft_ToggleContinueMode|Toggle continue mode]]: switches continue mode on or off.

<!--T:187-->
* [[Image:Draft_ShowSnapBar.svg|32px]] [[Draft_ShowSnapBar|Show snap toolbar]]: shows the [[#Draft_Snap_toolbar|Draft Snap toolbar]].

== Additional features == <!--T:6-->

<!--T:7-->
* [[Draft_SelectPlane|Working plane]]: the plane in the [[3D_view|3D view]] where new Draft objects are created.
* [[Draft_Snap|Snapping]]: select exact geometric points on, or defined by, existing objects or the grid.
* [[Draft_Constrain|Constraining]]: for each subsequent point you can constrain the movement of the cursor to the X, Y, or Z direction.
* [[Draft_ToggleConstructionMode|Construction mode]]: places new Draft objects in a dedicated group making it easier to hide or delete them.
* [[Draft_Pattern|Pattern]]: Draft objects with a {{PropertyData|Make Face}} property can display an SVG pattern instead of a solid face color.


== Tree view context menu ==
== Tree view context menu == <!--T:79-->


<!--T:80-->
The following additional options are available in the [[Tree_view|Tree view]] context menu:
The following additional options are available in the [[Tree_view|Tree view]] context menu:


=== Selection options ===
=== Default options === <!--T:192-->


<!--T:82-->
If there is a selection the context menu contains one additional sub-menu:
If there is an active document the context menu contains one additional sub-menu:
* {{MenuCommand|Utilities}}: a selection of the tools available in the main {{MenuCommand|Utilities}} menu.
* {{MenuCommand|Utilities}}: a subset of the tools available in the main Draft Utilities menu.


=== Wire options ===
=== Wire options === <!--T:83-->


<!--T:84-->
For a [[Draft_Wire|Draft Wires]], [[Draft_BSpline|Draft BSplines]], [[Draft_CubicBezCurve|Draft CubicBezCurves]] and [[Draft_BezCurve|Draft BezCurves]] this additional option is available:
For a [[Draft_Wire|Draft Wire]], [[Draft_BSpline|Draft BSpline]], [[Draft_CubicBezCurve|Draft CubicBezCurve]] and [[Draft_BezCurve|Draft BezCurve]] this additional option is available:


<!--T:85-->
* [[Image:Draft_Edit.svg|32px]] Flatten this wire: flattens the wire based on its internal geometry.
* [[Image:Draft_Edit.svg|32px]] Flatten this wire: flattens the wire based on its internal geometry. This option currently does not work properly.


=== Layer container options ===
=== Layer container options === <!--T:86-->


<!--T:87-->
For a [[Draft_Layer|Draft LayerContainer]] these additional options are available:
For a [[Draft_Layer|Draft LayerContainer]] these additional options are available:


<!--T:88-->
* [[Image:Draft_Layer.svg|32px]] Merge layer duplicates:
* [[Image:Draft_Layer.svg|32px]] Merge layer duplicates: this option currently does not work.


<!--T:89-->
* [[Image:Draft_NewLayer.svg|32px]] Add new layer:
* [[Image:Draft_NewLayer.svg|32px]] [[Draft_Layer|Add new layer]]: adds a new layer to the current document.


=== Layer options ===
=== Layer options === <!--T:90-->


<!--T:91-->
For a [[Draft_Layer|Draft Layer]] these additional options are available:
For a [[Draft_Layer|Draft Layer]] these additional options are available:


<!--T:92-->
* [[Image:button_right.svg|32px]] Activate this layer:
* [[Image:button_right.svg|32px]] [[Draft_AutoGroup|Activate this layer]]: activates the selected layer.


<!--T:93-->
* [[Image:Draft_SelectGroup.svg|32px]] Select layer contents:
* [[Image:Draft_SelectGroup.svg|32px]] [[Draft_SelectGroup|Select layer contents]]: selects the objects inside the selected layer.


=== Working plane proxy options ===
=== Working plane proxy options === <!--T:94-->


<!--T:95-->
For a [[Draft_WorkingPlaneProxy|Draft WorkingPlaneProxy]] these additional options are available:
For a [[Draft_WorkingPlaneProxy|Draft WorkingPlaneProxy]] these additional options are available:


<!--T:96-->
* [[Image:Draft_SelectPlane.svg|32px]] Write camera position:
* [[Image:Draft_SelectPlane.svg|32px]] [[Draft_WorkingPlaneProxy#Context_menu|Write camera position]]: updates the {{PropertyView|View Data}} property of the working plane proxy with the current [[3D_view|3D view]] camera settings.


<!--T:97-->
* [[Image:Draft_SelectPlane.svg|32px]] Write objects state:
* [[Image:Draft_SelectPlane.svg|32px]] [[Draft_WorkingPlaneProxy#Context_menu|Write objects state]]: updates the {{PropertyView|Visibility Map}} property of the working plane proxy with the current visibility state of objects in the document.


== 3D view context menu ==
== 3D view context menu == <!--T:98-->


<!--T:99-->
The following additional options are available in the [[3D_view|3D view]] context menu:
The following additional options are available in the [[3D_view|3D view]] context menu:


=== No selection options ===
=== Default options === <!--T:193-->


<!--T:101-->
If there is no selection the context menu contains one additional sub-menu:
If there is an active document the context menu contains one additional sub-menu:
* {{MenuCommand|Utilities}}: a selection of the tools available in the main {{MenuCommand|Utilities}} menu.
* {{MenuCommand|Utilities}}: a subset of the tools available in the main Draft Utilities menu.

=== Selection options ===

If there is a selection the context menu contains two additional sub-menus:
* {{MenuCommand|Draft}}: tools for [[#Drawing_objects|drawing objects]] and [[#Modifying_objects|modifying objects]].
* {{MenuCommand|Utilities}}: a selection of the tools available in the main {{MenuCommand|Utilities}} menu.


== Obsolete tools == <!--T:65-->
== Obsolete tools == <!--T:65-->


<!--T:66-->
<!--T:66-->
These commands are obsolete but still available.
These commands are obsolete but still available:


<!--T:67-->
<!--T:67-->
* [[Image:Draft_Array.svg|32px]] [[Draft_Array|Array]]: creates a polar or rectangular array from selected objects. {{Obsolete|0.19}}
* [[Image:Draft_Array.svg|32px]] [[Draft_Array|Array]]: creates an orthogonal array from a selected object. The created array can be turned into a [[Draft_PolarArray|polar array]] or a [[Draft_CircularArray|circular array]] by changing its {{PropertyData|Array Type}} property. {{Obsolete|0.19}}

* [[Image:Draft_Drawing.svg|32px]] [[Draft_Drawing|Drawing]]: writes selected objects to a [[Drawing_Workbench|Drawing Workbench]] page. {{Obsolete|0.17}}
<!--T:104-->
* [[Image:Draft_CloseLine.svg|32px]] [[Draft_CloseLine|Close line]]: ends the drawing of the current [[Draft Wire|Draft Wire]] or [[Draft BSpline|Draft BSpline]], and closes it. {{Obsolete|0.19}}
* [[Image:Draft_FinishLine.svg|32px]] [[Draft_FinishLine|Finish line]]: ends the drawing of the current [[Draft Wire|Draft Wire]] or [[Draft BSpline|Draft BSpline]], without closing it. {{Obsolete|0.19}}
* [[Image:Draft_Drawing.svg|32px]] [[Draft_Drawing|Drawing]]: inserts views of selected objects into a [[Drawing_Workbench|drawing]] page. {{Obsolete|0.17}}
* [[Image:Draft_UndoLine.svg|32px]] [[Draft_UndoLine|Undo line]]: undoes the last segment of a [[Draft Wire|Draft Wire]]. {{Obsolete|0.19}}


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


<!--T:28-->
<!--T:28-->
* [[Image:Preferences-draft.svg|32px]] [[Draft_Preferences|Preferences]]: general preferences for the working plane and the drawing tools.
* [[Image:Preferences-draft.svg|32px]] [[Draft_Preferences|Preferences]]: general preferences for the Draft Workbench.

<!--T:188-->
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preferences|Import Export Preferences]]: preferences available for importing from and exporting to different file formats.
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preferences|Import Export Preferences]]: preferences available for importing from and exporting to different file formats.


Line 266: Line 418:


<!--T:4-->
<!--T:4-->
The Draft Workbench provides FreeCAD with importers and exporters for several file formats. These are used by the [[Std_Import|Std Import]] and [[Std_Export|Std Export]] commands.
These are functions for opening, importing or exporting other file formats. Opening will open a new document with the contents of the file, while importing will append the contents of the file to the current document. Export will save the selected objects to a file. If nothing is selected, all objects will be exported. Be aware that the purpose of the Draft Module is to work with 2D objects, so those import routines focus only on 2D objects, and although DXF and OCA formats also support object definitions in 3D space (objects are not necessarily flat), they will not import volumetric objects such as meshes, 3D surfaces, etc., but rather lines, circles, texts or flat shapes. Currently supported file formats are:
The Draft module provides FreeCAD with importers and exporters for the following file formats:


<!--T:5-->
<!--T:5-->
* [[Draft_DXF|Autodesk .DXF]]: imports and exports [http://en.wikipedia.org/wiki/AutoCAD_DXF Drawing Exchange Format] files created with 2D CAD applications. See also [[FreeCAD_and_DXF_Import|FreeCAD and DXF Import]].
* [[Draft_DXF|Autodesk .DXF]]: imports and exports [http://en.wikipedia.org/wiki/AutoCAD_DXF Drawing Exchange Format] files. See also [[FreeCAD_and_DXF_Import|FreeCAD and DXF Import]].
* [[Draft_DXF|Autodesk .DWG]]: imports and exports DWG files via the DXF importer, when the [[Extra python modules#ODA Converter (previously Teigha Converter)|ODA Converter]] utility is installed. See also [[FreeCAD_and_DWG_Import|FreeCAD and DWG Import]].
* [[Draft_DXF|Autodesk .DWG]]: imports and exports DWG files via the DXF importer, when the [[Extra_python_modules#ODA_Converter_(previously_Teigha_Converter)|ODA Converter]] utility is installed. See also [[FreeCAD_and_DWG_Import|FreeCAD and DWG Import]].
* [[Draft_SVG|SVG]]: imports and exports [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] files created with vector drawing applications.
* [[Draft_SVG|Scalable Vector Graphics .SVG]]: imports and exports [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] files.
* [[Draft_OCA|Open Cad format .OCA]]: imports and exports OCA/GCAD files, a potentially new [http://groups.google.com/group/open_cad_format open CAD file format].
* [[Draft_OCA|Open Cad format .OCA]]: imports and exports [http://groups.google.com/group/open_cad_format OCA/GCAD] files.
* [[Draft_DAT|Airfoil Data Format .DAT]]: imports DAT files describing [http://www.ae.illinois.edu/m-selig/ads/coord_database.html Airfoil profiles].
* [[Draft_DAT|Airfoil Data Format .DAT]]: imports DAT files describing Airfoil profiles.

===Install importers=== <!--T:36-->

<!--T:37-->
* [[FreeCAD_and_DWG_Import|FreeCAD and DWG Import]]: Imports and exports DWG files
* [[FreeCAD_and_DXF_Import|FreeCAD and DXF Import]]: Imports and exports DXF files

== Additional features == <!--T:6-->

<!--T:7-->
* [[Draft Constrain|Constraining]]: limit the pointer to horizontal or vertical movements relative to a previous point.
* [[Draft Snap|Snapping]]: place new points on special places on existing objects or on the grid.
* [[Draft_Copying|Copy Mode]]: All modification tools can either modify the selected objects or create a modified copy of them. Pressing and holding {{KEY|Alt}} while the object is being modified, e.g. moved or rotated, creates a copy when the key is released.
* [[Draft ToggleConstructionMode|Construction Mode]]: Allows you to create geometries separate from the rest by simply switching them on and off.
* [[Draft SelectPlane|Working plane]]: allows you to select a surface on which to build your shapes.


== Unit tests == <!--T:39-->
== Unit tests == <!--T:39-->


<!--T:40-->
<!--T:40-->
{{Emphasis|See also:}} [[Test_Workbench|Test Workbench]].
See also: [[Testing|Test Workbench]].


<!--T:41-->
<!--T:41-->
To run the unit tests of the workbench execute the following from the operating system terminal.
To run the unit tests of the workbench execute the following from the operating system terminal:

</translate>
</translate>
{{Code|code=
{{Code|code=
Line 307: Line 444:


<!--T:11-->
<!--T:11-->
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
The Draft tools can be used in [[macros|macros]] and from the [[Python|Python]] console by using the [[Draft_API|Draft API]].


<!--T:42-->
<!--T:42-->
Line 313: Line 450:


<!--T:43-->
<!--T:43-->
Use this to test that all objects are produced correctly.
Use this to test that all objects are produced correctly:

</translate>
</translate>
{{Code|code=
{{Code|code=
Line 322: Line 460:


<!--T:44-->
<!--T:44-->
Inspecting the code of this module is useful to understand how to use the programming interface.
Inspecting the code of this module can help to understand the programming interface.
</translate>
{{Code|code=
$INSTALLDIR/Mod/Draft/drafttests/draft_test_objects.py
}}
<translate>


<!--T:45-->
== Tutorials == <!--T:189-->
Where {{incode|$INSTALLDIR}} is the toplevel directory where the software was installed; for example, in Linux it may be {{incode|/usr/share/freecad}}.


<!--T:14-->
</translate>
[[File:Draft_test_objects.png|500px]]
<translate>
<!--T:51-->
{{Caption|Test objects for the [[Draft_Workbench|Draft Workbench]].}}

== Tutorials == <!--T:14-->
* [[Draft_tutorial|Draft tutorial]]
* [[Draft_tutorial|Draft tutorial]]
* [[Draft_tutorial_Outdated|Draft tutorial Outdated]]
* [[Draft_ShapeString_tutorial|Draft ShapeString tutorial]]
* [[Draft_ShapeString_tutorial|Draft ShapeString tutorial]]



<!--T:12-->
<!--T:12-->

Revision as of 11:58, 15 October 2021

Draft workbench icon

Introduction

The Draft Workbench is primarily focused on the creation and modification of 2D objects in FreeCAD. But it is not restricted to the XY plane of the global coordinate system. Its objects can have any orientation and position in 3D space, and some Draft objects can either be planar or non-planar.

Draft objects can be used for general drafting, similar to what can be done with Inkscape or AutoCAD. But they can also form the base for the creation of 3D objects in other workbenches. A Draft Wire may define the path of an Arch Wall, a Draft Polygon can be extruded with Part Extrude, etc. Many of the Draft modifier tools can be applied to 2D and 3D objects created with other workbenches as well. You can, for example, move a Sketch or create a Draft OrthoArray from a Part object.

The Draft Workbench also provides tools to define a working plane, a grid, and a snapping system to precisely control the position of geometry.

If your primary goal is the production of complex 2D drawings and DXF files, and you don't need 3D modelling, FreeCAD may not be the right choice for you. You may wish to consider a dedicated software program for technical drafting instead, such as LibreCAD or QCad.

The image shows the grid aligned with the XY plane.
On the left, in white, several planar objects.
On the right a non-planar Draft Wire used as the Path Object of a Draft PathArray.

Drafting

  • Line: creates a straight line.
  • Polyline: creates a polyline, a sequence of several connected line segments.
  • Arc tools
  • Arc: creates a circular arc from a center, a radius, a start angle and an aperture angle.
  • Circle: creates a circle from a center and a radius.
  • Ellipse: creates an ellipse from two points defining a rectangle in which the ellipse will fit.
  • Rectangle: creates a rectangle from two points.
  • Polygon: creates a regular polygon from a center and a radius.
  • B-spline: creates a B-spline curve from several points.
  • Bézier tools
  • Point: creates a simple point.
  • Facebinder: creates a surface object from selected faces.
  • ShapeString: creates a compound shape that represents a text string.

Annotation

  • Text: creates a multi-line text at a given point.
  • Dimension: creates a linear dimension, a radial dimension or an angular dimension.
  • Label: creates a multi-line text with a 2-segment leader line and an arrow.

Modification

  • Move: moves or copies selected objects from one point to another.
  • Rotate: rotates or copies selected objects around a center point by a given angle.
  • Scale: scales or copies selected objects around a base point.
  • Mirror: creates mirrored copies from selected objects.
  • Offset: offsets each segment of a selected object over a given distance, or creates an offset copy of the selected object.
  • Trimex: trims or extends a selected object.
  • Stretch: stretches objects by moving selected points.
  • Clone: creates linked copies, clones, of selected objects.
  • Array tools
  • Path array: creates an array from a selected object by placing copies along a path.
  • Point Array: creates an array from a selected object by placing copies at the points from a point compound.
  • Edit: puts selected objects in Draft Edit mode. In this mode the properties of objects can be edited graphically.
  • Subelement highlight: temporarily highlights selected objects, or the base objects of selected objects.
  • Upgrade: upgrades selected objects.

Draft Tray

The Draft Tray allows selecting the working plane, defining style settings, toggling construction mode, and specifying the active layer or group.

  • Select Plane: selects the current Draft working plane. Also available in the menu: Draft → Utilities → Select Plane.
  • Toggle construction mode: switches Draft construction mode on or off. Also available in the menu: Draft → Utilities → Toggle construction mode.

Draft annotation scale widget

With the Draft annotation scale widget the Draft annotation scale can be specified. introduced in version 0.19

Draft snap widget

The Draft snap widget can be used as an alternative for the Draft Snap toolbar. introduced in version 0.19

Draft Snap toolbar

The Draft Snap toolbar allows selecting the active snap options. The buttons belonging to active options stay depressed. For general information about snapping see: Draft Snap.

  • Snap Lock: enables or disables snapping globally.
  • Snap Midpoint: snaps to the midpoint of straight and circular edges.
  • Snap Angle: snaps to the special cardinal points on circular edges, at multiples of 30° and 45°.
  • Snap Extension: snaps to an imaginary line that extends beyond the endpoints of straight edges.
  • Snap Parallel: snaps to an imaginary line parallel to straight edges.
  • Snap Special: snaps to special points defined by the object.
  • Snap Near: snaps to the nearest point on faces or edges.
  • Snap Ortho: snaps to imaginary lines that cross the previous point at 0°, 45°, 90° and 135°.
  • Snap Grid: snaps to the intersections of grid lines.

Draft utility tools toolbar

Additional tools

The Draft → Utilities menu contains several tools. Most of them can also be accessed from toolbars or the Draft Tray and have already been mentioned above. For the following tools this is not the case:

  • Heal: heals problematic Draft objects found in very old files.

Additional features

  • Working plane: the plane in the 3D view where new Draft objects are created.
  • Snapping: select exact geometric points on, or defined by, existing objects or the grid.
  • Constraining: for each subsequent point you can constrain the movement of the cursor to the X, Y, or Z direction.
  • Construction mode: places new Draft objects in a dedicated group making it easier to hide or delete them.
  • Pattern: Draft objects with a DataMake Face property can display an SVG pattern instead of a solid face color.

Tree view context menu

The following additional options are available in the Tree view context menu:

Default options

If there is an active document the context menu contains one additional sub-menu:

  • Utilities: a subset of the tools available in the main Draft Utilities menu.

Wire options

For a Draft Wire, Draft BSpline, Draft CubicBezCurve and Draft BezCurve this additional option is available:

  • Flatten this wire: flattens the wire based on its internal geometry. This option currently does not work properly.

Layer container options

For a Draft LayerContainer these additional options are available:

  • Merge layer duplicates: this option currently does not work.

Layer options

For a Draft Layer these additional options are available:

Working plane proxy options

For a Draft WorkingPlaneProxy these additional options are available:

  • Write objects state: updates the ViewVisibility Map property of the working plane proxy with the current visibility state of objects in the document.

3D view context menu

The following additional options are available in the 3D view context menu:

Default options

If there is an active document the context menu contains one additional sub-menu:

  • Utilities: a subset of the tools available in the main Draft Utilities menu.

Obsolete tools

These commands are obsolete but still available:

Preferences

  • Preferences: general preferences for the Draft Workbench.

File formats

The Draft Workbench provides FreeCAD with importers and exporters for several file formats. These are used by the Std Import and Std Export commands.

Unit tests

See also: Test Workbench.

To run the unit tests of the workbench execute the following from the operating system terminal:

freecad -t TestDraft

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

The workbench includes a module to create samples of all objects in a new document. introduced in version 0.19

Use this to test that all objects are produced correctly:

import drafttests.draft_test_objects as dto
doc = dto.create_test_file()

Inspecting the code of this module can help to understand the programming interface.

Tutorials