Draft Dimension

Description
The Draft Dimension command creates an object that measures and displays the distance between two points; a third point specifies the position of the dimension line.

The tool can measure edges or lines directly attached to solid bodies; if the body changes, the dimension updates itself. The tool can also measure a diameter or radius of curvature such as those produced by a Draft Arc, or by the Part Fillet, Sketcher CreateFillet, and PartDesign Fillet operations.

The resulting dimension is placed in the 3D view, and is considered a Draft object. This object can be displayed on a TechDraw Workbench Page, using the TechDraw DraftView or TechDraw ArchView tools. Alternatively, TechDraw has its own tools to display dimensions, such as TechDraw Dimension Length and TechDraw Dimension Radius; however, these tools are meant for preparing technical drawings, so they create the dimensions only in the drawing page, and not in the 3D view.



Linear dimension

 * 1) Optionally select a straight edge in the 3D view.
 * 2) There are several ways to invoke the command:
 * 3) * Press the button.
 * 4) * Select the option from the menu.
 * 5) * Use the keyboard shortcut: then.
 * 6) The  task panel opens. See Options for more information.
 * 7) If you have not yet selected an edge do one of the following:
 * 8) * Press the button and select a straight edge in the 3D view.
 * 9) * Hold down the key, select a straight edge in the 3D view and release the  key.
 * 10) * Define the measured distance by picking points:
 * 11) ** Pick a first point in the 3D view, or type coordinates and press the button.
 * 12) ** Pick a second point in the 3D view, or type coordinates and press the button.
 * 13) To position the dimension line do one of the following:
 * 14) * For an aligned dimension:
 * 15) ** Pick a point in the 3D view, or type coordinates and press the button.
 * 16) * For a horizontal dimension:
 * 17) ** Move the pointer above or below the edge or points.
 * 18) ** Hold down the key, move the pointer and pick a point in the 3D view.
 * 19) * For a vertical dimension:
 * 20) ** Move the pointer to the left or right of the edge or points.
 * 21) ** Hold down the key, move the pointer and pick a point in the 3D view.
 * 22) If an edge has been selected the dimension is parametric: it will update if the edge is modified.

Radial dimension

 * 1) Optionally select a circular edge in the 3D view.
 * 2) There are several ways to invoke the command:
 * 3) * Press the button.
 * 4) * Select the option from the menu.
 * 5) * Use the keyboard shortcut: then.
 * 6) The  task panel opens. See Options for more information.
 * 7) If you have not yet selected an edge do one of the following:
 * 8) * Press the button and select a circular edge in the 3D view.
 * 9) * Hold down the key, select a circular edge in the 3D view and release the  key.
 * 10) To position the dimension line do one of the following:
 * 11) * For a diameter dimension:
 * 12) ** Pick a point in the 3D view, or type coordinates and press the button.
 * 13) * For a radial dimension:
 * 14) ** Hold down the key and pick a point in the 3D view.
 * 15) The dimension is parametric: it will update if the edge is modified.

Angular dimension

 * 1) There are several ways to invoke the command:
 * 2) * Press the button.
 * 3) * Select the option from the menu.
 * 4) * Use the keyboard shortcut: then.
 * 5) The  task panel opens. See Options for more information.
 * 6) Hold down the  key, select two straight edges in the 3D view and release the  key.
 * 7) To position the dimension line pick a point in the 3D view.
 * 8) Depending on the edges and the picked point the displayed angle will be the acute (sharp) or obtuse (blunt) angle between the edges, or the angle of one of the edges with the horizontal. In some cases you may have to first add auxiliary geometry (Draft Lines for example) to get a particular angle.
 * 9) The dimension in not parametric: it will not update if the edges are modified.

Options

 * Press, or  after a point to constrain the next point on the given axis.
 * To enter coordinates manually, simply enter the numbers, then press between each X, Y and Z component. You can press the  button when you have the desired values to insert the point.
 * Press or click the checkbox to toggle relative mode. If relative mode is on, the coordinates of the next point are relative to the previous one; if not, they are absolute, taken from the origin (0,0,0).
 * Press or click the checkbox to toggle continue mode. If continue mode is on, the Dimension tool will restart after you give the final point, allowing you to draw another dimension without pressing the tool button again; the following dimensions will start from the final point of the previous dimension, and will share the same baseline.
 * Hold while drawing to force snapping your point to the nearest snap location, independently of the distance.
 * Hold while drawing to constrain your next point horizontally or vertically in relation to the previous one, and to switch between diameter and radius modes.
 * Press or the  button to abort the current command, and finish continued dimensions; dimensions already placed will remain.

