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 SOURCE port MUST connect to a SINK port.
  • NEVER use IfcDistributionSystem in IFC2X3 models. Use ifc_class="IfcSystem" for IFC2X3 compatibility.
  • ALWAYS use ifcopenshell.api.run("system.add_system", ...) to create systems. NEVER use model.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_system deletes 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, not model.create_entity(). The API sets GlobalId, ownership, and validates predefined types.
  • ALWAYS pass products as a list to system.assign_system (v0.8+ convention).

Decision Tree: MEP Workflow

Related skills

More from openaec-foundation/computational-design-day-delft-march-2026

Installs
1
GitHub Stars
1
First Seen
Mar 24, 2026