Angular Dimension Tool

I tried to make one some time ago and gave up. As I recall, there were several problems that I just couldn’t find my way past. I’ll discuss some of them below in case someone more clever than I can figure them out.

However, at least in my workflow, two factors greatly reduce the need for “associative angular dimensions” (henceforth AADs). One, it is fast and easy to delete an AD and redraw it. Mine are groups, so deleting one doesn’t affect anything else. Second, I view all dimensions (but especially angles) as annotation for presentation, so I don’t add them until the model is essentially complete and they are therefore not likely to change. Others may work differently, but I find that I use inferences to match sizes of entities hence don’t need a dimension presented while I am drawing.

One set of problems came from the limitations of observers at that time. I needed to redraw the dimension in the callback from the observer, and that caused SketchUp to crash. Since then the observer system has been reworked and it might be possible to avoid that issue, but I haven’t tried it. Also it was quite complicated to find a set of observers that could correctly detect when the defining entities changed in a way that altered the angle. Perhaps someone with more experience using observers could overcome these issues.

The final straw was that I found it is ambiguous what entities actually define the angle. As you note, is it a pair of edges? Three vertices? How does one cope when an edit causes an edge to split into two - which of them now defines the angle? What about “virtual” cases where two edges don’t actually extend to the vertex where they would have intersected? In a single situation, a person can easily answer these questions, but handling them in general algorithmically became quite complex and unreliable.