I have several blocks defined related to flag notes, references, and call outs. When I drop a block into my model space, the default value is present. If I edit the attribute value of the block instance, the new value is shown in model space for this instance. All is right with the world.
Some of my other blocks are dynamic, and have resizing elements to them. At times, the constraints in these blocks are lost and the text does not follow the rest of the resized blocks. In these cases I need to run ATTSYNC to synchronize the existing block definitions (dynamic constraints) to all blocks in models space. This has been working great, and predictably.
When I run ATTSYNC, *some* of my block instances attribute values revert to their default values while others do not. The blocks that lost data seem to be the ones whos attributes contain a field reference. I have also noted that those that revert can be recovered by doing a REGEN after the ATTSYNC . However, running ATTSYNC twice seems to kill this 'out', so I'd prefer not to depend on it. I have also noted that running ATTSYNC creates a *Uxxxx block for each instance of block in my drawing (odd?).
According to the docs (https://help.autodesk.com/view/ACD/2022/ENU/?guid=GUID-56B14079-250B-4C99-AB3D-F95BA1C32AB7) "ATTSYNC does not change any values assigned to attributes in existing blocks." - which is the exact behavior I need and would expect from such a command.
My ultimate question, how do I get ATTSYNC to live peacefully with block instances who have non-default attribute values? Is there some connection to having a field reference in the attribute value that is breaking things?
My extra credit bonus question is: what is ATTSYNC supposed to be doing?