Dimension extension lines
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Posts: 620
- Joined: Wed Sep 29, 2021 8:35 am
Dimension extension lines
I am a little confused on what control I have over dimension extension lines. I really do not like them touching the part.
Let us start here: https://wiki.freecadweb.org/TechDraw_LengthDimension
The first figure on that page shows an oblique dimension where the extension lines do not touch the part and the text is above a continuous dimension line. That is how I want my dimensions to look
Lower down the page are the four possible dimension styles (ISO oriented, ISO referencing, ASME oriented and ASME referencing). It is only in the ASME style that the extension lines do not touch the part, but neither of these styles has the text above an unbroken dimension line. So how was the figure at the top of the page generated?
It notes in ISO 129-1 (section 5.4 Figure 14, 2004 version of the standard) that a gap between the extension line and the feature is permitted. Is it possible to do this right now?
I think a possible workaround is to put a very short, invisible cosmetic line between the vertex and where I want the end of the extension line, but is there a way of automating this?
There's been lots of enhancements to the dimensioning between 0.19 and 0.20. Is there a new list of possible future ones somewhere? One I would like to see is a horizontal or vertical cosmetic line by clicking on the start vertex and then clicking in space near where the other end should be. It would be the equivalent of 'ortho' mode in AutoCAD.
I use this concept all the time for angular dimensions, where the angle is from the vertical or horizontal plane (e.g. 45 degree chamfer). Without the cosmetic geometry, the angle dimension always comes up as 135 degrees, which is correct but unhelpful.
Edit: I found this https://forum.freecadweb.org/viewtopic.php?f=35&t=35834 but it did not progress much.
Let us start here: https://wiki.freecadweb.org/TechDraw_LengthDimension
The first figure on that page shows an oblique dimension where the extension lines do not touch the part and the text is above a continuous dimension line. That is how I want my dimensions to look
Lower down the page are the four possible dimension styles (ISO oriented, ISO referencing, ASME oriented and ASME referencing). It is only in the ASME style that the extension lines do not touch the part, but neither of these styles has the text above an unbroken dimension line. So how was the figure at the top of the page generated?
It notes in ISO 129-1 (section 5.4 Figure 14, 2004 version of the standard) that a gap between the extension line and the feature is permitted. Is it possible to do this right now?
I think a possible workaround is to put a very short, invisible cosmetic line between the vertex and where I want the end of the extension line, but is there a way of automating this?
There's been lots of enhancements to the dimensioning between 0.19 and 0.20. Is there a new list of possible future ones somewhere? One I would like to see is a horizontal or vertical cosmetic line by clicking on the start vertex and then clicking in space near where the other end should be. It would be the equivalent of 'ortho' mode in AutoCAD.
I use this concept all the time for angular dimensions, where the angle is from the vertical or horizontal plane (e.g. 45 degree chamfer). Without the cosmetic geometry, the angle dimension always comes up as 135 degrees, which is correct but unhelpful.
Edit: I found this https://forum.freecadweb.org/viewtopic.php?f=35&t=35834 but it did not progress much.
- Shalmeneser
- Veteran
- Posts: 9593
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: Dimension extension lines
It's not a solution :
https://wiki.freecadweb.org/TechDraw_LengthDimension > ViewRendering Extent :
https://wiki.freecadweb.org/TechDraw_LengthDimension > ViewRendering Extent :
Rendering 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
Re: Dimension extension lines
Unfortunately, from what I know, this is only possible with ASME dimensioning style. Such a customization option has been requested a few times but there's no GitHub report for it so I created one: https://github.com/FreeCAD/FreeCAD/issues/6774
-
- Posts: 620
- Joined: Wed Sep 29, 2021 8:35 am
Re: Dimension extension lines
Thanks both for the reply. But if you use the ASME style, it does not produce the dimension shown at the top of this page:
https://wiki.freecadweb.org/TechDraw_LengthDimension
The wiki page appears to contradict itself.
The rendering extent does not appear to offer an option to do this.
One of the issues is that ISO129-1 has a number of permitted options. It might be better to label the dimension style as compliant with a subset of the possiblities. Would it be any help to anyone (in time for 0.215) if I were to reproduce the figures from the Standard and note down what can and cannot be done?
Re: Dimension extension lines
Sure, it can be a great help for the potential improvement of dimensioning styles in FreeCAD 0.21.Workshop_Notes wrote: ↑Thu Apr 21, 2022 9:20 am Would it be any help to anyone (in time for 0.215) if I were to reproduce the figures from the Standard and note down what can and cannot be done?
Re: Dimension extension lines
I think I know the answer for this question: This figure has been made with an older version of FreeCAD (likely v0.18?). The default (and only) dimension style back then looked exactly like that. Later on, when v0.19 was under development, someone postulated that the FreeCAD TechDraw dimension style was not standard-compliant for any standard, and subsequently the fully standard-compliant dimension styles ISO oriented, ISO referencing, ASME oriented and ASME referencing were added by tpavlicek. Unfortunately, the old dimension style was dropped during the addition, and I also missed it at the time. I actually even asked to include exactly that, and it was agreed that it'd be an okay addition, and the ISO standard allows for a small gap there, and the implementation details were discussed and agreed. Somehow, the actual implementation of the change was forgotten, but maybe there'd be a good time now?Workshop_Notes wrote: ↑Wed Apr 20, 2022 8:32 pm So how was the figure at the top of the page generated?
https://forum.freecadweb.org/viewtopic. ... 10#p341188
- wandererfan
- Veteran
- Posts: 6326
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: Dimension extension lines
Yes, please. That would be great.Workshop_Notes wrote: ↑Thu Apr 21, 2022 9:20 am Would it be any help to anyone (in time for 0.215) if I were to reproduce the figures from the Standard and note down what can and cannot be done?
- wandererfan
- Veteran
- Posts: 6326
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: Dimension extension lines
The ASME implementation uses 6x the line width for the gap, but there is a note in the code that the standard does not specify what the gap should be.
My copy of ISO 129 says:
"It is permissible to have a gap (approximately 8 times the line width) between the feature and the beginning of
the extension line in certain technical fields (see Figure 14)."
I can duplicate the ASME gap logic for ISO, but what does the "certain technical fields" mean? Does the gap have to be specified for some dimensions, but not others? Can we just always leave a gap?
-
- Posts: 620
- Joined: Wed Sep 29, 2021 8:35 am
Re: Dimension extension lines
Is it a case of choosing between every dimension having a gap or no dimension having a gap? Is is tricky to provide the ability to modify the gap on an individual basis?wandererfan wrote: ↑Thu Apr 21, 2022 2:49 pm
My copy of ISO 129 says:
"It is permissible to have a gap (approximately 8 times the line width) between the feature and the beginning of
the extension line in certain technical fields (see Figure 14)."
Also note something related to this issue: the standard that also allows an interrupted extension line - see Fig 18 of the 2004 standard. This might be difficult, but a close approximation to it would be to have different gaps either end of the dimension. On the Fig. 18, the right hand one would have a larger gap than the left hand one, such that the extension does not pass the horizontal dimension
I do not know if this is feasible but is it possible to make the beginning of the extension line a cosmetic line that is displayed on screen (in colour) but not printed? That way you can set it to have a zero length if you want the extension line touching the part and give it a non-zero length (defaulting to 8 x line width) for gapped extensions. It would not allow an interrupted one as Fig 18, but would allow one end of the dimension to have a different gap to the other. Coupled to this, I am not sure if cosmetic lines are editable.
- wandererfan
- Veteran
- Posts: 6326
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: Dimension extension lines
The easiest change is to have all dimensions apply the same gap. Doing it on a per dimension basis is more work, but not particularly tricky.Workshop_Notes wrote: ↑Thu Apr 21, 2022 6:05 pm Is it a case of choosing between every dimension having a gap or no dimension having a gap? Is is tricky to provide the ability to modify the gap on an individual basis?
- new preference - Default Extension Line Gap Factor (a multiplier for line width)
- new property for Dimension - ExtensionGapFactor
- changed code to use new property when drawing the lines.
I'd rather not allow different gaps for each extension line in a dimension.
The easy way to make interrupted extension lines would be to make the dimension text background white instead of transparent. That wouldn't solve all cases.