Problem: MeasureIt entries must be deleted and recreated each time the model is modified. Further, modifiers, e.g. subdivision, wreak havoc on the results.
Reason: MeasureIt has a weakness in that it is tied to the present vertex order and number of a given mesh.
- Add the functionality to convert MeasureIt entries into mesh and font objects, as a separate MeasureIt collection. (This adds functionality above and beyond what is suggested here.) As you control the positioning and quantity of the vertices, settings for the original MeasureIt entries can be transferred and preserved invisibly (though I imagine there’s a way to store this information as metadata that I’m unfamiliar with). This will clear out the MeasureIt entries. MeasureIt entries converted into mesh become children to the object they belong to.
- Modify the mesh as you see fit. If a vertex that was being measured before must move, and you wish MeasureIt to update the dimension, drag/snap the MeasureIt mesh to the new vertex location. Bear in mind that only the connecting vertex should be moved, so as to preserve the MeasureIt entries’ fidelity to the original, if this is important.
- Convert MeasureIt Meshes back into MeasureIt entries. The conversion utility scours all objects, starting with the parent object, for identical vertex locations.
a. For vertices that didn’t move, or a new vertex that happens to be in the same spot as before, MeasureIt should adopt the same vertex location. Maximum permissible change in distance from MeasureIt mesh vertex and base mesh new/old vertex should be variable, but start as fairly small.
b. For vertices that moved, and had their dimension line updated, the new MeasureIt result will look different from the original, but should match what the user would have wanted in the first place if they had the mesh in the right configuration.
c. For vertices that seemingly disappeared (beyond the threshold from a), it might be that the user wishes to keep the old measurement, even if the shape is radically different. For this, MeasureIt should add a dummy vertex.
If MeasureIt->Mesh could be handled via object modifier, it would be fantastic to simplify the animation of a dimension line, which presently has to be done either using drivers or via MeasureIt. The former being difficult for some, and the latter being limited in render style.