Properties – the “I” in BIM – should be quite simple, right? Give it a name, and assign a value. That’s at least as many BIM programs see it.
You can do that in IFC, no problem. But very often this is not enough. That’s why IFC offers more option to define your properties.
The case describes above is equivalent to the IfcPropertySingleValue, defined by a name, a description, a value and a unit.
While this is often sufficient, it can also be errore prone. Typos, different pronunciations or abbreviations by different people can make it hard to evaluate your elements their properties. In this case an enumerated value can be handy, where you can only select from a given set of predifined values.
It is also possible to allow multiple values for a single property, as described in the IfcPropertyListValue. I know many people who long for this feature in e.g. Revit (little sidewipe here 😉 ).
When writing project requirements we often have to deal with bounded values. E.g. a room should have an area between 20 and 25 square meters. How to define this? Two parameters, min and max?
Not in IFC. Just use the IfcPropertyBoundedValue and you can define a range of values. Very useful (if supported by youe software).
Now, the following types are a bit more sophisticated:
You can assign a whole table as a value to you property. This can be used if you want to document the acoustic behavior of a material (which depends on the sound frequency).
A rather unknown option is to reference a property of another element. In that way you define a value once and reuse it, e.g. when using quantities for your cost items (more on that in a future post).
If, after reading this, you go back to the simple key/value properties of your normal BIM programs and are a bit frustrated, well, I feel you. But it’s not the fault of IFC.
5WQkORLodjU
8XqhqTY5aFN
4qnsbef5Ryv
6HvPViZCx92
UFe0LbgGd6G
6UnEO3vCwQ4
NdvDffHEklk
EbyhS98bjuO
3dkWGuIwtqK
VaIVR2yETnS
KvkIKP0dory
6UzlQZDfH5p
gmvupFcf3eT
1iJkXsc4z9v
EM6ETfiUenJ
dWXbV6Yay98
4IDd4ybK0SR
DtrCYOdUZvy
IZAFih9O8XU
v0m7428UhuP
ZQkd8lcdHs5
P9ZsP2gAJkx
GVIaXmNCWfQ
sB7IXB8nB4q
2wo1NoS7evu
JLp6FXy1GiX
cABaioB8TDj
LRtfBT7Leyd
0WhSTpUf1RG
8QLTU2FcZbN
4VgiOZ3RYXx
bJYFyvsYqDy
rHKUUX3PAqa
eXfrBbrW0Oq