Autodesk / revit-ifc

IFC for Revit and Navisworks (2019+)
476 stars 193 forks source link

ENH: Support for IfcVirtualElement #783

Closed MennoMekes closed 1 month ago

MennoMekes commented 3 months ago

Enhancement Description

In IFC4x3 the Entity IfcVirtualElement has been expanded with Predefined Types. This makes them even more usefull. I use IfcVirtualElement.CLEARANCE for objects in front of installation elements or shafts. IfcVirtualElement.PROVISIONFORVOID speaks for itself. And there is a Pset_ProvisionForVoid for which I can Load those specific Shared Parameters in Revit so they are provided and should export. Also, IfcBuildingElementProxyType.PROVISIONFORVOID has been deprecated in favor of IfcVirtualElement.PROVISIONFORVOID and IfcBuildingElementProxyType.PROVISIONFORSPACE has become IfcVirtualElement.CLEARANCE

It used to work in IFC2x3 coordination view in previous versions of Revit but that has been taken out in Revit 2025 as well.

(https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcVirtualElement.htm)

Revit Version

2024.0.x

IFC for Revit Addon Version

24.x.x

Windows Version

11 22H2

AngelVelezSosa commented 3 months ago

We will create an item to add this back in.

MennoMekes commented 3 months ago

Thanks a lot!

MennoMekes commented 1 month ago

Thanks for adding it back into the new exporter!

For those following this thread: It works at the instance level, at type level you cannot choose IfcVirtualElement in the 'Select Export As IFC Entity' dialogbox.

Like this for clearance-objects.

IfcVirtualElement CLEARANCE IfcVirtualElement CLEARANCE-ifc4x3

And for the provision for voids:

IfcVirtualElement PROVISIONFORVOID IfcVirtualElement PROVISIONFORVOID-ifc4x3

Including the Pset_ProvisionForVoid. https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/Pset_ProvisionForVoid.htm I added the parameter 'VoidShape' set to 'Rectangle' I found that the Depth, Height and Width were not exporting as expected. Probalby due to my Dutch parameters, diepte, hoogte and breedte. So I added the parameters Pset_ProvisionForVoid.Depth, Pset_ProvisionForVoid.Height and Pset_ProvisionForVoid.Width as well. Mainly because the BuiltIn parameters like Height cannot be set to Instance and I need them to be in these cases.

Pset_ProvisionForVoid-ifc4x3