Properties
See also: Property editor.

A Draft Dimension object is derived from an App FeaturePython object and inherits all its properties. The following properties are additional unless otherwise stated:

Data linear and radial dimension

 * : specifies the point through which the dimension line passes.
 * : specifies the object and its subelement(s) the dimension is linked to.
 * : specifies the normal of the plane of the text.
 * : specifies the measured object.


 * : specifies the direction of the measurement.
 * : (read-only) specifies the value of the measurement.
 * : specifies the end point of the measurement.
 * : specifies the start point of the measurement.


 * : specifies if a radial dimension is displayed as a diameter dimension. If it changed the symbol used in must be updated manually (from  to  or vice versa). Not used for linear dimensions.

Data angular dimension

 * : (read-only) specifies the value of the measurement.
 * : specifies the center of the measurement.
 * : specifies the start angle of the measurement.
 * : specifies the end angle of the measurement.


 * : specifies the point through which the dimension arc passes.
 * : not used.
 * : specifies the normal of the plane of the dimension.
 * : not used.

View

 * : specifies the annotation style applied to the dimension. See Draft AnnotationStyleEditor.
 * : specifies the general scaling factor applied to the dimension.


 * : specifies how the text is displayed. If it is the text will be displayed in a plane defined by the  of the measurement. If it is  the text will always face the camera. Note that these values are switched compared to Draft Texts. This is an inherited property.


 * : specifies the size of the symbols displayed at the ends of the dimension line or arc.
 * : specifies the type of symbol displayed at the ends of the dimension line or arc, which can be, , , or.
 * : specifies the additional length added to the dimension line. Not used for angular dimensions.
 * : specifies the maximum length of the extension lines that go from the measured points to the dimension line. Not used for angular dimensions.
 * : specifies the additional length of the extension lines beyond the dimension line. Not used for angular dimensions.
 * : specifies whether to flip the orientation of the symbols at the ends of the dimension line or arc. Only works if the symbols are arrows.
 * : specifies the color of the dimension including the text.
 * : specifies the width of the lines or arc belonging to the dimension.
 * : specifies whether to display the dimension line. Does not affect the display of extension lines and overshoots. Not used for angular dimensions.


 * : specifies whether to flip the orientation of the text.
 * : specifies the font used to draw the text. It can be a font name, such as, a default style such as , or , a family such as , or a name with a style such as . If the given font is not found on the system, a default font is used instead.
 * : specifies the size of the letters. The text can be invisible in the 3D view if this value is very small.
 * : specifies a custom text to display instead of the actual measurement. Use the string inside the text to include the measurement.
 * : specifies the position of the text in absolute coordinates. will display the text in its default position near the dimension line or arc.
 * : specifies the space between the text and the dimension line or arc.


 * : specifies the number of decimal places to display for the measurement. Not used for angular dimensions.
 * : specifies whether to display the unit next to the numerical value of the measurement. Not used for angular dimensions.
 * : specifies the unit in which to express the measurement, for example,, , , , , , or  for arch units. Leave this blank to use the default unit. Not used for angular dimensions.

Scripting
See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Dimension use the method  of the Draft module. This method replaces the deprecated method.

There are various ways to invoke this method, depending on the arguments passed to it:


 * Creates a linear by measuring the distance between points  and.
 * Creates a linear linked to, measuring the distance between its vertices indexed  and.
 * Creates a circular linked to, with  being the index of the curved edge to measure, and  being either  or  to specify the type of dimension.
 * in the first call, and in the other two, specify an optional point through which the dimension line should go.
 * All points are defined by their.

To create an angular dimension use the following method:


 * Creates an angular from the given  point, the  list with two elements, and the point  through which the arc should go.
 * If, the displayed angle is the difference ; otherwise, the explementary angle is displayed,.
 * The angles should be given in degrees.

The view properties of can be changed by overwriting its attributes; for example, overwrite  with the new size in millimeters.

Example: