Skip to main content

IFCSchema

Static schema knowledge about IFC4x3 entities, properties, and quantities. These nodes do not require an IFC model - they query embedded schema metadata.

No IFCModel Required: These nodes provide schema information without needing to load an IFC file. Useful for understanding IFC structure and validating data.

GetEntityInheritance

Returns the full inheritance chain for an IFC class.

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcWall", "IfcDoor", "Wall")

Output:

TypeDescription
List of stringClass names from most specific to most general

Example:

Input: "IfcWall"

Output: IfcWall, IfcBuildingElement, IfcElement, IfcProduct, IfcObject, IfcObjectDefinition, IfcRoot


GetEntitySubtypes

Returns all direct and indirect subtypes of an IFC class.

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcBuildingElement", "IfcElement")

Output:

TypeDescription
List of stringAll subtype class names

Example:

Input: "IfcBuildingElement"

Output: IfcWall, IfcWallStandardCase, IfcDoor, IfcWindow, IfcSlab, IfcBeam, IfcColumn, etc.


GetEntityAttributes

Returns schema-defined explicit attributes for an IFC class including inherited attributes.

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcWall")

Output:

TypeDescription
List of DictionaryEach dictionary contains Name, Type, IsOptional, and DeclaredIn

GetEntityRelationships

Returns schema-defined inverse relationships for an IFC class including inherited relationships. Inverse relationships define how entities connect to each other (e.g., HasAssociations, IsDefinedBy).

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcWall", "IfcProduct")

Output:

TypeDescription
List of DictionaryEach dictionary contains Name, RelatedEntity, AggregationType, and DeclaredIn

GetStandardPropertySets

Returns standard buildingSMART Property Sets applicable to an IFC class. Includes inherited PSets from parent classes.

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcWall", "IfcDoor")

Output:

TypeDescription
List of DictionaryEach dictionary contains Name, Definition, TemplateType, ApplicableEntities, and Properties

GetStandardQuantitySets

Returns standard buildingSMART Quantity Sets applicable to an IFC class. Includes inherited QSets from parent classes.

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcWall", "IfcSlab")

Output:

TypeDescription
List of DictionaryEach dictionary contains Name, Definition, TemplateType, ApplicableEntities, and Quantities

GetEnumerationValues

Returns valid values for an IFC enumeration type.

Inputs:

ParameterTypeDescription
enumNamestringThe IFC enumeration name (e.g., "IfcWallTypeEnum", "IfcDoorTypeEnum")

Output:

TypeDescription
List of stringValid enumeration values

Example:

Input: "IfcWallTypeEnum"

Output: MOVABLE, PARAPET, PARTITIONING, PLUMBINGWALL, SHEAR, SOLIDWALL, STANDARD, POLYGONAL, ELEMENTEDWALL, RETAININGWALL, WAVEWALL, NOTDEFINED, USERDEFINED


GetPredefinedTypeValues

Returns valid PredefinedType values for an IFC class. Automatically finds the corresponding enum (e.g., IfcWall uses IfcWallTypeEnum).

Inputs:

ParameterTypeDescription
ifcClassNamestringThe IFC class name (e.g., "IfcWall", "IfcDoor")

Output:

TypeDescription
List of stringValid PredefinedType values

GetAllEntityNames

Returns all available IFC entity class names in the schema. Useful for discovering what entity types exist.

Inputs:

None

Output:

TypeDescription
List of stringAll IFC entity class names

GetAllStandardPropertySetNames

Returns all standard Property Set names from buildingSMART.

Inputs:

None

Output:

TypeDescription
List of stringAll standard PSet names

GetAllStandardQuantitySetNames

Returns all standard Quantity Set names from buildingSMART.

Inputs:

None

Output:

TypeDescription
List of stringAll standard QSet names