After moving an IfcGridAxis in Blender, the drawing annotation
was not tracking the axis to its new visual position. Two issues
were found and fixed:
1. generate_grid_axis_reference_points used the IFC AxisCurve
geometry (via create_shape) with the grid object's matrix_world.
After a save, the IFC AxisCurve is updated but the Blender mesh
is not rebuilt, causing the two sources to diverge. The fix reads
the axis object's Blender mesh vertices directly with
axis_obj.matrix_world, which always matches what Blender renders.
2. When no Blender axis object exists, falls back to reading IFC
geometry with the grid object's matrix_world (unchanged behavior).
Minor refactors: extracted matrices_differ variable in
sync_grid_axis_object_placement (export_ifc.py and drawing.py) and
extracted grid_placement variable in create_axis_curve.py for clarity.
Generated with the assistance of an AI coding tool.