Collaboration with other software
About model and data exchange with 3rd party solutions: Revit, Solibri, dRofus, Bluebeam, structural analysis solutions, and IFC, BCF and DXF/DWG-based exchange, etc.
SOLVED!

Create a parameter called "IsExternal" for exterior or interior position

Maria Calogeropulos
Contributor

Hi!

We have a klient that wants to have a parameter in the ifc export that is called "IsExternal" and gives a response as "True" or "False" if the object has a position as "Exterior" or "Interior".

I have tried to do this, but I don't get how to do it. 

Can you help me?

Kind regards,

Maria

20 REPLIES 20

Thanks a lot Lazlo! We have done this, but our client wants to have this as a "true" or "false" result. So we need to override the information with a formula. We have tried this but we don't get to work. 
Can you help us with this?

Kind regards, 

Maria

Now I see this! I will try it! thanks a lot!

Hi Lazlo, We don't get it to work... do you know why? 


Skärmavbild 2022-04-25 kl. 09.51.15.png
Maria Calogeropulos
Contributor

Hi! I meant objects as "elements", sorry about that!

Thanks a lot! I could try this also but it feels that I then have to make sure all the time that the zone is correctly. Don't you think? I guess Lazlos suggestion is a little bit easier...

Hi Maria,

I think the problem is not with the Expression, but with the Data Type. It should be set to "String", not "True/False".

In the Expression you say that if "Position" is neither "Exterior" nor "Interior" then the value of the Property is "Undefined". However, a "True/False" Data Type Property can have the value of either "True" or "False". So if you want it to be able to be set to "Undefined" as well then you will have to set it to "String" Data Type.

From the IFC Export point of view it does not matter if this Archicad Property is "True/False" or "String" Data Type, they will both be exported as a text field in IFC.

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28

Hi Laszio! Thank you for all the help! We still don't get it to work even if we set it to "String". Do you what the problem could be?

Thank you so much 

Skärmavbild 2022-04-25 kl. 14.21.38.png

 

Solution

Hi Maria,

 

Did you use the "Position" parameter in the "General Parameters" Group?

You can try to copy-paste the following code into your Expression Window, see if that works (triple-click to select the whole expression).

 

IF ( {Property:CategoryPropertyDefinitionGroup/Position} = "Exterior", "True", IF ( {Property:CategoryPropertyDefinitionGroup/Position} = "Interior", "False", "Undefined" ) )

 

Another thing that may cause an issue is the separator character between values in the expression.

Depending on your operating system settings, it may be a , (comma) character or it may be a ;  (semicolon) character.

If the above Expression does not work, try to write semicolon instead of commas in the Expression.

You can actually check the expressions in one of the default expression-defined Archicad Properties.

Or you can click the "Operators & Functions" button in the Expression Editor, hover your cursor over the IF function and the little Info Tag will appear that shows the expected format of the function including the separator character that needs to be used.

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28

Thank you so much Laszlo! Changing to semicolon did the trick

Laszlo Nagy
Community Admin
Community Admin

Glad we managed to work it out. 🙂

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28