FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!


GuiCommand: Name: Draft Dimension MenuLocation: Annotation , Dimension Workbenches: Draft_Workbench Shortcut: D I Version: 0.8 SeeAlso: Draft_FlipDimension

Draft Dimension

Description

The Draft Dimension command creates a linear dimension, a radial dimension or an angular dimension.

Linear dimensions based on edges and radial dimensions are parametric. This means that they will update if the measured edge is modified. Measured edges can belong to Draft objects but also to solid bodies. Angular dimensions are not parametric.

Draft Dimensions can be displayed on a TechDraw Workbench page using the TechDraw DraftView or TechDraw ArchView commands. Alternatively the TechDraw Workbench offer its own dimension commands. But these create dimensions that are only displayed on the drawing page and not in the 3D view.

*Linear dimension defined by three points*

Usage

See also: Draft Tray, Draft Snap and Draft Constrain.

Linear dimension

  1. Optionally select a straight edge in the 3D view.
  2. There are several ways to invoke the command:
    • Press the Dimension button.
    • Select the Annotation → Dimension option from the menu.
    • Use the keyboard shortcut: D then I.
  3. The Dimension task panel opens. See Options for more information.
  4. If you have not yet selected an edge do one of the following:
    • Press E or the Select edge button and select a straight edge in the 3D view.
    • Hold down the Alt key, select a straight edge in the 3D view and release the Alt key.
    • Define the measured distance by picking points:
      • Pick a first point in the 3D view, or type coordinates and press the Enter point button.
      • Pick a second point in the 3D view, or type coordinates and press the Enter point button.
  5. To position the dimension line do one of the following:
    • For an aligned dimension:
      • Pick a point in the 3D view, or type coordinates and press the Enter point button.
    • For a horizontal dimension:
      • Move the pointer above or below the edge or points.
      • Hold down the Shift key, move the pointer and pick a point in the 3D view.
    • For a vertical dimension:
      • Move the pointer to the left or right of the edge or points.
      • Hold down the Shift key, move the pointer and pick a point in the 3D view.

Radial dimension

  1. Optionally select a circular edge in the 3D view.
  2. Invoke the command as explained above.
  3. The Dimension task panel opens. See Options for more information.
  4. If you have not yet selected an edge do one of the following:
    • Press E or the Select edge button and select a circular edge in the 3D view.
    • Hold down the Alt key, select a circular edge in the 3D view and release the Alt key.
  5. To position the dimension line do one of the following:
    • For a diameter dimension:
      • Pick a point in the 3D view, or type coordinates and press the Enter point button.
    • For a radial dimension:
      • Hold down the Shift key and pick a point in the 3D view.

Angular dimension

  1. Invoke the command as explained above.
  2. The Dimension task panel opens. See Options for more information.
  3. Do one of the following:
    • Press E or the Select edge button and select a first straight edge in the 3D view. Repeat this to select a second straight edge.
    • Hold down the Alt key, select two straight edges in the 3D view and release the Alt key.
  4. To position the dimension arc pick a point in the 3D view.
  5. The displayed angle depends on the edges and the picked point.

Options

The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 1.0).

  • To manually enter coordinates enter the X, Y and Z component, and press Enter after each. Or you can press the Enter point button when you have the desired values. It is advisable to move the pointer out of the 3D view before entering coordinates.
  • Press R or click the Relative checkbox to toggle relative mode. If relative mode is on, coordinates are relative to the last point, if available, else they are relative to the coordinate system origin.
  • Press G or click the Global checkbox to toggle global mode. If global mode is on, coordinates are relative to the global coordinate system, else they are relative to the working plane coordinate system.
  • Press N or click the Continue checkbox to toggle continue mode. This mode only works for linear dimensions. If continue mode is on, the command will restart after finishing, allowing you to continue creating dimensions. All subsequent dimensions will start from the final point of the previous dimension, and will use the same baseline as the first dimension. Note that edge selection is not possible for subsequent dimensions.
  • Press S to switch Draft snapping on or off.
  • Press Esc or the Close button to finish the command.

Notes

  • Linear and radial Draft Dimensions can be edited with the Draft Edit command.
  • Draft Dimensions created or saved with FreeCAD version 0.21 are not backward compatible.

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

{{TitleProperty|Dimension}}

  • Dimline|VectorDistance: specifies the point through which the dimension line passes.

  • Linked Geometry|LinkSubList: specifies the object and its subelement(s) the dimension is linked to.

  • Normal|Vector: specifies the normal of the plane of the text.

  • Support|Link|hidden: specifies the measured object.

{{TitleProperty|Linear/radial dimension}}

  • Direction|Vector: specifies the direction of the measurement.

  • Distance|Length: (read-only) specifies the value of the measurement.

  • End|VectorDistance: specifies the end point of the measurement.

  • Start|VectorDistance: specifies the start point of the measurement.

{{TitleProperty|Radial dimension}}

  • Diameter|Bool: specifies if a radial dimension is displayed as a diameter dimension. Not used for linear dimensions.

Data angular dimension

{{TitleProperty|Angular dimension}}

  • Angle|Angle: (read-only) specifies the value of the measurement.

  • Center|VectorDistance: specifies the center of the measurement.

  • First Angle|Angle: specifies the start angle of the measurement.

  • Last Angle|Angle: specifies the end angle of the measurement.

{{TitleProperty|Dimension}}

  • Dimline|VectorDistance: specifies the point through which the dimension arc passes.

  • Linked Geometry|LinkSubList|hidden: not used.

  • Normal|Vector|hidden: specifies the normal of the plane of the dimension.

  • Support|Link|hidden: not used.

