Question

How can I update/change specific PropertySet values (IFC)?

  • 1 September 2022
  • 5 replies
  • 10 views

Hi everyone,

I’m struggling to change/update values of an IFC-file.

 

Example:

old PropertySet

IfcPropertySet Volume

Position: 1

Unit      : m3

Quantity: 15

 

new PropertySet

IfcPropertySet Volume

Position: 1

Unit      : m3

Quantity: 350

 

I used the GeometryPartExtractor to extract the IfcPropertySets from a IfcBuildingElementProxy geometry. Then I tried to adapt this https://community.safe.com/s/article/updating-ifc-example

into my workspace.

 

I used an AttributeCreator:

ifc_property_set_name = Volume

Quantity = 350

 

After that I configured the GeometryPropertySetter and GeometryPropertyRemover.

 

Unfortunately, the original PropertySet Volume will be deleted after writing. In the updated one, Position and Unit are missing.

 

Is there a way how I can keep the traits of the original PropertySet and only change/update one specific value?

 

thx

Nel

 


5 replies

Userlevel 1
Badge +15

Hi @nel​ short answer, I'm not sure you can?

 

adapting the updating IFC example is the correct path.

However, it might be possible for you to save a copy of the original property set and merge it with the changes and use this to update the PropertySet. This is because the rest of the PropertySet will be deleted when you make any changes to it.

 

I have another Safer looking into testing something out and may get back to this with a definitive answer.

 

Hope this helps,

Evie

Hi @Evie Lapalme​,

thanks for your answer.

 

I tried to merge the original with the updated PropertySet, the way you described it, but it didn’t work.

I don’t know if I’m missing or overlooking something.

 

Do you have the definitive answer, already?

 

Thx for your help,

Nel

Userlevel 1
Badge +15

Hi @Evie Lapalme​,

thanks for your answer.

 

I tried to merge the original with the updated PropertySet, the way you described it, but it didn’t work.

I don’t know if I’m missing or overlooking something.

 

Do you have the definitive answer, already?

 

Thx for your help,

Nel

I don't have the answer yet from my colleague.

Do you think you could provide your workspace and maybe some sample data so that I could troubleshoot it with you?

 

Thanks, Evie

I don't have the answer yet from my colleague.

Do you think you could provide your workspace and maybe some sample data so that I could troubleshoot it with you?

 

Thanks, Evie

Hi @Evie Lapalme​  ,

of course, I can provide some sample data.

 

The geometry has six parts that I want to:

a.      group and/or split into pairs. (Is not working yet...)

b.      merge each pair to one geometry.

c.      calculate the new volume (-> Quantity).

d.      and just update the PropertySet value “Quantity” (<- volume) like I described in my first post.

 

Geometry_01Geometry_02Geometry_03thank you,

Nel

Userlevel 1
Badge +15

I don't have the answer yet from my colleague.

Do you think you could provide your workspace and maybe some sample data so that I could troubleshoot it with you?

 

Thanks, Evie

Hi @nel​ sorry for the late reply. I do believe that I have found at least one solution to some of your questions. I have modified your workspace and added the changes in red bookmarks.

 

First, your grouped pairs I've created with an AttributeCreator and the Group By function in the MeshMerger. If you already had a common attribute among your pairs you could skip the AttributeCreator step. You can perform transformations on your pairs afterwards as you see fit; however, I have left the rest of the workspace as is.

 

Second, I have extracted the properties you seem to be missing from the PropertySet and add them at the same time with the Quantity value so that they remain together. You can see these values as Geometry Traits in the Feature Information window.

 

I hope this helps, Evie

Reply