It seems that many attributes have an enumeration type that can take the value “userdefined”.
Was the purpose of “userdefined” enumeration to allow users to added specific user defined value(s) not covered under the existing enumerations?
If so, how is “userdefined” intended to be used to add user specific enumerations? Are these additional enumerations to be handled within the authoring application?
in most cases, the “userdefined” value is included in an enumeration for a more speficic type, e.g. IfcBeamTypeEnum. Here the following rule applies:
- the user can classifiy the beam in his/her design by declaring it as IfcBeam (often done automatically by the software) and add the value from the type enumeration, e.g. JOIST, this declares the model element to be more specifically a joint (by using the enumerator JOIST)
- the user can classifiy the beam in his/her design by declaring it as IfcBeam (often done automatically by the software) and add the value from the type enumeration USERDEFINED. Then he/she has to fill in an own value, e.g. “my favoured beam”. This will be exported as ObjectType in the IFC file and provides a user defined typing of the beam
so essentially the combination of USERDEFINED and the user value stored in ObjectType allows for an dynamic extension of the available types in IFC. It can also be used today in infrastruction to added own types without waiting for the new extensions of IFC5.
2 Likes