buildingSMART Forums

How is a IfcPropertySet related to its IfcPropertySetTemplate?

ifc4
#1

Not sure, if i should open this topic here or over at https://github.com/buildingSMART/IfcDoc. I start here.

An IfcPropertySet can be related to its IfcPropertySetTemplate through the IfcRelDefinesByTemplate.

How can the property itself be related to its property template?

E.g. IfcPropertySingleValue => IfcSimplePropertyTemplate

Should it be done by name

IfcPropertySingleValue.Name = IfcSimplePropertyTemplate.name

or by Id

IfcPropertySingleValue.Ref = IfcSimplePropertyTemplate.Id

Thanks for clarification.

1 Like
#2

the question is whether there is a possibility for a “direct” relation (…typo “elated”->“related”;):

The documentation on http://www.buildingsmart-tech.org/ifc/IFC4/Add2/html/link/ifcsimplepropertytemplate.htm has “Figure 131 — Property template relationships”:
grafik

There doesn’t seem to be a “direct relationship” between IfcPropertySingleValue and IfcSimplePropertyTemplate.

A “real life scenario” for this, as I understand it, could be the following:

  • typos in property Name, e.g. if you wanted to fix a type in PropertyTemplate Name “PresureRating” to “Pressure rating”, there’s no “primary key” to do this, because the name is the “primary key”.

  • other changes of property names, for whatever reasons.

(On the other hand: I guess this is intentional, in order to minimize “bloat”?!
If you referenced every property (by ID or GlobalId?!) this would increase file sizes?!)

bSDD -- GUIDs at the field (property) level
#3

Klaus seems to be proposing that we add an optional attribute (reference Id) to an ifc property (which could/should be a guid) that would allow identification of the property. I would certainly support this.

2 Likes
bSDD -- GUIDs at the field (property) level
#4

Great, - what’d be the right process to get this started?

bSDD -- GUIDs at the field (property) level
#5

I am not convinced that adding an optional attribute (reference ID) is the way to go for the following reasons:

  • PDT/PDS is a maschine to maschine communication where we can rely on the “name” of the IfcSimplePropertyTemplate and as the response of the IfcPropertySingleValue, as this “name” should not be edited by an user.

  • “name” is the unique key defined in the specification

  • Adding an additional attribute would cause an IFC4 Schema change because of the Pset_ Properties which have a schema defined list of attributes

1 Like