To the extent that anyone is interested in a discussion of adding CAD-like dimensioning capabilities to Qgis:

In a CAD model dimensional callouts present the user with information about lengths, angles, radii, and other metric properties. Dimension call-outs  in a CAD model (probably more accurately, a CAD drawing derived from a model) are annotations to the model, they are not model objects per se. In a well-designed system, the dimension call-out displays the actual metric value of identified length, radius, angle, etc. The dimension "object" is tied to the underlying geometric model and will change the presented value if the underlying object is changed (eg, scaled in size). In addition, if the underlying object moves with respect to other objects in the model, the dimension annotations move with it, maintaining a constant relationship, for example to the edge whose length we are dimensioning.

Extending this notion to GIS in general, and Qgis, introduces a bit of a difficulty in the sense that CAD systems tend to have a fuzzy boundary between the notion of what in Qgis is the map canvas and the  a layout. Sketchup, a popular (and free-ish) CAD modeler allows dimension annotations in what amounts to the canvas, but also has an adjunct program Layout for drawings, much like a layout in Qgis.  That said, I would suggest the starting point in Qgis would be an annotation capability in the canvas, much like the annotations introduced in 3.22.  When adding a dimension to the canvas, a user would click on some aspect of a feature, typically a vertex or other point-like feature, then click on a second, and a line/arrrow would be added as an annotation, with text indicating length. Things get a little more complicated trying to dimension the radius of a circle, as these are represented in different ways depending on the data format (eg, shapefile vs. geopackage). To match the semantics of CAD dimensions, the stored representation would be tied to the properties of the feature, not to the geo-referenced value at the time the annotation was created so as to allow the dimension to dynamically respond to changes in the underlying data.

None of this gets to the question of should this be added? There are important differences between a CAD model and a map. A CAD system is used for design, just as the name says. A CAD model generally goes through a series of revisions over it's lifetime. A map (at least for me) is generally intended to reflect a physical reality. It may experience changes as we refine our understanding of the underlying physical reality, but in general maps tend to reflect data that is far more static than that in a CAD model. This suggests that perhaps we really don't need the same sort of dynamic dimensioning capabilities that a CAD system provides. WIth that in mind, I think the appropriate starting point for dimensioning in Qgis, if we want one at all, is to add a "linear dimension" tool to the existing annotation toolbar. The tool would allow the user to snap a line between any two vertices (or points) on a layout, and would add a dimension arrow between the two points, and perhaps extension lines,  labeled by default with the appropriate distance. Until a more compelling use case presents itself, I think it would be sufficient to make the new dimension annotation be statically geo-referenced.
_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to