TechDraw Dimension Length

From FreeCAD Documentation
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎русский

TechDraw Dimension Length.svg TechDraw Dimension Length

Menu location
TechDraw → Dimension Length
Default shortcut
Introduced in version
See also
TechDraw Dimension Horizontal, TechDraw Dimension Vertical


The Dimension Length tool adds a linear dimension to a View. The dimension may be between the distance between two vertices, the length of one edge or the distance between 2 edges. The distance will initially be the projected distance (ie as shown on the drawing), but this may be changed to the actual 3D distance using the TechDraw Dimension Link.svg Link Dimension tool.

TechDraw Dimension Length example.png

Length dimension taken from two arbitrary nodes of the view


  1. Select the points or edge which define your measurement.
  2. Press the TechDraw Dimension Length.svg Dimension Length button
  3. A dimension will be added to the View. The dimension may be dragged to the desired position.


Dimension objects are vulnerable to the "topological naming problem". This means that if you modify the 3D geometry the faces and edges of the model may be renamed internally; if a dimension is attached to an edge that is then modified, the dimension may break. In general, it is not possible to keep the projected 2D dimensions synchronized with the actual 3D objects.

Therefore, it is recommended that dimensions be added when the 3D model is no longer being modified.


If you want to keep a TechDraw view with dimensions that won't break, you need to dimension an object that won't change.

  • Select the object that you want to project, then switch to the Workbench Part.svg Part Workbench and use Part → Part SimpleCopy.svg Create simple copy. This will create a single object that is not parametric, that is, no longer editable.
  • Select this copy, then use TechDraw View, and add the desired dimensions.
  • If the original 3D model is modified, the modifications won't affect the simple copy, nor the dimensions in the TechDraw view.

See Landmark Dimensions for another approach to circumventing the topological naming issue.




  • DataX: Horizontal position of the dimension text relative to the View.
  • DataY: Vertical position of the dimension text relative to the View.
  • DataType: Length,radius,diameter, etc. Not normally manipulated by the end user.
  • DataMeasureType: true - based on 3D geometry or "Projected" - based on the drawing. Not normally manipulated directly by the end user.
  • DataTheoreticalExact: Specifies a theoretically exact (or basic) dimension.
false - a common dimension by default, possibly with tolerances.
true - a theoretical value. As such, it shall not bear any tolerances. Marked by a frame around the value.
  • DataOverTolerance: The amount by which the piece may be larger than the Dimension shown.
  • DataUnderTolerance: The amount by which the piece may be smaller than the Dimension shown.
  • DataInverted: Marks whether the dimension represents a common or an inverted value.
false - the ordinary value is used. For length it is a positive number, for angle the oblique value (0° - 180°).
true - the inverted value is used. For length a negative number, for angle the reflex value (180° - 360°).


  • DataFormatSpec: Allows additional text to be added to the dimension text.
Dimension value will replace the %.2f part of text (or any other valid format specifier - see printf).
  • DataArbitrary: Specifies, whether treat FormatSpec as a template or an actual text.
false - replace the format specifier with the actual dimensional value.
true - ignore the dimensional value and display exactly FormatSpec as value.



  • ViewVisibility: Sets whether the dimension is visible. true - visible, false - hidden.

Dim Format

  • ViewFont: The name of the font to use for the dimension text.
  • ViewFontSize: Dimension text size in mm.
  • ViewLineWidth: Dimension line weight.
  • ViewColor: Color for lines and text.
  • ViewStandardAndStyle: Specifies the standard (and the style of it) according to which the dimension is drawn:
ISO Oriented - drawn according to ISO 129.1 (international standard), text is rotated to be parallel with the dimension line tangent.
ISO Referencing - drawn in compliance with ISO-129.1, text is always horizontal, above the shortest possible reference line.
ASME Inlined - drawn according to ASME Y14.5M (US standard), text is horizontal, inserted in a break within the dimension line or arc.
ASME Referencing - drawn in compliance with ASME Y14.5M, text is horizontal, short reference line is attached to one side's vertical center.
  • ViewRenderingExtent: Rather universal property specifying how much space the dimension drawing may take up:
None - no lines or arrows are drawn, only the bare dimension value is displayed.
Minimal - for lengths and angles a single headed line connecting the dimensional value and the end point's virtual extension line is drawn. The extension line itself is not added.
Diameters are rendered following Confined extent, radii following Reduced extent.
Confined - for lengths and angles a double headed line (or arc) connecting the start and end point's virtual extension lines is drawn, though the extension lines themselves are not added.
Diameters are drawn with a minimal single headed line from dimensional value to the closest point on circle, radii as with Reduced extent.
Reduced - for lengths and angles a single headed line connecting the dimensional value and the end point's extension line is drawn along with the extension line itself.
Diameters are drawn with a single headed line from the center to the closest point on circle, radii with a minimal single headed line from dimensional value to the closest arc point.
Normal - the default value. For lengths and angles a double headed line (or arc) connecting the start and end point's extension lines is drawn, the extension lines themselves as well.
Diameters are drawn as double headed lines striking the center and connecting the closest and farthest points on the circle.
Radii are drawn as a single headed line from center to the closest arc point.
Expanded - Only diameters support this value, rendering them in a horizontal or vertical length-like way. Other dimension types are rendered as with Normal extent.
  • ViewFlipArrowheads: By default the value inside the dimension line/arc means the arrows pointing outwards. If placed outside the dimension line/arc, the arrows point inwards the dimension line/arc.
false - Let the direction of arrows to be selected automatically according to the rule above.
true - Override the automatically chosen direction and force the opposite one.

Standard and Style

For a quick preview and presentation of the 4 basic Standard And Style differences, please see the picture below (from

TechDraw Dimension standardization.png


See also: TechDraw API and FreeCAD Scripting Basics.

The Dimension Length tool can be used in macros and from the Python console by using the following functions:

dim1 = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewDimension','Dimension')
dim1.Type = "Distance"
dim1.References2D=[(view1, 'Edge1')]
rc = page.addView(dim1)


  • Edge selection. Edges can be difficult to select. You can adjust the selection area for edges using the parameter "/Mod/TechDraw/General/EdgeFuzz" (see Std_DlgParameter). This is a dimension-less number. The default is 10.0. Values in the 20-30 range will make it noticeably easier to select edges. Large numbers will cause overlaps with other drawing elements.
  • Decimal places. Dimensions use the global decimal places setting by default. This can be changed via preferences or by changing the FormatSpec property.
  • Multiple objects. Views may contain multiple 3D objects as Source. Dimensions may be applied to geometry from any object(s) in the View (ex from Object1.Vertex0 to Object2.Vertex3).