Still don't understand about format of Property Reference Parameter
-
Hi Solibrians


When I tried to get value from property with above settings, I got “102” as value.
But when I change to below setting, I got “0.102” as value.

I used code to check type of returned value and both of them are intanceof Double
What is difference between them? Can you explain for me?
Thanks -
@HieuVH said in Still don’t understand about format of Property Reference Parameter:
I used code to check type of returned value and both of them are intanceof Double
You can define the unit measures and how they are shown within Solibri in your settings.
-
@JSN said in Still don’t understand about format of Property Reference Parameter:
You can define the unit measures and how they are shown within Solibri in your settings.
I think settings aren’t the problem.
My problem is with different format the returned values are different and I want to know why is that. -
@HieuVH
Ah with the added details I see now what you mean. What is the actual IFC datatype of your property?
The unit settings matter as in the example below you see that the same property (or quantity) is displayed differently depending on which datatype I chooses for the property as the default SI Unit within my IFC file is set to mm whilst the Solibri lenght measure unit is specifically set to m …

(Btw, I think by today Solibri is only able to detect global unit assignments from the IfcProject and not by each nominal value, but I am not 100% sure)Therefore the displayed value is different based on the settings you have set.
I am not sure how Solibri internally handles ‘Text’ that seems to be detected as e.g. a double value but I also detected some anomalies in the past. See also here where an integer is shown while it seems to be a double value behind the scenes https://society.solibri.com/topic/2612/ifccountmeasure?_=1710187339623
So probably a mix of both is happening to you here as well. I would suggest you to provide an example file, otherwise it is hard to guess what’s the matter.
-
@JSN said in Still don't understand about format of Property Reference Parameter:
Ah with the added details I see now what you mean. What is the actual IFC datatype of your property?
I’m not related to IFC but it’s shown in Solibri

I try to get the value through API Component.getPropertySets() and it also returns “102” as Double value.
One more example is this one:
When I get value through Property Reference Parameter, it returns “5000” as Double value with “Text” format and returns “5.0” as Double value with “Length” format.
With Component.getPropertySets() API, it returns “5.0” as Double value. -
@HieuVH
Seems legit.
I guess your property is defined by sth like
#12345=IFCPROPERTYSINGLEVALUE('YourPropertyName',$,IFCREAL(102.),$);Your IfcUnits are probably mm but the specified lenght units in Solibri might be m in your first example with 3 digits shown?
Though I am not sure then why in your second example you suddenly have 5k mm with 6 decimals shown. But it would make sense that it is actually 5(.0) meters in your file (which might be a different one/having different units (m) assigned?)
So ‘Text’ is just sth. that acutally exists within Solibri. In fact the value specified in the IFC is derived via getPropertyValue () which brings me back to my first reply
You can define the unit measures and how they are shown within Solibri in your settings.
Here also an Example of an IfcReal

which shows “your values” when you willfully change the datatype in the column settings.

The same IfcReal as Double | Text | Lenght from left to the right …
Copyright © 2025 Solibri Inc. | Powered by NodeBB