IFC SCHEMA

An intuitive visual guide to the IfcSchema, helping users decode class hierarchies and relatiships in the official docs.

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
IFC SCHEMA da Mind Map: IFC SCHEMA

1. NON-ROOTED ELEMENTS

1.1. IfcMaterial

1.1.1. A material may be named, and then have further non-rooted classes assigned to it, such has simple RGB colours, textures, and material properties for environmental simulations.

1.2. IfcCartesianPoint

1.2.1. As you might expect, IFC can store 2 or 3 dimensional Cartesian coordinates. This is one of the building blocks of many other non-rooted classes, such as the ability to locate an object in space, or build up geometric representations.

1.3. IfcFacetedBrep

1.3.1. A huge variety of geometric forms may be described in IFC. One commonly known format is a faceted BREP, or series of polygons that describe the surface of an object.

1.4. IfcPerson

1.4.1. Information about people and organisations can be recorded, which is especially useful as some countries have legislation that requires this to be stored.

1.5. IfcPropertySingleValue

1.5.1. This commonly used class can define a single property in terms of a property name and its associated value. In addition, there are other classes that allow more complex properties in tabular or calculated form to be stored.

1.6. IfcObjective

1.6.1. This little-known class can store design intentions, strategies, and objectives to be then associated with objects or portions of the BIM model.

1.7. IfcRegularTimeSeries

1.7.1. When scheduling, events may occur at predictable time intervals, which may be stored.

2. IfcDoorType

3. IfcProject

3.1. this is the most common "container" of IFC data, used to store information specific to a particular project

4. IfcWallType

5. IfcWindowType

6. IfcPropertyDefinition

6.1. These subclasses describe properties of objects and things. They themselves are not an object but instead a property or quantity like fire rating, energy usage, or volume

7. IfcContext

7.1. This special category holds the starting point of IFC data, by describing either a project or library. There are only two subclasses which can contain the rest of the IFC data: IfcProject and IfcProjectLibrary.

8. IfcObject

9. IfcProjectLibrary

9.1. this can store BIM data that is project agnostic, to be reused between multiple projects

10. IfcObjectDefinition

10.1. These subclasses describe objects or things that relate to the AEC industry. This includes walls, people, and tasks. You may think of them as the "nouns" in IFC.

11. IfcPropertyTemplateDefinition

11.1. If you don't want to actually to store the value of a property but instead want to describe a template of what properties exist, which are required, and what data is valid for the purposes of exchange requirements or company standards, then this template subclass allows you to do so.

12. IfcExternalSpatialStructureElement

13. IfcStructuralActivit + IfcStructuralItem

13.1. These are useful for structural analysis. They hold data to describe an analytical model, including members, nodes, connections, loads, and forces, as well as the results from the calculations. Example subclasses include IfcStructuralCurveMember, IfcStructuralPointConnection, and IfcStructuralPointReaction.

14. IfcTypeObject

15. IfcRelationship

15.1. These subclasses describe relationships between objects themselves, between properties, or between objects and properties. The relationships can be objects that contain other objects, connect to objects, have system inputs or outputs, or are assigned a property or quantity.

16. IfcPreDefinedPropertySet

16.1. For some reason, some properties to do with door and window linings are given a special status in the IFC schema and have their own category. This will likely disappear in the future and merge into IfcPropertySet.

17. IfcSpatialStructureElement

18. IfcPropertySetDefinition

19. IfcSpatialZone

20. IfcRelDefines

20.1. This relationship is used when a particular object can be defined by a common set of definitions, such as properties, manufacturer / construction types, or a template of definitions. This relationship is very commonly used, specifically to define properties (both buildingSMART standard properties, and custom user properties) to objects, and define construction types. Example subclasses include IfcRelDefinesByProperties, IfcRelDefinesByType, and IfcRelDefinesByTemplate.

21. IfcElementType

21.1. These describe construction types. A construction type may be assigned to an IfcElement, just like a particular IfcWall might have a particular construction type of 2 layers of plasterboard on a metal frame. Example subclasses of IfcElementType include IfcWallType, IfcDoorType, and IfcWindowType.

22. IfcSpatialElement

22.1. These describe spatial concepts, such as sites, buildings, bridges, storeys, and spaces. These IfcSpatialElement classes can contain IfcElement elements inside them, such as a slab being inside a building storey. Example subclasses of IfcSpatialElement include IfcSite, IfcBuilding, and IfcSpace.

23. Hundreds of available concepts

24. IfcElement

24.1. These hold physical built elements that we come across every day, like slabs, columns, beams, furniture, pipes, cables, ducts, and so on. Example subclasses of IfcElement include IfcColumn, IfcBeam, and IfcFurniture. They may have geometry associated with them.

25. IfcRelDecomposes

25.1. This relationship is used when a particular object (physical or virtual) is built up of smaller object parts. Smaller parts may be simple aggregated into a larger whole, or projecting from a object, or embed itself within another object. Example subclasses include IfcRelAggregates, IfcRelProjectsElement, and IfcRelVoidsElement.

26. Material Association

27. #123=IFCRELASSOCIATESMATERIAL(...,,(#20,#27),#10)

28. Attribute

29. IfcRelConnects

29.1. This relationship is used when a particular object is joined physically or virtually to another object. This is usually used in analytical models, such as structural analysis where members and nodes connect to each other, MEP systems analysis where ports join together, or environmental analysis, where spaces have boundaries and are covered by particular material layers. Example subclasses include IfcRelConnectsStructuralMember, IfcRelConnectsPorts, and IfcRelSpaceBoundary.

30. Attribute

31. IfcRelAssigns

32. IFC properties

32.1. IFC properties are IFC entities that can be attached to classes. Unlike fixed attributes, properties have attributes and are grouped into Property Sets (Psets) linked to many elements; e.g., FireRating in Pset_WallCommon applied to multiple IfcWalls. Names of standard properties/Psets are defined in the IFC spec, but users can create custom properties and Psets. Quantities are a special property type for measurable values (length, area, volume, cost), grouped as Quantity Sets (Qto). Not every Pset/Qto applies to every class; the spec prescribes valid mappings, though custom Psets may be assigned.

33. IfcProduct

34. IfcMaterial

35. ROOTED CLASSES IfcRoot

36. IfcSlab

37. IFC attributes

37.1. All IFC classes have attributes—named fields with values. A common example is the inherited Name (e.g., an IfcDoor named “D01”). Attributes can be mandatory or optional, and hold simple text or complex data, such as OwnerHistory (responsible person, software, organization, contacts). Attributes are inseparable from their classes: when an entity exists, its attributes exist (filled or empty). The attribute set for each class is fixed by the IFC specification; end-users can’t add or remove them. Consequently, classes expose a small, stable set of globally useful attributes that changes little across IFC versions.

38. IfcPropertySet

38.1. These classes help store properties of other classes, such as IfcElement. For instance, it may store a fire rating associated with an IfcWall. Some properties names and values are standardised within IFC, but end-users can also create their own properties. See IFC attributes and properties for more information.

39. IfcRelAssociates

39.1. IfcRelAssociatesMaterial

40. IFC attributes and properties

41. IfcRelAssigns

41.1. This relationship is used when a particular object supplies a resource or fulfils a task for another object. It is commonly used for resource management and construction sequencing, determining processes, resources, and actions performed by people. Example subclasses include IfcRelAssignsToResource, IfcRelAssignsToProcess, and IfcRelAssignsToProduct.

42. IfcFurnishingElement

43. IfcBuildingElement

44. IfcBuildingElementType

45. IfcBuildingStorey

46. IfcBuilding

47. IfcSpace

48. IfcSite

49. IfcFacilityPart

50. Starting Point

51. IfcQuantitySet

51.1. This is similar to IfcPropertySet but focuses on calculated quantities (lengths, areas, volumes, weights, etc). Some quantity names and values are standardised within IFC, but end-users can also create their own quantities. See IFC attributes and properties for more information.

52. Visual Key: IFC Class Hierarchy & Syntax Indicators

53. IfcFacility

54. IfcColumn

55. Hierarchy Level

56. IfcBeam

57. IfcRelAssociates

57.1. This relationship is used when a particular object has a source of information associated with it, such as an external document, classification system like Uniclass, project library, or material definition. This is commonly used for facility management. Example subclasses include IfcRelAssociatesDocument, IfcRelAssociatesClassification, and IfcRelAssociatesMaterial.

58. IfcControl

59. IfcRoot

60. IfcRoot

60.1. This IfcRoot class is special because it provides the following four attributes: - GlobalId (required) - A unique identifier of the object, generated by a computer. This is usually created automatically by the BIM authoring tool. - OwnerHistory - This special attribute can store names, dates, organisations, software vendor, and contact details of people who are responsible for this object. This is usually created automatically by the BIM authoring tool. - Name - This can contain a short text that names the object. - Description - A sentence or so to describe the object.

61. Level 1

62. o

63. o

64. IfcRelDecomposes

64.1. IfcRelAggregates

65. IfcRelDecomposes

65.1. IfcRelAggregates

66. IfcBuildingStorey

67. IfcBuildingStorey

68. IfcBuilding

69. IfcSite

70. Level 3

71. Level 4

72. Level 5

73. Level 3

74. Level 3

75. Level 4

76. These are useful for scheduling information, describing responsibility, tasks, resources, and timelines for construction sequencing or project planning. Example subclasses include IfcTask, IfcConstructionMaterialResource, and IfcWorkSchedule.

77. Level 5

78. Level 6

79. Level 6

80. Level 7

81. Level 7

82. IfcWall

83. IfcFurniture

84. IfcProcess

84.1. IfcTask

85. IfcClass

86. IfcResource

87. IfcRelAssigns

87.1. IfcRelAssignsToProduct

88. Coloured background + Gold Icon - Abstract Class

89. IfcClass

90. White background + Level colour Icon - Concrete Class (Instantiable

91. IfcActor

92. https://wiki.osarch.org/index.php?title=IFC_attributes_and_properties

92.1. Wiki.OSArch: IFC attributes and properties

93. Level 2

94. ScheduleDuration

95. IfcProcess

96. DurationType

97. External Link

98. IfcLagTime

99. Enumeration

100. Concrete Pour

101. o

102. Formwork

103. o

104. Attributes

105. Attribute

106. Attributes

107. attribute

108. IfcTask

109. attribute (type)

110. Direct attributes

111. IfcRelFillsElement

111.1. 5. Openings → links opening → filling (IfcWindow, IfcDoor)

112. IfcRelAssociatesMaterial

112.1. 6. Materials → connects wall to material layer set or material profile set

113. IfcRelAssociatesClassification

113.1. 7. Classification → links wall to bSDD, Uniclass, OmniClass, etc.

114. IfcRelAssociatesDocument

114.1. 8. Documents → drawings, specs, PDFs

115. IfcRelAssignsToGroup

115.1. 9. Groups → zones, systems, logical groupings

116. IfcRelAssignsToProcess

116.1. 10. Tasks / sequencing → construction scheduling (4D)

117. IfcRelAssignsToControl

117.1. 11. Costs → cost items (5D)

118. IfcRelVoidsElement

118.1. 5. Openings → links wall → opening element (IfcOpeningElement)

119. IfcRelContainedInSpatialStructure

119.1. 1. Spatial context → tells you where the wall lives (building storey, building, site)

120. 1

121. 7

122. 6

123. 5

124. 4

125. 3

126. .

127. IfcRelAggregates

127.1. 4. Geometry decomposition → walls composed of layers, sub‑elements, etc.

128. IfcRelDefinesByProperties

128.1. 3. Properties → attaches Psets

129. IfcRelDefinesByType

129.1. 2. Type assignment → links the wall to an IfcWallType

130. IfcTask

131. IfcRelConnects

131.1. IfcRelSequence

132. Attribute

133. Attribute

134. Attribute

135. Attribute

136. Spatial decomposition

137. #123=IFCRELAGGREGATES(...,#10,(#20,#27))

138. IfcProcess

138.1. IfcTask

139. CONSTRUCTION

139.1. IfcTaskTypeEnum

140. FINISH_START

140.1. IfcSequenceEnum

141. IfcControl

142. ELAPSEDTIME

142.1. IfcTaskDurationEnum

143. IfcWorkControl

143.1. IfcWorkSchedule

144. IfcRelAssignsToControl

145. 2