View

{{TitleProperty|Annotation}}

  • Annotation Style|Enumeration: specifies the annotation style applied to the dimension. See Draft AnnotationStyleEditor.

  • Scale Multiplier|Float: specifies the general scaling factor applied to the dimension.

{{TitleProperty|Display Options}}

  • Display Mode|Enumeration: specifies how the text is displayed. If it is {{value|World}} the text will be displayed on a plane defined by the Normal of the measurement. If it is {{value|Screen}} the text will always face the screen. This is an inherited property. The mentioned options are the renamed options ((v0.21) ).

{{TitleProperty|Graphics}}

  • Arrow Size|Length: specifies the size of the symbols displayed at the ends of the dimension line or arc.

  • Arrow Type|Enumeration: specifies the type of symbol displayed at the ends of the dimension line or arc, which can be {{value|Dot}}, {{value|Circle}}, {{value|Arrow}}, {{value|Tick}} or {{value|Tick-2}}.

  • Dim Overshoot|Distance: specifies the additional length added to the dimension line. Not used for angular dimensions.

  • Ext Lines|Distance: specifies the length of the extension lines that go from the dimension line to the measured points. Use {{Value|0}} for full extension lines. A negative value defines the gap between the ends of the extension lines and the measured points. A positive value defines the maximum length of the extension lines. Only used for linear dimensions.

  • Ext Overshoot|Distance: specifies the additional length of the extension lines beyond the dimension line. Not used for angular dimensions.

  • Flip Arrows|Bool: 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.

  • Line Color|Color: specifies the color of the dimension line or arc, and the arrows.

  • Line Width|Float: specifies the width of the lines or arc belonging to the dimension.

  • Show Line|Bool: specifies whether to display the dimension line. Does not affect the display of extension lines and overshoots. Not used for angular dimensions.

{{TitleProperty|Text}}

  • Flip Text|Bool: specifies whether to flip the orientation of the text.

  • Font Name|Font: specifies the font used to draw the text. It can be a font name, such as {{value|Arial}}, a default style such as {{value|sans}}, {{value|serif}} or {{value|mono}}, a family such as {{value|Arial,Helvetica,sans}}, or a name with a style such as {{value|Arial:Bold}}. If the given font is not found on the system, a default font is used instead.

  • Font Size|Length: specifies the size of the letters. The text can be invisible in the 3D view if this value is very small.

  • Override|String: specifies a custom text to display instead of the actual measurement. Use the string {{value|$dim}} inside the text to include the measurement.

  • Text Color|Color: specifies the color of the text. (v0.21)

  • Text Position|VectorDistance: specifies the position of the text in absolute coordinates. {{Value|[0, 0, 0]}} will display the text in its default position near the dimension line or arc.

  • Text Spacing|Length: specifies the space between the text and the dimension line or arc.

{{TitleProperty|Units}}

  • Decimals|Integer: specifies the number of decimal places to display for the measurement.

  • Show Unit|Bool: specifies whether to display the unit next to the numerical value of the measurement. Not used for angular dimensions.

  • Unit Override|String: specifies the unit in which to express the measurement, for example, {{value|km}}, {{value|m}}, {{value|cm}}, {{value|mm}}, {{value|mi}}, {{value|ft}}, {{value|in}} or {{value|arch}} 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 make_dimension method ((v0.19) ) of the Draft module. This method replaces the deprecated makeDimension method.

dimension = make_dimension(p1, p2, p3=None, p4=None)```

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


```python
dimension = make_dimension(p1, p2, p3=None)
dimension = make_dimension(object, i1, i2, p4=None)
dimension = make_dimension(object, i1, mode, p4=None)
  • Creates a linear dimension by measuring the distance between points p1 and p2.

  • Creates a linear dimension linked to object, measuring the distance between its vertices indexed i1 and i2.

  • Creates a circular dimension linked to object, with i1 being the index of the curved edge to measure, and mode being either "radius" or "diameter" to specify the type of dimension.

    `p3`
    
    in the first call, and `p4` in the other two, specify an optional point through which the dimension line should go.
    • All points are defined by their FreeCAD.Vector.

To create an angular dimension use the following method:

dimension = make_angular_dimension(center, angles, p3, normal=None)
dimension = make_angular_dimension(center, [angle1, angle2], p3, normal=None)
  • Creates an angular dimension from the given center point, the angles list with two elements, and the point p3 through which the arc should go.
    • If angle1 > angle2, the displayed angle is the difference angle1 - angle2; otherwise, the explementary angle is displayed, 360 - (angle2 - angle1).
    • The angles should be given in degrees.

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

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(-2500, 0, 0)
dimension1 = Draft.make_dimension(p1, p2, p3)
dimension1.ViewObject.FontSize = 200

polygon = Draft.make_polygon(3, radius=1000)
doc.recompute()

p4 = App.Vector(-2000, 1500, 0)
dimension2 = Draft.make_dimension(polygon, 1, 2, p4)
dimension2.ViewObject.FontSize = 200

center = App.Vector(2000, 0, 0)
p5 = App.Vector(3000, 1000, 0)
angle1 = 45
angle2 = 10
dimension3 = Draft.make_angular_dimension(center, [angle1, angle2], p5)
dimension3.ViewObject.FontSize = 200

dimension4 = Draft.make_angular_dimension(center, [angle2, angle1], p5*1.2)
dimension4.ViewObject.FontSize = 200

doc.recompute()

⏵ documentation index > Draft > Draft Dimension

This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Draft_Dimension.md

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub