|Draft → Dimension|
|Draft, Arch, TechDraw Workbench|
|Introduced in version|
Thetool 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 NewDraft or TechDraw NewArch 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.
Dimension defined by three points
- Invoke the command Draft Dimension tool several ways:
- Press the button in the Draft toolbar,
- Use the then keyboard shortcut
- Use the Draft → Dimension entry in the Draft menu
- Click a point on the 3D view, or type a coordinate and press the button.
- Click a second point on the 3D view, or type a coordinate and press the button. The first two points define the measured distance.
- Click a third on the 3D view, or type a coordinate and press the button. The final point defines the position of the measurement line.
The dimension can be edited by double clicking on the element in the Tree view, or by pressing the button. Then you can move the points to a new position.
The measuring points can be changed after creation by changing the start and end properties.
The position of the measurement line can also be changed after creation by changing its direction property.
Available dimension types
Release the modifier,or , after picking a point or an edge.
- Linear dimensions: hold the key, or click on the button, and pick a straight edge, then pick a second point to draw the dimension line parallel to that edge.
- Note: you can also pre-select the edge before calling the tool.
- Horizontal and vertical dimensions: pick one point, then pick a second point, then hold the key and move the pointer horizontally or vertically, then pick a third point to draw the dimension line parallel to either the X axis or the Y axis.
- Note 1: click and hold and move the pointer in different directions many times until the dimension line aligns to the desired axis. Clicking while the pointer is far from the first point will usually align the dimension to the X axis; if the pointer is close to the first point it will usually align the dimension to the Y axis.
- Note 2: instead of picking two points, pick an edge while holding .
- Diameter dimensions: hold the
key and pick a curved edge, then pick a second point to draw the dimension line.
- Radius dimensions: hold the key and pick a curved edge, then hold the key and pick a second point to draw the dimension line.
- Angular dimensions: hold the key and then pick two straight edges, then pick a point between the two edges to show the acute or obtuse angle, or elsewhere to show a supplementary or explementary angle.
- Note: the displayed angle largely depends on the original position of the selected edges. If you would like to display a particular angle, you may have to add auxiliary Draft Lines that extend from the original edges, and measure these extensions.
Note: by pre-selecting an edge, or by picking it withor , the dimension will become parametric, that is, it will remember which edge it is bound to. If the endpoints of that edge move later on, the dimension will follow them, and adjust the displayed measurement.
- 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 snapping your point to the nearest snap location, independently of the distance. while drawing to force
- Hold constrain your next point horizontally or vertically in relation to the previous one, and to switch between diameter and radius modes. while drawing to
- Press or the button to abort the current command, and finish continued dimensions; dimensions already placed will remain.
- DataStart: specifies the start point of the distance to measure.
- DataEnd: specified the end point of the distance to measure.
- DataDimline: specifies a point through which the dimension line must pass.
- DataDistance: (read-only) indicates the measured length.
- DataDiameter: if it is
trueit displays a diameter dimension; otherwise it displays a radius dimension; this property only works if the dimension is attached to a circular arc.
- ViewExt Lines: specifies the maximum length of the extension lines that go from the measurement points to the dimension line.
- ViewExt Overshoot: specifies the additional length of the extension lines beyond the dimension line.
- ViewDim Overshoot: specifies the additional length added to the dimension line.
- ViewArrow Size: specifies the size of the symbol displayed at the ends of the dimension line.
- ViewArrow Type: specifies the type of symbol displayed at the ends of the dimension line, which can be "Dot", "Circle", "Arrow", or "Tick".
- ViewFlip Arrows: specifies whether to flip the orientation of the symbols at the ends of the dimension line; it only works if these symbols are arrows.
- ViewFont Name: specifies the font to use to draw the text. It can be a font name, such as "Arial", a default style such as "sans", "serif" or "mono", a family such as "Arial,Helvetica,sans" or a name with a style such as "Arial:Bold". If the given font is not found on the system, a generic one is used instead.
- ViewFont Size: specifies the size of the letters. If the dimension object is created in the tree view but no text is visible, increase the size of the text until it is visible.
- ViewFlip Text: specifies whether to flip the orientation of the text indicating the measurement.
- ViewText Position: specifies the position of the text in absolute coordinates, referred to the origin (0,0,0); leave this property at its default value (0,0,0) to display the text next to the dimension line.
- ViewText Spacing: specifies the space between the text and the dimension line.
- ViewOverride: specifies a custom text to display instead of the actual measurement. Use the string
$diminside the text to display the measurement value.
- ViewDecimals: specifies the number of decimal places to display on the measurement.
- ViewShow Unit: if it is
truethe unit is displayed next to numerical value of the measurement.
- ViewUnit Override: specifies a unit in which to express the measurement, for example, "km", "m", "cm", "mm", "mi", "ft", "in"; leave this property blank to use the default units. introduced in version 0.17
Dimension = makeDimension(p1, p2, p3=None, p4=None)
There are various ways to invoke this function, depending on the arguments passed to it:
Dimension = makeDimension(p1, p2, p3=None) Dimension = makeDimension(object, i1, i2, p4=None) Dimension = makeDimension(object, i1, mode, p4=None)
- Creates a linear
Dimensionby measuring the distance between points
- Creates a linear
object, measuring the distance between its vertices indexed
- Creates a circular
i1being the index of the curved edge to measure, and
"diameter"to specify the type of dimension.
p3in the first call, and
p4in 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 function:
Dimension = makeAngularDimension(center, angles, p3, normal=None) Dimension = makeAngularDimension(center, [angle1, angle2], p3, normal=None)
- Creates an angular
Dimensionfrom the given
angleslist with two elements, and the point
p3through which the arc should go.
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 radians; the
math.radians()function can be used to convert angles 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.
import math, FreeCAD, Draft p1 = FreeCAD.Vector(0, 0, 0) p2 = FreeCAD.Vector(1000, 1000, 0) p3 = FreeCAD.Vector(-2500, 0, 0) Dimension1 = Draft.makeDimension(p1, p2, p3) Dimension1.ViewObject.FontSize = 200 Polygon = Draft.makePolygon(3, radius=1000) p4 = FreeCAD.Vector(-2000, 1500, 0) Dimension2 = Draft.makeDimension(Polygon, 1, 2, p4) Dimension2.ViewObject.FontSize = 200 center = FreeCAD.Vector(2000, 0, 0) p5 = FreeCAD.Vector(3000, 1000, 0) angle1 = math.radians(45) angle2 = math.radians(10) Dimension3 = Draft.makeAngularDimension(center, [angle1, angle2], p5) Dimension3.ViewObject.FontSize = 200 Dimension4 = Draft.makeAngularDimension(center, [angle2, angle1], p5*1.2) Dimension4.ViewObject.FontSize = 200
- Video tutorial: Projecting dimensions on a Drawing Page, FreeCAD 0.14