When you dimension a hotspot that is scripted into an object and that hotspot has an ID number then that dimension will lock to that hotspot and move when ever the hotspot moves.
If the hotspot does not have an ID then the dimension will not adjust.
The problem with hotspot ID's occurs if your object has automatically numbering ID's (i.e "HSID = HSID + 1" in the scripts).
Then if a hotspot is not used or a new one is (within IF / THEN statements)
or you call another macro with hotspaots with ID's then all of the ID numbers will get mixed up and the dimension will try to link to the hotspot that had the original ID number.
This could be a completely different hotspot now or it may no longer exist at all.
Which is why dimension jump around or disappear.
The best solution is to hard code all of the ID numbers which means individually numbering all of the hotspots in a script manually.
Still doesn't help when you call in a macro but this is not usally a big problem and can be worked around.
Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11