TechDraw Dimension Length

From FreeCAD Documentation
Revision as of 00:26, 12 September 2019 by Wandererfan (talk | contribs)
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎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

How to use

  1. Select the points or edge which define your measurement.
  2. Press the TechDraw Dimension Length.png 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 Part Workbench and use Part → Part CreateSimpleCopy.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 NewView, 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.



  • DataX: Horizontal position of the dimension text relative to the View.
  • DataY: Vertical position of the dimension text relative to the View.
  • DataFormatSpec: Allows additional text to be added to the dimension text. Dimension value will replace %.2f (or other valid printf format specifier).
  • 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.
  • 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.
  • DataArbitrary: true - ignore actual value and display FormatSpec as value. false - use actual value.


  • 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.


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.