TechDraw LengthDimension: Difference between revisions

From FreeCAD Documentation
(update to new TD behavior)
m (wording)
(One intermediate revision by the same user not shown)
Line 36: Line 36:
# Press the {{Button|[[Image:TechDraw_Dimension_Length.svg|20px]] [[TechDraw_Dimension_Length|Dimension Length]]}} button.
# Press the {{Button|[[Image:TechDraw_Dimension_Length.svg|20px]] [[TechDraw_Dimension_Length|Dimension Length]]}} button.
# A dimension will be added to the View. The dimension may be dragged to the desired position.
# A dimension will be added to the View. The dimension may be dragged to the desired position.
# Add tolerances as described in [[TechDraw_Geometric_dimensioning_and_tolerancing#Tolerances|this page]].
# If needed, add tolerances as described in [[TechDraw_Geometric_dimensioning_and_tolerancing#Tolerances|this page]].

To change the dimension properties either double-clicking onto it in the drawing or double-click on the dimension object in the model tree. This will open the dimension dialog.


== Limitations == <!--T:7-->
== Limitations == <!--T:7-->

Revision as of 02:11, 20 January 2021

TechDraw Dimension Length

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

Description

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 Link Dimension tool.

Length dimension taken from two arbitrary nodes of the view

Usage

  1. Select the points or edge which define your measurement.
  2. Press the Dimension Length button.
  3. A dimension will be added to the View. The dimension may be dragged to the desired position.
  4. If needed, add tolerances as described in this page.

To change the dimension properties either double-clicking onto it in the drawing or double-click on the dimension object in the model tree. This will open the dimension dialog.

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.

  • Select the object that you want to project, then switch to the Part Workbench and use Part → 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.

Properties

Data

Base

  • 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.
  • DataMeasure Type: How the measurement is performed. Not normally manipulated directly by the end user.
True - based on 3D geometry or
Projected - based on the drawing
  • DataTheoretical Exact: 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.
  • DataEqual Tolerance: If over- and undertolerance are equal. Then the negated value of the overtolerance is used as undertolerance.
true - the negated value of the DataOver Tolerance is used as DataUnder Tolerance. The display will be
false - the DataUnder Tolerance is taken into account. The display will be
  • DataOver Tolerance: The amount by which the piece may be larger than the Dimension shown.
  • DataUnder Tolerance: 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°).

Format

  • DataFormat Spec: 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).
  • DataFormat Spec Tolerance: Like DataFormat Spec, but for tolerances.
  • DataArbitrary: Specifies, whether treat Format Spec 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 Format Spec as value.
  • DataArbitrary Tolerances: Like DataArbitrary, but for the tolerance.

View

Base

  • 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.
  • ViewFont Size: Dimension text size in mm.
  • ViewLine Width: Dimension line weight.
  • ViewColor: Color for lines and text.
  • ViewStandard And Style: Specifies the standard (and the style of it) according to which the dimension is drawn:
Differences between the supported standards
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.
  • ViewRendering Extent: 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.
  • ViewFlip Arrowheads: 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.

Scripting

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)


Notes

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