buildingSMART Forums

IFC and taxonomies

Hi all,

  1. Anyone knows IFC4 ADD2 TC1 is developed based on which taxonomy? At first glance, it looks like building components taxonomy but has extra classes and types.

  2. Also, how can IFC support granular assets? As I see IFC has IfcElementAssembly andIfcElementComponent and IfcBuildingElementPart, but how can I have Sets and Parts?

For example:

Hook Bolt Set has Hook Bolt Reciever and Hook Bolt Blocker as parts, which:
Hook Bolt Set has a relationship with Window
Hook Bolt Receiver has a relationship with Hook Bolt Set
Hook Bolt Blocker has a relationship with Hook Bolt Receiver and Hook Bolt Set

I think I found the first one:

IfcObjectDefinition

IfcObjectDefinition is split into object occurrences and object types. IfcObject captures object occurrences such as a product installation having serial number and physical placement. IfcTypeObject captures type definitions (or templates) such as a product type having a particular model number and common shape. Occurrences and types are further subdivided into six fundamental concepts: actors (“who”), controls (“why”), groups (“what”), products (“where”), processes (“when”), and resources (“how”).

  • IfcActor represents people or organizations.
  • IfcControl represents rules controlling time, cost, or scope such as work orders.
  • IfcGroup represents collections of objects for particular purpose such as electrical circuits.
  • IfcProduct represents occurrences in space such as physical building elements and spatial locations.
  • IfcProcess represents occurrences in time such as tasks, events, and procedures.
  • IfcResource represents usage of something with limited availability such as materials, labor, and equipment.

Reference: Industry Foundation Classes (IFC)

Personally, I think Product should be product, it’s odd to me: " IfcProduct represents occurrences in space such as physical building elements and spatial locations."

Products are processed, finished items that are offered for sale

So, what about subdivide IfcObjectDefinition into “seven” fundamental concepts:

  1. actors (“who”),
  2. context (“where”),
  3. controls (“why”),
  4. groups (“what”),
  5. products (“which”),
  6. processes (“when”),
  7. resources (“how”).

I mean IfcContext represents “where”: represents occurrences in space

Then I think we can move IfcSite, IfcBuilding, IfcBuildingStorey, IfcSpace, and even the whole IfcSpatialElement into IfcContext

Then IfcContext will contain:
IfcProject
IfcProjectLibrary
IfcSite
IfcBuilding
IfcBuildingStorey
IfcSpace

And IfcProduct will represent anything related to products

Alternative: Or have that six fundamental concepts, but change products (“where”) to products (“which”) and move IfcSite, IfcBuilding, IfcBuildingStorey, IfcSpace, and even the whole IfcSpatialElement into IfcContext