Leading up to this project, I’ve been on a several month hiatus from anything to do with FreeCAD, as I’ve been either too busy or on the road since my last involvement. I started out this post intending to contrast a few different ways of adding a dimension (aka measurement) to a drawing, and create a TODO item to clean up the tools involved in working with dimensions.
What I’ve ended up with is a whole mental list of things that I’d like to see fixed, which are mostly unrelated to dimensions. There’s a lot about the current version of FreeCAD that’s not very intuitive, but that I had gotten used to previously. With a fresher perspective, all the little interface bugs that I had gotten used to have made themselves obvious again… That’s the whole trick with software development though – breaking down big problems until they’re down to lines-of-code level. This software is very much under development – the guts are there, but there’s a lot of polishing to be done.
Anyways, getting back to measurements, we have the obvious measurement tool that is present in all FreeCAD workbenches, represented with this little icon:
Although it is quite simple and has some significant shortcomings, it has two major positives: it is relatively intuitive, and it is consistent. I can click two points on a drawing and get the distance between them. The endpoints don’t snap, but the “Properties Editor” is quickly discovered and can be used to manually enter coordinates or nudge the points around.
The measurement tool doesn’t “stick” to objects – in this trivial example, I’ve “measured” the cone, then changed the cone size and the measurement doesn’t follow.
or this one in the Draft workbench, which admittedly I haven’t played with recently:
There are also dimensions in a development branch that I intend to have a look at in another post…
So, what needs to happen? It seems to me that adding a dimension to a CAD drawing is a fairly universal need, and so there should be a fairly universal tool in FreeCAD to address it. There should be no need for that tool to be implemented in every workbench that might need dimensions rendered.
Further, there are several open issues with rendering the constraints in Sketcher, so perhaps a good solution is to add a “layer” to the “Viewer”, designed around rendering things like constraints or dimensions. Things rendered in that layer could be linked with the 2- or 3-D objects in the scene, so it shouldn’t be necessary to manually adjust dimensions whenever objects they relate to are adjusted.
Cost: 1 beverage (interrupted by a nice walk in our beautiful botanical gardens!)