TechDraw Geometric dimensioning and tolerancing: Difference between revisions

From FreeCAD Documentation
(→‎Tolerancing: add tables)
mNo edit summary
 
(43 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Page_in_progress}}

<languages/>
<languages/>
<translate>
<translate>

<!--T:28-->
<!--T:28-->
{{Docnav
{{Docnav
|[[TechDraw_Hatching|Hatching]]
|[[TechDraw_Hatching|Hatching]]
|[[TechDraw_Preferences|Preferences]]
|[[TechDraw_Preferences|Preferences]]
|[[TechDraw_Module|TechDraw]]
|[[TechDraw_Workbench|TechDraw]]
|IconL=
|IconL=
|IconR=
|IconR=
Line 17: Line 16:
<translate>
<translate>


==Concept==
==Concept== <!--T:30-->


<!--T:31-->
The main purpose of a technical drawing is that others understand what the designer created with what tolerances AND how to manufacture the design. To achieve this the system of [https://en.wikipedia.org/wiki/Geometric_dimensioning_and_tolerancing Geometric Dimensioning and Tolerancing] (GD&T) was developed for defining and communicating engineering tolerances.
The main purpose of a technical drawing is that others understand what the designer created with what tolerances AND how to manufacture the design. Since most parts have to fit to assemblies, also the geometric relations to other parts are important. To achieve this, the system of [https://en.wikipedia.org/wiki/Geometric_dimensioning_and_tolerancing Geometric Dimensioning and Tolerancing] (GD&T) was developed.


<!--T:32-->
The concept of the geometrical tolerancing is that in practice the dimension is just one parameter to decide if a part can he used or not. Take for example this part:
Take for example this part:


<!--T:33-->
[[Image:TechDraw_Hole-Position-Example.png]]
[[Image:TechDraw_Hole-Position-Example.png]]


<!--T:34-->
In the application an axis should be put through the 2 holes of the part. That mean we have to specify the following things
In the application an axis should be put through the 2 holes of the part. That means we have to specify the following things
* The diameter of the holes and they are equal.
* The diameter of the holes and their positions.
* That the holes are along a certain axis that is not perpendicular to the XZ base plane.
* That the holes are along a certain axis that is not perpendicular to the XZ base plane.
* That the axis part must have a certain straightness.
* That the axis part must have a certain straightness.


<!--T:35-->
The straightness is important because a bend axis would not fit through the holes. Thus it has to be specified for the axis part and not to our part. The hole alignment is important because just drilling each hole at the given position without taking care of the axis, would lead to holes through which the axis will not fit. So just specifying the hole dimension and position is not sufficient.
The straightness is important because a bent axis would not fit through the holes. The hole alignment is important because just drilling each hole at the given position without taking care of the axis, would lead to holes through which the axis will not fit. So just specifying the hole dimension and position is not sufficient. The first point is "classical" dimensioning while the 2 others are geometric information, thus GD&T comes into play. The example also makes clear that GD&T is essential to assure that parts fit well to assemblies.


<!--T:36-->
TechDraws' capabilities to fulfill the common GD&T standards is limited (as of FreeCAD 0.19) but you can achieve already many things. This Wiki page explains what is implemented and what tricks can be used for non-implemented features.
If you are not familiar with the concept of GD&T, we highly recommend to learn about it now. For example a quick introduction is given in [https://www.youtube.com/watch?v=P5GT9ZSRYl0 this video]. For more like the concept of the "maximum material condition", have a look at [https://www.youtube.com/watch?v=UXZjTb3ZUQI this video]. For details to all sorts of GD&T features, look around in the Internet. For example [https://www.youtube.com/c/Gdandtbasics/videos this YouTube channel] provides some good explanations.


<!--T:37-->
==Dimensioning==
GD&T is defined in the standards [http://geo-dim-tol.ir/files/iso1101.pdf ISO 1101] and [http://www.sharifcadcam.ir/uploaded/2e22f9ef-dfc5-47bc-a126-cc51e9686c4f.pdf ASME Y14.5].


<!--T:38-->
TechDraw provides several tools to create different types of dimension. Please have a look at the [[TechDraw_Module#Dimensions|different dimensions]] on how to create and modify them.
TechDraws' capabilities to fulfill the common GD&T standards is limited (as of FreeCAD 0.20) but you can achieve already many things. This Wiki page explains what is implemented and what tricks can be used for non-implemented features. '''Note:''' this Wiki page is not about to teach GD&T!


==Dimensioning== <!--T:39-->
===Formatting===


<!--T:40-->
TechDraw provides several tools to create different types of dimension. Please have a look at the [[TechDraw_Workbench#Dimensions|different dimensions]] on how to create and modify them.

===Formatting=== <!--T:41-->

<!--T:42-->
The default font for new dimension is determined by the [[TechDraw_Preferences#Labels|preferences]] setting '''Label Font'''. The default font size is specified by the [[TechDraw_Preferences#Dimensions|preferences]] setting '''Font Size'''.</br>'''Note:''' It is recommended to use a font in which the minus sign has the same width as the plus sign because this assured that tolerances will be formatted as proposed by the GD&T norms. Such a font is for example ''osifont'' that is part of all FreeCAD installations.

<!--T:43-->
The default format for new dimension numbers depends on the [[TechDraw_Preferences#Dimensions|preferences]] options '''Use Global Decimals''' and '''Alternate Decimals'''. This specifies the number of decimals, but in every case the dimension is a floating point number. For example if the setting is to have 2 decimals, the used format specifier is "%.2f" (floating point number with 2 decimals).
The default format for new dimension numbers depends on the [[TechDraw_Preferences#Dimensions|preferences]] options '''Use Global Decimals''' and '''Alternate Decimals'''. This specifies the number of decimals, but in every case the dimension is a floating point number. For example if the setting is to have 2 decimals, the used format specifier is "%.2f" (floating point number with 2 decimals).


<!--T:44-->
The number format can be changed:
The number format can be changed:
# Select a dimension in the tree
# Either double-click on the dimension in the drawing or onto the dimension object in the model tree
# In the appearing dimension dialog the field '''Format Specifier''' contains the format specifier, so change it to what you need
# Go to the properties tab '''Data''' and there to the section {{Properties_Title|Format}}
# The property {{PropertyData|Format Spec}} contains the format specifier, so change it to what you need


<!--T:45-->
The syntax of the format specifier is [https://www.cplusplus.com/reference/cstdio/printf/ explained here]. You can also use [https://onlinetexttools.com/printf-text this online tool] to see what formatting specifier will format numbers.
The syntax of the format specifier is [https://www.cplusplus.com/reference/cstdio/printf/ explained here]. You can also use [https://onlinetexttools.com/printf-text this online tool] to see what formatting specifier will format numbers.


<!--T:46-->
'''Examples:'''
'''Examples:'''
* You use 2 decimals but for an angle you want to have only one decimal use the format specifier ''%.1f''.
* You use 2 decimals but for an angle you want to have only one decimal use the format specifier ''%.1f''.
* You use 2 decimals but don't like that trailing zeroes are printed (you prefer ''4'' instead of ''4.00''). Then use this format specifier: ''%g''. The 'g' will use the shortest possible output and thus it omits trailing zeroes. Moreover it will automatically switch to [https://en.wikipedia.org/wiki/Scientific_notation#E_notation scientific notation] if necessary.
* You use 2 decimals but don't like that trailing zeroes are printed (you prefer ''4'' instead of ''4.00''). Then use this format specifier: ''%g''. The 'g' will use the shortest possible output and thus it omits trailing zeroes. Moreover it will automatically switch to [https://en.wikipedia.org/wiki/Scientific_notation#E_notation scientific notation] if necessary.


<!--T:47-->
With the property {{PropertyData|Inverted}} you can make length dimensions negative and flip angles from the range 0 - 180° to the the reflex range 180° - 360°.
With the property {{PropertyData|Inverted}} you can make length dimensions negative and flip angles from the range 0 - 180° to the the reflex range 180° - 360°.


<!--T:48-->
Setting the property {{PropertyData|Theoretical Exact}} to ''true'' will mark the dimension as theoretically exact by adding a frame around it.
Setting the option '''Theoretically Exact''' in the dimension dialog will mark the dimension as theoretically exact by adding a frame around it.


<!--T:49-->
You can use your own text instead of a formatted number by setting the property {{PropertyData|Arbitrary}} to ''true''. Then the content of the property {{PropertyData|Format Spec}} will be printed as dimension.
You can use your own text instead of a formatted number by setting the option '''Arbitrary Text''' in the dimension dialog. Then the content of the field '''Format Specifier''' will be printed as dimension.


<!--T:50-->
With the properties {{PropertyData|X}} and {{PropertyData|Y}} you can change the horizontal and vertical position of the dimension text relative to the view. Alternatively you can change the position by dragging the dimension number or text.
With the properties {{PropertyData|X}} and {{PropertyData|Y}} you can change the horizontal and vertical position of the dimension text relative to the view. Alternatively you can change the position by dragging the dimension number or text.


===Tolerances===
===Tolerances=== <!--T:51-->


====Creation====
====Creation==== <!--T:52-->


<!--T:53-->
# Create a [[TechDraw_Module#Dimensions|dimension]] in your drawing
# Select the dimension in the tree
# Create a [[TechDraw_Workbench#Dimensions|dimension]] in your drawing
# Either double-click on the dimension in the drawing or onto the dimension object in the model tree
# Go to the properties tab '''Data''' and there to the section {{Properties_Title|Format}}
# Add to the property {{PropertyData|Over Tolerance}} the amount by which the dimension can be exceeded.
# In the appearing dimension dialog specify as '''Overtolerance''' the amount by which the dimension can be exceeded.</br>This will result in an equal tolerance like this: [[Image:TechDraw_equal-tolerance.png|100px]]
# Add to the property {{PropertyData|Under Tolerance}} the amount by which the dimension can be smaller.
# If you have unequal tolerances, specify as '''Undertolerance''' the amount by which the dimension can be smaller and uncheck the option '''Equal Tolerance'''.</br>This will result in an unequal tolerance like this: [[Image:TechDraw_Non-equal-tolerance.png|80px]]


====Deletion====
====Deletion==== <!--T:54-->


<!--T:55-->
To get rid of a tolerance, change the the properties {{PropertyData|Over Tolerance}} and {{PropertyData|Under Tolerance}} to each ''0.00''.
To get rid of a tolerance, change '''Overtolerance''' and '''Undertolerance''' to each zero.


====Formatting====
====Formatting==== <!--T:56-->


<!--T:57-->
The default format for new tolerances is by default the same format than the dimension (property {{PropertyData|Format Spec}}). It can be changed by changing the properties {{PropertyData|Format Spec Over Tolerance}} and {{PropertyData|Format Spec Under Tolerance}}.
The default font for new tolerances is the same than for dimensions. The default font size is specified by the [[TechDraw_Preferences#Dimensions_2|preferences]] setting '''Tolerance Text Scale'''. This scale is a factor of the font size used for the dimension.


<!--T:58-->
You can also use your own text instead of a formatted number by setting the property {{PropertyData|Arbitrary Tolerances}} to ''true''. Then the content of the properties {{PropertyData|Format Spec Over Tolerance}} and {{PropertyData|Format Spec Under Tolerance}} will be printed as tolerances.
The default number format for new tolerances is by default the same format than for the dimension. It can be changed in the dimension dialog.


<!--T:59-->
Tolerances appear by default like this: [[Image:TechDraw_Non-equal-tolerance.png|120px]]. However, in many cases you have equal over- and undertolerance, thus it should better be displayed like "7,87 ±0,1 mm" since this is the standard. The only way to achieve this at the moment, is to delete the tolerances as described in the section above. Then set {{PropertyData|Arbitrary}} to ''true'' an enter the the dimension as it should appear: "7,87 ±0,1 mm".
You can also use your own text instead of a formatted number by checking the option '''Arbitrary Tolerance Text''' in the dimension dialog. Then the content of '''Tolerance Format Specifier''' will be used as tolerance text.


==Tolerancing==
==Geometrical Tolerancing== <!--T:60-->


<!--T:61-->
Tolerances are created by using the [[TechDraw_Balloon|Balloon]] feature of TechDraw. Since for most features a frame is required, it is helpful to change in the [[TechDraw_Preferences#Annotation|TechDraw preferences]] the '''Balloon Shape''' to '''Rectangle'''.

===Tolerance indicator=== <!--T:62-->

<!--T:63-->
[[File:TechDraw_GD%26T-Toleranced-rod.png|thumb|280px|right|Example of a toleranced rod. (The run-out already defines the straightness, it is only there as example.)]]

<!--T:64-->
The tolerance indicator of GD&T is a frame, also called "feature control frame". It can be created by using the [[TechDraw_Balloon|Balloon]] feature of TechDraw:
* after adding a Balloon and if its shape is not already a frame, double-click on it in the model tree and set in the appearing dialog the '''Shape''' to '''Rectangle'''.
* add the corresponding Unicode character for the feature you need to the Balloon '''Text'''. (You can copy them from the reference tables [[TechDraw_Geometric_dimensioning_and_tolerancing#Symbol_reference|below]] or use [[TechDraw_ExtensionCustomizeFormat|TechDraw ExtensionCustomizeFormat]].)
* by adding the character '|' to the '''Text''', you start a new indicator field.

<!--T:65-->
There is no rule that defines if or how the tolerance indicator must have a leader line or not, so you can either:
* set the property '''Line Visible''' to '''False''' in the balloon dialog.
* set '''End Symbol''' to '''Filled Arrow''' or '''Dot'''.

<!--T:66-->
The example at the right side shows the two possible tolerance indicator layouts.

===Datums=== <!--T:67-->

<!--T:68-->
Datums in the GD&T sense of the meaning are surfaces your tolerance is relative to. They are created as Balloon:
* after adding a Balloon, set '''End Symbol''' to '''Filled Triangle''' in the balloon dialog.
* if the bubble shape is not already a frame, set '''Bubble Shape''' to '''Rectangle'''.
* drag the bubble with the mouse so that the triangle points away from the datum surface.
* since it is common to have a straight line for datums unless the datum surface is not perpendicular to X or Y, assure that either the properties {{PropertyData|X}} and {{PropertyData|Origin X}} or {{PropertyData|Y}} and {{PropertyData|Origin Y}} are equal to get a straight Balloon line.

<!--T:69-->
[[File:TechDraw_GD&T-Datum.png|thumb|left|Example of a datum in a drawing]]
{{clear}}

===Symbol reference=== <!--T:70-->

<!--T:74-->
To insert GD&T symbols TechDraw provides the [[TechDraw_ExtensionCustomizeFormat|Customize format label]] feature.

<!--T:71-->
As reference, here are lists of characters to be used for geometric tolerancing:

<!--T:72-->
{| class="wikitable sortable"
{| class="wikitable sortable"
|+ Geometric tolerancing reference chart <small>(per ASME Y14.5 M-1982)</small>
|+ Geometric tolerancing reference chart <small>(according to table 2 in [http://geo-dim-tol.ir/files/iso1101.pdf ISO 1101-2017])</small>
|-
|-
! Type of control !! Geometric characteristics !! Symbol !! [https://en.wikipedia.org/wiki/Unicode Unicode] character !! Datum necessary !! Notes
! rowspan=2 | Type of control
! rowspan=2 | Geometric characteristics
! rowspan=2 | Symbol
! rowspan=2 | [https://en.wikipedia.org/wiki/Unicode Unicode] character
|-
|-
| Form
| Form
! Straightness
! Straightness
| <center>[[File:GD&T Straightness.svg|30px]]</center>
| <center>[[File:GD&T Straightness.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+23E4</small></center>
| <center><big>⏤</big> <small>U+23E4</small></center>
| <center>no</center>
|
|-
|-
| Form
| Form
! Flatness
! Flatness
| <center>[[File:GD&T Flatness.svg|30px]]</center>
| <center>[[File:GD&T Flatness.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+23E5</small></center>
| <center><big>⏥</big> <small>U+23E5</small></center>
| <center>no</center>
|
|-
|-
| Form
| Form
! Roundness / Circularity
! Roundness
| <center>[[File:GD&T Circularity.svg|30px]]</center>
| <center>[[File:GD&T Circularity.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+25CB</small></center>
| <center><big>○</big> <small>U+25CB</small></center>
| <center>no</center>
| In older norms also called circularity.
|-
|-
| Form
| Form
! Cylindricity
! Cylindricity
| <center>[[File:GD&T Cylindricity.svg|30px]]</center>
| <center>[[File:GD&T Cylindricity.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+232D</small></center>
| <center><big>⌭</big> <small>U+232D</small></center>
| <center>no</center>
|
|-
|-
| Form / Orientation / Location
| Profile
! Line profile
! Profile of a line
| <center>[[File:GD&T Profileofaline.svg|30px]]</center>
| <center>[[File:GD&T Profileofaline.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+2312</small></center>
| <center><big>⌒</big> <small>U+2312</small></center>
| <center>yes</center>
| No datum necessary when used for form purpose
|-
|-
| Form / Orientation / Location
| Profile
! Surface profile
! Profile of a surface
| <center>[[File:GD&T Profileofasurface.svg|30px]]</center>
| <center>[[File:GD&T Profileofasurface.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+2313</small></center>
| <center><big>⌓</big> <small>U+2313</small></center>
| <center>yes</center>
| No datum necessary when used for form purpose
|-
| Orientation
! Parallelism
| <center>[[File:GD&T Parallelism.svg|30px]]</center>
| <center><big>∥</big> <small>U+2225</small></center>
| <center>yes</center>
|
|-
|-
| Orientation
| Orientation
! Perpendicularity
! Perpendicularity
| <center>[[File:GD&T Perpendicularity.svg|30px]]</center>
| <center>[[File:GD&T Perpendicularity.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+27C2</small></center>
| <center><big>⟂</big> <small>U+27C2</small></center>
| <center>yes</center>
|
|-
|-
| Orientation
| Orientation
! Angularity
! Angularity
| <center>[[File:GD&T Angularity.svg|30px]]</center>
| <center>[[File:GD&T Angularity.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+2220</small></center>
| <center><big>∠</big> <small>U+2220</small></center>
| <center>yes</center>
|-
|
| Orientation
! Parallelism
| <center>[[File:GD&T Parallelism.svg|30px]]</center>
| <center><big>[[∥]]</big> <small>U+2225</small></center>
|-
| Location
! Symmetry{{efn|name=rev2018|In the 2018 revision, both concentricity and symmetry were eliminated and are no longer supported.}}{{efn|The symmetry symbol's characteristics were not included in the version of the chart that this chart is derived from. The symmetry symbol was dropped from the Y14.5M standard around 1982 and re-added around 1994.}}
| <center>[[File:GD&T Symmetry.svg|30px]]</center>
| <center><big>[[⌯]]</big> <small>U+232F</small></center>
|-
|-
| Location
| Location
! Position
! Position
| <center>[[File:GD&T Position.svg|30px]]</center>
| <center>[[File:GD&T Position.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+2316</small></center>
| <center><big>⌖</big> <small>U+2316</small></center>
| <center>yes</center>
| No datum necessary when working with norm ISO 5458.
|-
|-
| Location
| Location
! Concentricity{{efn|name=rev2018}}
! Concentricity / Coaxiality
| <center>[[File:GD&T Concentricity.svg|30px]]</center>
| <center>[[File:GD&T Concentricity.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+25CE</small></center>
| <center><big>◎</big> <small>U+25CE</small></center>
| <center>yes</center>
| Named concentricity when used for center points and coaxiality when used for median lines. In the norm ASME Y14.5 it was eliminated since the version from 2018.
|-
| Location
! Symmetry
| <center>[[File:GD&T Symmetry.svg|30px]]</center>
| <center><big>⌯</big> <small>U+232F</small></center>
| <center>yes</center>
| In the norm ASME Y14.5 from 2018, the symmetry was eliminated.
|-
|-
| [https://en.wikipedia.org/wiki/Run-out Run-out]
| [https://en.wikipedia.org/wiki/Run-out Run-out]
! Circular run-out
! Circular run-out
| <center>[[File:GD&T Circular runout.svg|30px]]</center>
| <center>[[File:GD&T Circular runout.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+2197</small></center>
| <center><big>↗</big> <small>U+2197</small></center>
| <center>yes</center>
|
|-
|-
| [https://en.wikipedia.org/wiki/Run-out Run-out]
| [https://en.wikipedia.org/wiki/Run-out Run-out]
! Total run-out
! Total run-out
| <center>[[File:GD&T Totalrunout.svg|30px]]</center>
| <center>[[File:GD&T Totalrunout.svg|30px]]</center>
| <center><big>[[]]</big> <small>U+2330</small></center>
| <center><big>⌰</big> <small>U+2330</small></center>
| <center>yes</center>
|
|}
|}


<!--T:73-->
{| class="wikitable sortable"
{| class="wikitable sortable"
|+ Symbols used in a "feature control frame" to specify a feature's description, tolerance, modifier and [[datum references]]
|+ Symbols used in the feature control frame to specify a feature's description, tolerance, modifier and datum references
|-
|-
! Symbol !! [[Unicode]] <br/>character !! Modifier !! Notes
! Symbol !! [https://en.wikipedia.org/wiki/Unicode Unicode] character !! Modifier !! Notes
|-
|-
| [[File:Gd&t freestate.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24BB</small></center> ||Free state || Applies only when part is otherwise restrained
| [[File:Gd&t freestate.svg|32px|center]] || <center><big>Ⓕ</big> <small>U+24BB</small></center> ||Free state || Applies only when part is otherwise restrained
|-
|-
| [[File:Gd&t leastmaterialcondition.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24C1</small></center> || Least material condition (LMC) || Useful to maintain minimum wall thickness
| [[File:Gd&t leastmaterialcondition.svg|32px|center]] || <center><big>Ⓛ</big> <small>U+24C1</small></center> || Least material condition (LMC) || Useful to maintain minimum wall thickness
|-
|-
| [[File:Gd&t maximummaterialcondition.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24C2</small></center> || Maximum material condition (MMC) || Provides bonus tolerance only for a feature of size
| [[File:Gd&t maximummaterialcondition.svg|32px|center]] || <center><big>Ⓜ</big> <small>U+24C2</small></center> || Maximum material condition (MMC) || Provides bonus tolerance only for a feature of size
|-
|-
| [[File:Gd&t projectedtolerancezone.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24C5</small></center> || [[Projected tolerance zone]] || Useful on threaded holes for long studs
| [[File:Gd&t projectedtolerancezone.svg|32px|center]] || <center><big>Ⓟ</big> <small>U+24C5</small></center> || Projected tolerance zone || Useful on threaded holes for long studs
|-
|-
| [[File:Gd&t regardlessoffeaturesize.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24C8</small></center> || Regardless of feature size (RFS) || {{No}}t part of the 1994 version. See para. A5, bullet 3. Also para. D3. Also, Figure 3-8.
| [[File:Gd&t regardlessoffeaturesize.svg|32px|center]] || <center><big>Ⓢ</big> <small>U+24C8</small></center> || Regardless of feature size (RFS) || Not part of the 1994 version. See para. A5, bullet 3. Also para. D3. Also, Figure 3-8.
|-
|-
| [[File:Gd&t tangentplane.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24C9</small></center> || Tangent plane || Useful for interfaces where form is not required
| [[File:Gd&t tangentplane.svg|32px|center]] || <center><big>Ⓣ</big> <small>U+24C9</small></center> || Tangent plane || Useful for interfaces where form is not required
|-
|-
| [[File:Gd&t continuousfeature.svg|47px|center]] || || Continuous feature || Identifies a group of features that should be treated geometrically as a single feature
| [[File:Gd&t continuousfeature.svg|47px|center]] || <center>—</center> || Continuous feature || Identifies a group of features that should be treated geometrically as a single feature
|-
|-
| [[File:Gd&t statisticaltolerance.svg|47px|center]] || || Statistical tolerance || Appears in the 1994 version of the standard, assumes appropriate statistical process control.
| [[File:Gd&t statisticaltolerance.svg|47px|center]] || <center>—</center> || Statistical tolerance || Appears in the 1994 version of the standard, assumes appropriate statistical process control.
|-
|-
| [[File:Gd&t unilateral.svg|32px|center]] || <center><big>[[]]</big><br /><small>[[Unicode|U]]+24CA</small></center> || Unequal bilateral || Added in the 2009 version of the standard, and refers to unequal profile distribution. Number after this symbol indicates tolerance in the "plus material" direction.
| [[File:Gd&t unilateral.svg|32px|center]] || <center><big>Ⓤ</big> <small>U+24CA</small></center> || Unequal bilateral || Added in the 2009 version of the standard, and refers to unequal profile distribution. Number after this symbol indicates tolerance in the "plus material" direction.
|}
|}


Line 193: Line 289:
|[[TechDraw_Hatching|Hatching]]
|[[TechDraw_Hatching|Hatching]]
|[[TechDraw_Preferences|Preferences]]
|[[TechDraw_Preferences|Preferences]]
|[[TechDraw_Module|TechDraw]]
|[[TechDraw_Workbench|TechDraw]]
|IconL=
|IconL=
|IconR=
|IconR=

Latest revision as of 18:56, 12 October 2023

Concept

The main purpose of a technical drawing is that others understand what the designer created with what tolerances AND how to manufacture the design. Since most parts have to fit to assemblies, also the geometric relations to other parts are important. To achieve this, the system of Geometric Dimensioning and Tolerancing (GD&T) was developed.

Take for example this part:

In the application an axis should be put through the 2 holes of the part. That means we have to specify the following things

  • The diameter of the holes and their positions.
  • That the holes are along a certain axis that is not perpendicular to the XZ base plane.
  • That the axis part must have a certain straightness.

The straightness is important because a bent axis would not fit through the holes. The hole alignment is important because just drilling each hole at the given position without taking care of the axis, would lead to holes through which the axis will not fit. So just specifying the hole dimension and position is not sufficient. The first point is "classical" dimensioning while the 2 others are geometric information, thus GD&T comes into play. The example also makes clear that GD&T is essential to assure that parts fit well to assemblies.

If you are not familiar with the concept of GD&T, we highly recommend to learn about it now. For example a quick introduction is given in this video. For more like the concept of the "maximum material condition", have a look at this video. For details to all sorts of GD&T features, look around in the Internet. For example this YouTube channel provides some good explanations.

GD&T is defined in the standards ISO 1101 and ASME Y14.5.

TechDraws' capabilities to fulfill the common GD&T standards is limited (as of FreeCAD 0.20) but you can achieve already many things. This Wiki page explains what is implemented and what tricks can be used for non-implemented features. Note: this Wiki page is not about to teach GD&T!

Dimensioning

TechDraw provides several tools to create different types of dimension. Please have a look at the different dimensions on how to create and modify them.

Formatting

The default font for new dimension is determined by the preferences setting Label Font. The default font size is specified by the preferences setting Font Size.
Note: It is recommended to use a font in which the minus sign has the same width as the plus sign because this assured that tolerances will be formatted as proposed by the GD&T norms. Such a font is for example osifont that is part of all FreeCAD installations.

The default format for new dimension numbers depends on the preferences options Use Global Decimals and Alternate Decimals. This specifies the number of decimals, but in every case the dimension is a floating point number. For example if the setting is to have 2 decimals, the used format specifier is "%.2f" (floating point number with 2 decimals).

The number format can be changed:

  1. Either double-click on the dimension in the drawing or onto the dimension object in the model tree
  2. In the appearing dimension dialog the field Format Specifier contains the format specifier, so change it to what you need

The syntax of the format specifier is explained here. You can also use this online tool to see what formatting specifier will format numbers.

Examples:

  • You use 2 decimals but for an angle you want to have only one decimal use the format specifier %.1f.
  • You use 2 decimals but don't like that trailing zeroes are printed (you prefer 4 instead of 4.00). Then use this format specifier: %g. The 'g' will use the shortest possible output and thus it omits trailing zeroes. Moreover it will automatically switch to scientific notation if necessary.

With the property DataInverted you can make length dimensions negative and flip angles from the range 0 - 180° to the the reflex range 180° - 360°.

Setting the option Theoretically Exact in the dimension dialog will mark the dimension as theoretically exact by adding a frame around it.

You can use your own text instead of a formatted number by setting the option Arbitrary Text in the dimension dialog. Then the content of the field Format Specifier will be printed as dimension.

With the properties DataX and DataY you can change the horizontal and vertical position of the dimension text relative to the view. Alternatively you can change the position by dragging the dimension number or text.

Tolerances

Creation

  1. Create a dimension in your drawing
  2. Either double-click on the dimension in the drawing or onto the dimension object in the model tree
  3. In the appearing dimension dialog specify as Overtolerance the amount by which the dimension can be exceeded.
    This will result in an equal tolerance like this:
  4. If you have unequal tolerances, specify as Undertolerance the amount by which the dimension can be smaller and uncheck the option Equal Tolerance.
    This will result in an unequal tolerance like this:

Deletion

To get rid of a tolerance, change Overtolerance and Undertolerance to each zero.

Formatting

The default font for new tolerances is the same than for dimensions. The default font size is specified by the preferences setting Tolerance Text Scale. This scale is a factor of the font size used for the dimension.

The default number format for new tolerances is by default the same format than for the dimension. It can be changed in the dimension dialog.

You can also use your own text instead of a formatted number by checking the option Arbitrary Tolerance Text in the dimension dialog. Then the content of Tolerance Format Specifier will be used as tolerance text.

Geometrical Tolerancing

Tolerances are created by using the Balloon feature of TechDraw. Since for most features a frame is required, it is helpful to change in the TechDraw preferences the Balloon Shape to Rectangle.

Tolerance indicator

Example of a toleranced rod. (The run-out already defines the straightness, it is only there as example.)

The tolerance indicator of GD&T is a frame, also called "feature control frame". It can be created by using the Balloon feature of TechDraw:

  • after adding a Balloon and if its shape is not already a frame, double-click on it in the model tree and set in the appearing dialog the Shape to Rectangle.
  • add the corresponding Unicode character for the feature you need to the Balloon Text. (You can copy them from the reference tables below or use TechDraw ExtensionCustomizeFormat.)
  • by adding the character '|' to the Text, you start a new indicator field.

There is no rule that defines if or how the tolerance indicator must have a leader line or not, so you can either:

  • set the property Line Visible to False in the balloon dialog.
  • set End Symbol to Filled Arrow or Dot.

The example at the right side shows the two possible tolerance indicator layouts.

Datums

Datums in the GD&T sense of the meaning are surfaces your tolerance is relative to. They are created as Balloon:

  • after adding a Balloon, set End Symbol to Filled Triangle in the balloon dialog.
  • if the bubble shape is not already a frame, set Bubble Shape to Rectangle.
  • drag the bubble with the mouse so that the triangle points away from the datum surface.
  • since it is common to have a straight line for datums unless the datum surface is not perpendicular to X or Y, assure that either the properties DataX and DataOrigin X or DataY and DataOrigin Y are equal to get a straight Balloon line.
Example of a datum in a drawing

Symbol reference

To insert GD&T symbols TechDraw provides the Customize format label feature.

As reference, here are lists of characters to be used for geometric tolerancing:

Geometric tolerancing reference chart (according to table 2 in ISO 1101-2017)
Type of control Geometric characteristics Symbol Unicode character Datum necessary Notes
Form Straightness
U+23E4
no
Form Flatness
U+23E5
no
Form Roundness
U+25CB
no
In older norms also called circularity.
Form Cylindricity
U+232D
no
Form / Orientation / Location Line profile
U+2312
yes
No datum necessary when used for form purpose
Form / Orientation / Location Surface profile
U+2313
yes
No datum necessary when used for form purpose
Orientation Parallelism
U+2225
yes
Orientation Perpendicularity
U+27C2
yes
Orientation Angularity
U+2220
yes
Location Position
U+2316
yes
No datum necessary when working with norm ISO 5458.
Location Concentricity / Coaxiality
U+25CE
yes
Named concentricity when used for center points and coaxiality when used for median lines. In the norm ASME Y14.5 it was eliminated since the version from 2018.
Location Symmetry
U+232F
yes
In the norm ASME Y14.5 from 2018, the symmetry was eliminated.
Run-out Circular run-out
U+2197
yes
Run-out Total run-out
U+2330
yes
Symbols used in the feature control frame to specify a feature's description, tolerance, modifier and datum references
Symbol Unicode character Modifier Notes
U+24BB
Free state Applies only when part is otherwise restrained
U+24C1
Least material condition (LMC) Useful to maintain minimum wall thickness
U+24C2
Maximum material condition (MMC) Provides bonus tolerance only for a feature of size
U+24C5
Projected tolerance zone Useful on threaded holes for long studs
U+24C8
Regardless of feature size (RFS) Not part of the 1994 version. See para. A5, bullet 3. Also para. D3. Also, Figure 3-8.
U+24C9
Tangent plane Useful for interfaces where form is not required
Continuous feature Identifies a group of features that should be treated geometrically as a single feature
Statistical tolerance Appears in the 1994 version of the standard, assumes appropriate statistical process control.
U+24CA
Unequal bilateral Added in the 2009 version of the standard, and refers to unequal profile distribution. Number after this symbol indicates tolerance in the "plus material" direction.