Holger if you don’t mind, I would like to explain a little bit more in detail what we need, and why we intend to get a property called “place of installation”.
In the early design phases (Vorentwurf = Schematic Design, Entwurf = Design Development) costs are summarized based on the DIN 276.
DIN 276 contains groups of cost called Kostengruppen (KG).
KG 300 are building construction elements. Building construction elements are divided into:
- 310 excavation
- 320 foundation (ground touching elements)
- 330 exterior walls (vertical exterior elements)
- 340 interior walls (vertical interior elements)
- 350 slabs (horizontal elements)
- 360 roofs (horizontal and pitched external elements)
- 370 does not exist
- 380 furnishing elements
- 390 others
Whereas KG 330 ist further divided into:
- 331 loadbering exterior wall constructions
- 332 non-load bearing exterior wall constructions
- 333 exterior columns
- 334 exterior wall openings (doors, gates, windows, …)
- 335 exterior wall covering on the exterior side
- 336 exterior wall covering on the interior side
- 337 Elementen exterior wall constructions
- 338 exterior shading devices
- 339 other exterior wall elements
Here you can see one of the first problems, as DIN 276 is mixing geometric element classifiaction with properties like IsExternal and IsLoadBearing.
351 slab constructions contains:
- slabs (IfcSlab, PreDefindeType:FLOOR, IsExternal:false)
- balconies (IfcSlab, PreDefindeType:FLOOR, IsExternal:true / IfcSlab, PreDefindeType:USERDEFINDE, BALCONY
- beams (IfcBeam, IsExternal:true/false)
- stairs (IfcStair, IsExternal:true/false)
- landings (IfcSlab, PreDefindeType:LANDING, IsExternal:false)
361 roof constructions contains:
- roof structures (IfcRoof Types)
- slabs (IfcSlab, PreDefindeType:ROOF)
- balconies (IfcSlab, PreDefindeType:FLOOR, IsExternal:true / IfcSlab, PreDefindeType:USERDEFINDE, BALCONY
- beams (IfcBeam, IsExternal:true/false)
- stairs (IfcStair, IsExternal:true)
- landings (IfcSlab, PreDefindeType:LANDING, IsExternal:true)
As you can see for beams for example it needs a further information to determine if it belongs to KG 350 or KG 360. That could be done by a new PreDefinedType for beams, a UserDefinedType or a property that expresses, that the beam belongs to a slab construction (KG 350) or a roof construction (KG 360)
Another example are floorings. DIN 276 differentiates between floorings on foundations and slabs. Floorings on foundations are KG 325 and floorings on slabs are KG 352. Where KG 352 floorings could be interior or exterior (on balconies)
So here we need again a new PredefinedType for IfcCoverings, a USERDEFINED Type or a property which expresses that the flooring belongs to foundation or slab.
Another Example are wall coverings. Interior wall coverings of an exterior wall needs have to be differentiated from wall coverings of interior walls. So the property IsExternal is not enough. We would need a further PreDeifnedType for “exterior-wall coverings on the inside” and “exterior-wall coverings on the outside” or USERDEFINED Types or a Property that expresses that the wall covering belongs to an exterior wall.
You might suggest, we should use a separate classification for DIN 276, but that means more effort due to two classifications and risk of double and contradictory information.
You might suggest we should use USERDEFINED Types but as there is no way to have a predefined array of values for USERDEFINED Types, and as we doubt BSI would extend the PreDeiefnedTypes, we consider a property as better choice, as it is possible to predefine a value list for a properties.
I hope this helps understanding our approach a better.