TechDraw LengthDimension
|
Menu location |
---|
TechDraw → Dimensions → Insert Length Dimension |
Workbenches |
TechDraw |
Default shortcut |
None |
Introduced in version |
- |
See also |
TechDraw HorizontalDimension, TechDraw VerticalDimension |
Description
The TechDraw LengthDimension tool adds a linear dimension to a View. The dimension may be the distance between two points, the length of a straight edge, the perpendicular distance between two edges, or the perpendicular distance between a point and an edge.
Length dimension taken from two points
Usage
- Select the points and/or edges which define your measurement. The geometry may be selected in the 3D view (first two options) or in the drawing (all options):
- Select two points.
- Select a single straight edge.
- Select two edges. If both edges are straight they must be parallel. This will produce a perpendicular dimension if an endpoint of one of the edges has a perpendicular projection on the other edge (the resultant point must lie on the actual edge). If multiple solutions are possible, the endpoint that is closest to its projected point is used. If there is no valid perpendicular projection, the dimension will be the distance between the nearest endpoints of the edges.
- Select a point and an edge. This will produce a perpendicular dimension. In version 0.21 and below the dimension will only be perpendicular if the point has a perpendicular projection on the actual edge. Else the dimension will be the distance between the point and the nearest endpoint of the edge.
- If you have selected geometry in the 3D view: add the correct TechDraw View to the selection by selecting it in the Tree view.
- There are several ways to invoke the tool:
- introduced in version 1.0: If the Dimensioning tools preference is set to
Single tool
(default): press the down arrow to the right of thebutton and select the
Insert Length Dimension option from the dropdown.
- If this preference has a different value (and in version 0.21 and below): press the
Insert Length Dimension button.
- Select the TechDraw → Dimensions →
Insert Length Dimension option from the menu.
- introduced in version 1.0: If the Dimensioning tools preference is set to
- A dimension is added to the View.
- The dimension may be dragged to the desired position.
- If needed, add tolerances as described on this page.
Display 3D measurement
The dimension will initially display the projected measurement (i.e. as shown in the drawing). If required, and if the dimension is based on 3D references, it can be changed to the actual 3D measurement by changing its DataMeasure Type property to True
. To base a dimension on 3D references select geometry from the 3D view at creation time, or use the TechDraw DimensionRepair tool to update existing dimensions.
Change properties
To change the properties of a dimension object either double-click it in the drawing or in the Tree view. This will open the Dimension dialog.
Dimension dialog

