How changes are found

Archicad announces element edits through observers. In the notification the add-on only records the element's GUID. After 80 ms with no new notification it runs one pass on Archicad's main thread.

The pass widens the set to every sent element whose bounding box comes within 1 cm of an edited element, before or after the edit, plus the windows and doors of an edited wall and the skylights of an edited roof or shell. Observers miss these cases: joined walls on undo and redo, and the openings of a deleted wall.

Each candidate is read again and compared with what Blender was last sent. Same shape and position: nothing. Same shape, new position or metadata: a transform update. New shape or name: the full object. Not readable any more (deleted, on a hidden layer, no longer in 3D): removed.

Four kinds of edit fire no Archicad event, so a pass runs every 1 s to compare signatures: the visible layers and renovation filter, every surface's colour and texture settings, and the 3D window's partial structure display. Teamwork receive, library and hotlink reloads, database switches and merges re-check the whole model.