Autodesk / revit-ifc

IFC for Revit and Navisworks (2019+)
477 stars 194 forks source link

Wrong data type for CompressiveStrength #534

Open Moult opened 1 year ago

Moult commented 1 year ago

The data type for the CompressiveStrength property should be a pressure measure and a single value.

Revit has it currently as a multiline tabular value: https://github.com/Autodesk/revit-ifc/blob/master/Install/Program%20Files%20to%20Install/IFC%20Shared%20Parameters-RevitIFCBuiltIn_ALL.txt#L1252

AngelVelezSosa commented 1 year ago

We will check on this. We have found bugs in the past in the files provided by bSI which is how this is generated.

Moult commented 1 year ago

I also use the bSI generated files for the BlenderBIM Add-on and it seems to be correct there:

#22787= IFCSIMPLEPROPERTYTEMPLATE('3gEaM0qUmHuO00025QrE$V',$,'CompressiveStrength','The compressive strength of the concrete.',.P_SINGLEVALUE.,'IfcPressureMeasure','',$,$,$,$,.READWRITE.);
WawanSolihin commented 1 year ago

I look at the generated shared parameters. The problem of the data type is because of the same property name (= shared parameter name) occurs multiple times and in other instances they are actually property table value, e.g. Pset_MechanicalPanelInPlane.CompressiveStrength The current mapping is not able to handle the above situation well and can only take one of the datatypes only, which unfortunately it seems take the one with PropertyTableValue. We are changing this with a new parameter naming style that prefixes the parameter name with the Pset name. It is already used in Revit 2023, and the next update to the open source 2022 will likely include this as well. In this style, there will be no overlapping definition, every property is uniquely mapped to a shared parameter.

Moult commented 1 year ago

Awesome! That's really great to hear and that's a good solution for the future. Where can I download the shared params file for Revit 2023?

AngelVelezSosa commented 1 year ago

@WawanSolihin we should update the files in the place that @Moult found them.

WawanSolihin commented 1 year ago

It will be installed together with the open source installer for 23.1.1.0

Or you can get it here: https://github.com/Autodesk/revit-ifc/blob/Release_23.x.x/Source/RevitIFCTools/IFC%20Shared%20Parameters-RevitIFCBuiltIn_ALL.txt https://github.com/Autodesk/revit-ifc/blob/Release_23.x.x/Source/RevitIFCTools/IFC%20Shared%20Parameters-RevitIFCBuiltIn-Type_ALL.txt

Moult commented 1 year ago

So I'm a little confused here, there's shared params in two locations: https://github.com/Autodesk/revit-ifc/tree/master/Source/RevitIFCTools and https://github.com/Autodesk/revit-ifc/tree/master/Install/Program%20Files%20to%20Install

Which is the appropriate location?

WawanSolihin commented 1 year ago

They are supposed to be the same. Presse note that the correct one is according to the link I sent earlier from branch 23.x.x. The master branch version contains additional psets for the future support for IFC 4.3.

Moult commented 1 year ago

Ah OK, I'm looking at the master branch, which I guess is still outdated?

WawanSolihin commented 1 year ago

I think the matter branch contains up-to-date one + IFC4.3 propertyset. But this is not final/released yet