Basic Dimensioning Functionality

Posted by Victor_Wren on
URL: https://forum.librecad.org/Basic-Dimensioning-Functionality-tp5716062.html

As a new user to LibreCAD (2.2.0 RC1—but a user of AutoCAD since 1987), I have some observations about dimensions that might make them more useful and help move towards production-readiness.

Dimension text should always be in-line with its leaders, without exception.  Currently the behavior is that dimension text can be moved literally anywhere—clear across the drawing, if desired, and there's no visual way of determining which text belongs to which leader & arrows.  

This is not good:

Messy text on diametric dimensions.

This really came down to bite me when importing heavily-dimensioned drawings from AutoCAD.  Suddenly I had a lot of arrows, and a lot of text, and the only way to associate one with the other was to select them and see which changed color, which is not a useful workflow in printed drawings.  Further, there's no way to clean up a drawing and make it easier to read by rearranging text and leaders.  You can drag the text, but make the slightest change to the formatting, and it will snap back to the default position.  It's very frustrating to try and make a drawing presentable.

If the leaders were kept in-line with the text no matter what, this would not be a problem; drag the text, and it has the same effect as moving the blue dots on the leaders.  Move the blue dots on the leaders, and it moves the text along with it.  A leader line from the arrows should never end farther than a set distance from the text (probably equal to the keep-out distance when the text is drawn in between the arrows).  If the text is dragged farther away, the extension line should be extended to reach it.  They need to be tightly associated with each other to prevent the mess I illustrated above.

Generally speaking, dimension text should be horizontal to the drawing, even for diametric, vertical, aligned dims and radii, and even orthographic views.  This is standard practice in 2D drafting, and makes stacking dimensions considerably less messy (and honestly it should simplify the code, because text rotation is always zero).  The only exception to this I've seen is incremental horizontal dimensions, where it is more compact to have the text aligned to the vertical leaders.

For diameters and radii where the dimension text is moved outside the circle, a short leader should come from the text in the direction of the center of the circle (e.g. if the center of the text is to the right of the center of the radius/diameter, the leader projects to the left, and vice-versa—it's a simple X-comparison), and the tip of that short leader is considered the center of the text towards which the leader extension is drawn from the tip of the arrow, and towards which the arrow points.

This is better:



I'm not much of a programmer, but I've done quite a bit of 2D & 3D drafting over the last forty years. mostly in AutoCAD and SolidWorks.