The dimension dialog offers the following settings:
Tolerancing
- Theoretically Exact: If checked, the dimension is specified as theoretically exact. As such, it shall not have any tolerances. The dimension will be displayed with a frame around the value:
- Equal Tolerance: If checked, the over- and undertolerance are equal and the negated value of the overtolerance is used as undertolerance. The display will be
, otherwise it will be
.
- Overtolerance: The amount by which the dimension may be larger.
- Undertolerance: The amount by which the dimension may be smaller.
Formatting
- Format Specifier: How the dimension value will be formatted. By default the specifier is
%.xf
wherex
is the number of decimals. For the formatting syntax see this Wikipedia page. There is also an additional%w
format that prints the specified number of digits after the decimal separator and removes trailing zeros. For example,%.2w
means that at most 2 decimals will be printed and any trailing zeros will be cut off.
- Arbitrary Text: If checked, the dimension is replaced by the content of the Format Specifier field.
- OverTolerance Format Specifier: How the overtolerance value will be formatted. By default the specifier is
%.xf
wherex
is the number of decimals. For the formatting syntax see this Wikipedia page.
- UnderTolerance Format Specifier: How the undertolerance value will be formatted. By default the specifier is
%.xf
wherex
is the number of decimals. For the formatting syntax see this Wikipedia page.
- Arbitrary Tolerance Text: If checked, the tolerances are replaced by the content of the OverTolerance Format Specifier UnderTolerance Format Specifier fields.
Display Style
- Flip Arrowheads: Flips the direction of the dimension line arrows. By default they are inside the dimension line/arc and point outwards.
- Color: The color for lines and text.
- Font Size: The dimension text size.
- Drawing Style: The standard (and its style) according to which the dimension is drawn. See the property Standard And Style for details.
Lines
- Override Angles: If checked, the usual angles for the dimension line and extension lines will be overridden by the specified values.
- Dimension line angle: Override value for angle of dimension line with view X axis (in degrees).
- Use default: Set dimension line angle to the usual angle.
- Use selection: Set dimension line angle to match the angle of the selected edge (or 2 vertices) in the view.
- Extension line angle: Override value for angle of extension lines with view X axis (in degrees).
- Use default: Set extension line angle to the usual angle.
- Use selection: Set extension line angle to match the angle of the selected edge (or 2 vertices) in the view.
Limitations
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.
Workaround
If you want to keep a TechDraw view with dimensions that won't break, you need to dimension an object that won't change:
- Create a non-parametric copy of the object that you want to project with Part SimpleCopy.
- 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.
Notes
- Edge selection. Edges can be difficult to select. You can adjust the selection area for edges by changing the Edge Fuzz preference.
- Decimal places. Dimensions use the global decimal places setting by default. This can be changed in the 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).
Properties
Data
Base
- DataReferences 2D (
LinkSubList
): The 2D drawing View object(s) on which the measurement is based. Used if DataMeasure Type isProjected
. - DataReferences 3D (
LinkSubList
): The 3D object(s) on which the measurement is based. Used if DataMeasure Type isTrue
. - DataType (
Enumeration
): Length, radius, diameter, etc. Not normally manipulated by the end user. - DataMeasure Type (
Enumeration
): How the measurement is performed.
True
- based on 3D geometry.Projected
- based on 2D drawing View geometry.
- DataTheoretical Exact (
Bool
): Specifies a theoretically exact (or basic) dimension.
- DataEqual Tolerance (
Bool
): If over- and undertolerance are equal. Then the negated value of the overtolerance is used as undertolerance.
- DataOver Tolerance (
QuantityConstraint
): The amount by which the dimension may be larger. - DataUnder Tolerance (
QuantityConstraint
): The amount by which the dimension may be smaller. - DataInverted (
Bool
): 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°).
- DataX (
Distance
): Horizontal position of the dimension text relative to the View. - DataY (
Distance
): Vertical position of the dimension text relative to the View. - Data (Hidden)Lock Position (
Bool
): Locks the position of the dimension text whentrue
. - Data (Hidden)Rotation (
Angle
): Read only. - Data (Hidden)Scale Type (
Enumeration
): Read only. - Data (Hidden)Scale (
FloatConstant
): Read only. - Data (Hidden)Caption (
String
): Not used.
Format
- DataFormat Spec (
String
): How the dimension value will be formatted. See Formatting. - DataFormat Spec Over Tolerance (
String
): Like DataFormat Spec, but for overtolerances. - DataFormat Spec Under Tolerance (
String
): Like DataFormat Spec, but for undertolerances. - DataArbitrary (
Bool
): Whether the dimension is replaced by the content of the Format Spec field.
false
- the content of the Format Spec is used to format the actual dimensional value.true
- the content of the Format Spec will be displayed as text instead of the dimension value.
- DataArbitrary Tolerances (
Bool
): Like DataArbitrary, but for the tolerance.
Override
- DataAngle Override (
Bool
): Whether the direction of dimension and extension lines is overridden.
false
- the directions are computed as usual.true
- the directions are overridden by LineAngle and ExtensionAngle property values.
- DataLine Angle (
Angle
): Angle of dimension line with view X axis (in degrees). - DataExtension Angle (
Angle
): Angle of extension line(s) with view X axis (in degrees).
References
- Data (Hidden)Saved Geometry (
TopoShapeList
): Reference geometry. introduced in version 0.21
View
Base
- ViewKeep Label (
Bool
): Not used. - ViewStack Order (
Integer
): Over or underlap relative to other drawing objects. introduced in version 0.21
Dimension Format
- ViewArrowsize (
Length
): The size of the dimension arrows. introduced in version 0.21 - ViewColor (
Color
): Color for lines and text. - ViewFlip Arrowheads (
Bool
): 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.
- ViewFont (
Font
): The name of the font to use for the dimension text. - ViewFontsize (
Length
): Dimension text size. - ViewGap Factor ASME (
Float
): Adjusts the gap between the dimension points and the start of the extension lines. The gap is this value times the line width. introduced in version 0.21 - ViewGap Factor ISO (
Float
): Adjusts the gap between the dimension points and the start of the extension lines. The gap is this value times the line width. introduced in version 0.21 - ViewLine Spacing Factor (
Float
): Adjusts the gap between the dimension text and the dimension line. The gap is this value times the line width. introduced in version 0.21 - ViewLine Width (
Length
): Dimension line weight. - ViewRendering Extent (
Enumeration
): 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 followingReduced
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 withNormal
extent.
- ViewStandard And Style (
Enumeration
): Specifies the standard (and its style) according to which the dimension is drawn:
ISO Oriented
- drawn according to the standard ISO 129-1, 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 the standard ASME Y14.5M, 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.
Scripting
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
The Length Dimension 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")]
page.addView(dim1)
- Pages: Insert Default Page, Insert Page using Template, Update template fields, Redraw Page, Print All Pages, Export Page as SVG, Export Page as DXF
- Views:
- TechDraw views: Insert View, Insert Broken View, Insert Section View, Insert Complex Section View, Insert Detail View, Insert Projection Group, Insert Clip Group, Insert SVG Symbol, Insert Bitmap Image, Share View, Turn View Frames On/Off, Project Shape
- Views from other workbenches: Insert Active View, Insert Draft Workbench Object, Insert BIM Workbench Object, Insert Spreadsheet View
- Stacking: Move view to top of stack, Move view to bottom of stack, Move view up one level, Move view down one level
- Dimensions: Insert Dimension, Insert Length Dimension, Insert Horizontal Dimension, Insert Vertical Dimension, Insert Radius Dimension, Insert Diameter Dimension, Insert Angle Dimension, Insert 3-Point Angle Dimension, Insert Area Annotation, Create Arc Length Dimension, Insert Horizontal Extent Dimension, Insert Vertical Extent Dimension, Create Horizontal Chain Dimensions, Create Vertical Chain Dimensions, Create Oblique Chain Dimensions, Create Horizontal Coordinate Dimensions, Create Vertical Coordinate Dimensions, Create Oblique Coordinate Dimensions, Create Horizontal Chamfer Dimension, Create Vertical Chamfer Dimension, Insert Balloon Annotation, Insert Axonometric Length Dimension, Insert Landmark Dimension, Dimension Repair, Link Dimension to 3D Geometry
- Hatching: Hatch Face using Image File, Apply Geometric Hatch to Face,
- Annotations: Insert Annotation, Add Leaderline to View, Insert Rich Text Annotation, Add Cosmetic Vertex, Add Midpoint Vertices, Add Quadrant Vertices, Add Centerline to Faces, Add Centerline between 2 Lines, Add Centerline between 2 Points, Add Cosmetic Line Through 2 points, Add Cosmetic Circle, Change Appearance of Lines, Show/Hide Invisible Edges, Add Welding Information to Leader, Add Surface Finish Symbol, Add Hole or Shaft Tolerances
- Extensions:
- Attributes and modifications: Select Line Attributes, Cascade Spacing and Delta Distance, Change Line Attributes, Extend Line, Shorten Line, Lock/Unlock View, Position Section View, Position Horizontal Chain Dimensions, Position Vertical Chain Dimensions, Position Oblique Chain Dimensions, Cascade Horizontal Dimensions, Cascade Vertical Dimensions, Cascade Oblique Dimensions, Calculate the area of selected faces, Calculate the arc length of selected edges, Customize format label
- Centerlines and threading: Add Circle Centerlines, Add Bolt Circle Centerlines, Add Cosmetic Thread Hole Side View, Add Cosmetic Thread Hole Bottom View, Add Cosmetic Thread Bolt Side View, Add Cosmetic Thread Bolt Bottom View, Add Cosmetic Intersection Vertex(es), Add an offset vertex, Add Cosmetic Circle, Add Cosmetic Arc, Add Cosmetic Circle 3 Points, Add Cosmetic Parallel Line, Add Cosmetic Perpendicular Line
- Dimensions: Insert '⌀' Prefix, Insert '□' Prefix, Insert 'n×' Prefix, Remove Prefix, Increase Decimal Places, Decrease Decimal Places
- Miscellaneous: Remove Cosmetic Object
- Additional: Line Groups, Templates, Hatching, Geometric dimensioning and tolerancing, Preferences

- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub