Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single property duplicated multiple times within the same class #85

Open
lfontanella opened this issue Feb 8, 2024 · 3 comments
Open

Comments

@lfontanella
Copy link

Hello!
I wanted to ask if it is possible to associate the same property multiple times within the same class and use individual "ClassProperty" to differentiate their various limit values?
I try to explain me better. I know that it wouldn't make sense, for example, to assign the "Area" property multiple times within the same "Wall" class.
However, in my case, in the field of energy analysis, I wanted to use bSDD to input all the thermal transmittance limits required by regulations (which vary in Italy depending on the 6 climatic zones) in order to have a single "ThermalTransmittance" property associated with a single "Wall" class and 6 ClassProperties, one for each climatic zone, where only the limit values vary.
I am attaching an example image with currently only 2 class properties for climatic zones A and B of a wall.
eg climate zone

The alternative I have is to create 6 different thermal transmittance properties, one for each climatic zone, for all building envelope elements (walls, roof, floor, windows) for a total of 24 individual properties?
Thank you!

Luca

@atomczak
Copy link
Collaborator

Hi @lfontanella,

Interesting use case.

The ClassProperty is an assignment of Property to a Class. The IFC schema only allows property sets to have unique properties (https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcUniquePropertyName.htm) so there can't be two with the same name (code in bSDD). After all, the property is the same, you just want to define other ranges of possible values.

Instead, consider bSDD the source of definitions but use IDS to specify the local restrictions. For example, you can create an IDS file for each zone, and all would use the same property from IFC/bSDD (ThermalTransmittance), but would have different ranges of possible values (min/maxInclusive/Exclusive restriction). While in bSDD, we define what a property is and what its limitations are (e.g. width is always >0), in IDS you can make context-specific requirements (e.g. door width > 0.90m).

By the way, please do not reupload IFC definitions (IfcWall) as those already exist in bSDD, with other code and URI. It is against the IFC license (CC BY-ND 4.0).

@lfontanella
Copy link
Author

lfontanella commented Mar 19, 2024

Hello @atomczak, thank you very much for your response!
I will then try to set up a specific IDS with all the Thermal Transmittance limits provided by the regulations.
Currently, I am trying to create a preliminary IDS to make sure that the IFC file contains all the information needed for the energy analysis of a building.
Once I have passed the first preliminary check, which ensures that I have the necessary information, I intend to use an intermediary software created using Python-IfcOpenshell to read the data contained in the previously approved IFC file, the definitions contained in bSDD, and perform all the necessary calculations.

By the way, please do not reupload IFC definitions (IfcWall) as those already exist in bSDD, with other code and URI. It is against the IFC license (CC BY-ND 4.0).

I have corrected the error in the IfcWall description, thanks for the guidance.
Luca

@atomczak
Copy link
Collaborator

Good!

I still don't understand why you define Thermal Transmittance property if it already exists and is standardised in IFC.
https://identifier.buildingsmart.org/uri/buildingsmart/ifc/4.3/prop/ThermalTransmittance
(yours: https://identifier.buildingsmart.org/uri/Iuav/UValue-CAM/0.32/prop/TT.01). Isn't it the same property?

Also, why do you define classes like: "Floor-Climate Zone - A"? Isn't this still just a floor that should have a property "Climate Zone" with a value "A"? Then in your IDS you can say that if Climate Zone == A, then it should be < 0.44.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants