Dimension extension lines

Discussions about the development of the TechDraw workbench
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Workshop_Notes
Posts: 590
Joined: Wed Sep 29, 2021 8:35 am

Dimension extension lines

Post by Workshop_Notes »

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.
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Dimension extension lines

Post by Shalmeneser »

It's not a solution :

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
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: Dimension extension lines

Post by NewJoker »

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
Workshop_Notes
Posts: 590
Joined: Wed Sep 29, 2021 8:35 am

Re: Dimension extension lines

Post by Workshop_Notes »

NewJoker wrote: Wed Apr 20, 2022 9:39 pm Unfortunately, from what I know, this is only possible with ASME dimensioning style.
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

Image

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?
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: Dimension extension lines

Post by NewJoker »

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?
Sure, it can be a great help for the potential improvement of dimensioning styles in FreeCAD 0.21.
aapo
Posts: 615
Joined: Mon Oct 29, 2018 6:41 pm

Re: Dimension extension lines

Post by aapo »

Workshop_Notes wrote: Wed Apr 20, 2022 8:32 pm So how was the figure at the top of the page generated?
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? :D

https://forum.freecadweb.org/viewtopic. ... 10#p341188
User avatar
wandererfan
Veteran
Posts: 6268
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: Dimension extension lines

Post by wandererfan »

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?
Yes, please. That would be great.
User avatar
wandererfan
Veteran
Posts: 6268
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: Dimension extension lines

Post by wandererfan »

aapo wrote: Thu Apr 21, 2022 1:11 pm ...the ISO standard allows for a small gap there...
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?
Workshop_Notes
Posts: 590
Joined: Wed Sep 29, 2021 8:35 am

Re: Dimension extension lines

Post by Workshop_Notes »

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)."
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?

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.
User avatar
wandererfan
Veteran
Posts: 6268
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: Dimension extension lines

Post by wandererfan »

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?
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.

- 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.
Post Reply