mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
236da3c75a
create_drawing opened linked IFCs raw, so a moved link serialized at its original coordinates and its elements fell outside the drawing. The stored link transformation is the model-space delta, so it is now baked into the linework iterator via the model-offset/model-rotation settings (Trans @ Rot composition matches the rigid matrix decomposition; the plan-view Z offset adds onto the translation). The serialization loop also collapsed same-file links into a dict keyed by filepath, dropping all but the last link. It now iterates one entry per link and intersects each link's drawing elements with its selector query, so drawings show what each link displays in the viewport. Adds tool.Project.get_link_transformation_matrix as the shared accessor for the stored 4x4. Verified headless: window link moved +5m appears offset by exactly 5m x scale; unmoved door link at its native position; both present. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>