IDSedit Documentation

Facet Types

Entity Facet

Specify IFC entity types and predefined types

Filter or require elements based on their IFC class type. The Entity Facet is typically the starting point for most specifications.

Parameters

ParameterRequiredDescription
IFC ClassYesThe IFC entity type (e.g., IfcWall, IfcDoor)
Predefined TypeNoOptional subtype (e.g., SHEAR, PARTITIONING)

Using in IDSedit

As Applicability

Use the Entity Facet to specify which elements your specification applies to:

  1. Add an Entity Facet node to the Applicability section
  2. Select the IFC Class from the dropdown
  3. Optionally set a Predefined Type for more specific filtering

Example: To target all walls, set IFC Class to IfcWall

As Requirement

Use the Entity Facet to require elements be a specific type:

  1. Add an Entity Facet node to the Requirements section
  2. Configure the required entity type

IFC Class Hierarchy

IFC classes follow an inheritance hierarchy. Understanding this helps you target the right elements:

Building Elements

ClassDescriptionCommon Predefined Types
IfcWallVertical constructionsSOLIDWALL, PARTITIONING, SHEAR
IfcDoorDoor elementsDOOR, GATE, TRAPDOOR
IfcWindowWindow elementsWINDOW, SKYLIGHT, LIGHTDOME
IfcSlabHorizontal constructionsFLOOR, ROOF, BASESLAB
IfcBeamLinear structural members (horizontal)BEAM, HOLLOWCORE, LINTEL
IfcColumnVertical structural membersCOLUMN, PILASTER
IfcStairVertical circulationSTRAIGHT_RUN_STAIR, SPIRAL_STAIR
IfcRampInclined circulationSTRAIGHT_RUN_RAMP, SPIRAL_RAMP
IfcRoofRoof structuresFLAT_ROOF, SHED_ROOF, GABLE_ROOF

Spatial Elements

ClassDescriptionUsage
IfcSiteProject siteOne per project typically
IfcBuildingBuilding structureContains building storeys
IfcBuildingStoreyFloor levelContains elements on that level
IfcSpaceRooms and areasUsed for room data requirements
IfcZoneGroups of spacesHVAC zones, fire zones, etc.

MEP Elements

ClassDescriptionExamples
IfcPipeSegmentPipe runsWater, gas, drainage
IfcDuctSegmentDuct runsHVAC distribution
IfcCableSegmentCable runsElectrical distribution
IfcFlowTerminalEnd devicesOutlets, fixtures, diffusers
IfcFlowControllerControl devicesValves, dampers, switches

Type Objects

Every element can have a corresponding Type object that defines shared properties:

ElementType
IfcWallIfcWallType
IfcDoorIfcDoorType
IfcWindowIfcWindowType

Tip: Use Type objects when you want to specify requirements for wall types, door types, etc., rather than individual instances.

Predefined Types

Predefined types allow more specific targeting. They can be:

  1. Standard values - Defined in the IFC schema (e.g., SOLIDWALL, PARTITIONING)
  2. User-defined - Custom values set by the model author (matched when USERDEFINED is set)

Using Restrictions with Predefined Types

You can use pattern matching for predefined types:

  • EXT.* - Matches any type starting with "EXT"
  • .*WALL - Matches any type ending with "WALL"

Common Use Cases

Use CaseIFC ClassPredefined Type
All wallsIfcWall(none)
Structural walls onlyIfcWallSHEAR
All doors and gatesIfcDoor(none)
External doors onlyIfcDoorPattern: .*EXTERNAL.*
All roomsIfcSpace(none)
Only parking spacesIfcSpacePARKING
Load-bearing columnsIfcColumnCOLUMN

Technical Notes

  • IFC Class names are case-insensitive in IDS
  • Predefined Types are matched case-insensitively
  • When no Predefined Type is specified, all subtypes match
  • Entity Facet checks both the element class and its inheritance chain

IFC Class Reference

For complete lists of IFC classes and predefined types:

Learn More

For detailed specification information, see the official Entity Facet documentation from buildingSMART.