aec-core-bim-workflows
Installation
SKILL.md
Cross-Technology BIM Workflows
Scope: End-to-end workflows combining IfcOpenShell, Bonsai, and Blender Dependencies:
ifcos-impl-creation,bonsai-core-architectureVersion coverage: Blender 3.x-5.x | IFC2X3/IFC4/IFC4X3 | Bonsai v0.8.x
Critical Warnings
- ALWAYS determine the execution context first: standalone Python (IfcOpenShell only) vs Blender Python (bpy available) vs Bonsai-loaded (IfcStore available). The API surface differs per context.
- ALWAYS use
ifcopenshell.api.run()for IFC mutations in ALL contexts. NEVER modify IFC entity attributes directly — this bypasses relationship management and breaks graph integrity. - ALWAYS call
bpy.ops.bim.edit_object_placement()after modifying a Blender object's location/rotation/scale when Bonsai is active. Blender transforms do NOT auto-sync to IFC. - NEVER mix
IfcStore.get_file()(Bonsai context) withifcopenshell.open()on the same file simultaneously. Bonsai owns the in-memory IFC graph — opening a second handle creates divergent state. - NEVER use
blenderbim.*imports. The package was renamed tobonsai.*in v0.8.0 (2024). - ALWAYS set up units (
unit.assign_unit) and geometric contexts (context.add_context) before creating any geometry. Geometry without context or units is ambiguous and may render incorrectly. - NEVER use
void.add_opening()in Bonsai v0.8.0+. Usefeature.add_feature()instead.