ifcos-core-concepts

Guide IFC beginners in constructing valid entity hierarchies and relationships.

30|4|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill ifcos-core-concepts-impertio-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ifcos-core-concepts
Source: https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package/tree/main/skills/ifcopenshell/core/ifcos-core-concepts
Command: npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill ifcos-core-concepts-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents common IFC modeling mistakes by teaching the IFC data model’s core structure—entity inheritance, spatial hierarchy, ownership, placements, representations, and relationship patterns—so generated BIM/IFC data is structurally valid instead of “flat” or orphaned.

Core Features & Use Cases

  • IFC entity hierarchy cheat-sheets: Understand how IfcRoot → IfcElement/IfcSpatialStructureElement → products and types relate across schemas.
  • Spatial structure modeling guidance: Build correct containment/decomposition using aggregation and container relationships (Project > Site > Building > Storey, plus IFC4/IFC4X3 extensions).
  • Relationship-first best practices: Create and query relationships as first-class entities (e.g., decomposition, containment, type assignment, property sets, voids/fillings) and use schema-aware type checking with is_a().

Quick Start

Ask Claude Code to explain how to build a valid IFC spatial hierarchy for an IFC4X3 model (Project → Site → Building → Storey) and how to assign an element to a storey using the correct relationship API pattern.

Frequently Asked Questions about ifcos-core-concepts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a valid IFC spatial hierarchy using IfcOpenShell?

Valid IFC spatial hierarchy requires wiring aggregation relationships from Project down to Site, Building, and Storey, then assigning elements to their respective storey using IfcOpenShell APIs to avoid flat or orphaned structures.

What is the correct way to use is_a() for IFC entity type checking?

Using is_a() for IFC type checking validates entity inheritance safely, confirming whether an object belongs to a specific class like IfcElement or IfcSpatialStructureElement while respecting schema-aware version differences.

What are the IFC schema versioning differences between IFC2X3, IFC4, and IFC4X3?

IFC schema versioning differences include transitioning from IfcBuildingElement to IfcBuiltElement in IFC4 and the absence of StandardCase in IFC4X3, requiring schema-aware API handling to maintain structural validity.

How do I create IFC relationships for containment, properties, and openings?

Creating IFC relationships requires wiring containment, type assignments, property sets, and voids as first-class entities using IfcOpenShell APIs, ensuring proper connections between spatial structure and building elements.

Why are my generated IFC elements flat or orphaned instead of properly nested?

IFC elements become flat or orphaned when missing proper containment and decomposition relationships, requiring correct spatial structure modeling and relationship wiring from Project down to individual products to ensure structural validity.

Can I use IfcOpenShell to validate IFC inheritance and spatial structure?

You can validate IFC inheritance and spatial structure with IfcOpenShell by using is_a() for type checking and querying relationship APIs to verify proper containment and decomposition across IFC2X3, IFC4, and IFC4X3 schemas.