ifcos-impl-mep
Installation
SKILL.md
MEP System Implementation Guide
Quick Reference
Critical Warnings
- ALWAYS create ports on distribution elements BEFORE attempting to connect them. Elements without ports cannot participate in flow networks.
- ALWAYS create at least two ports per segment element (one inlet, one outlet). Segments are flow-through elements.
- NEVER connect two ports with the same flow direction. A
SOURCEport MUST connect to aSINKport. - NEVER use
IfcDistributionSystemin IFC2X3 models. Useifc_class="IfcSystem"for IFC2X3 compatibility. - ALWAYS use
ifcopenshell.api.run("system.add_system", ...)to create systems. NEVER usemodel.create_entity("IfcDistributionSystem")directly — it skips required relationship setup. - ALWAYS assign elements to a system AFTER creating port connections. The system is a logical grouping; ports define the physical topology.
- NEVER assume
system.remove_systemdeletes contained elements. It ONLY removes the system grouping; elements and their ports remain in the model. - ALWAYS use
ifcopenshell.api.run("root.create_entity", ...)for MEP elements, notmodel.create_entity(). The API sets GlobalId, ownership, and validates predefined types. - ALWAYS pass
productsas a list tosystem.assign_system(v0.8+ convention).