Autodesk-Forge / forge-revit.ifc.scheduler

This code sample demonstrates the usage of Model Derivative API, which allows you to convert a Revit `.rvt` file stored in BIM 360 Docs to `.ifc` format.
Apache License 2.0
10 stars 4 forks source link

IFC export setting use by Model derivative #2

Closed aroestia closed 1 year ago

aroestia commented 1 year ago

Hi,

using convertor RVT to IFC converter by Model derivative, I got a small and compact file size compared to exporting it locally from Revit. what could be the cause? I'm talking about a 300%-500% size difference.

yiskang commented 1 year ago

Hi,

Sorry, I cannot reproduce this issue on my side.

Could you help check if the IFC Schema version (saying IFC2X3, IFC4) in the exported files and IFC export settings are the same?

aroestia commented 1 year ago

Thanks, @yiskang .

I would be more accurate and detailed, please advise where is the right place to post this bug (maybe batter in a private discussion directly with an Autodesk expert engineer).

we created an integration followed by Forge documentation. and your post about export setting.

we did the following step : we have published a RVT model with predefined publish settings in the model. For the job translator, we chose this setting. (using specific view - publishing only one 3d default view) Forge results: 1.1GB Revit results: 3.8GB

also, a not expected behavior was that some random elements from the Forge model disappear from the file. when I said random I mean random :) it is not about a specific family or type or space that disappears. Forge number of elements: 106,592 Revit number of elements: 112,039

yiskang commented 1 year ago

Thanks for getting back @aroestia with extra details during the winter break.

Could you help open your IFC files with the text editor to see which version of Revit IFC exporter is it in the IFC header?

The reason why I’m asking is that Model Derivative API doesn't support new IFC export settings defined in JSON with my research. (Logged as a wishlist item RVTLMV-2841)

If your IFC expert settings name was stored in JSON, or its name is not either of the below, Model Derivative API would be unable to parse the setting and would use the default export settings instead.

You can test that by running this Revit add-in locally: https://github.com/yiskang/forge-revit-ifc-exporter-appbundle

If you want to discuss this issue with me privately, you can send an email to asp(DOT)help(AT)autodesk(DOT)com, which is the official APS (formerly Forge) support, and mention my name in the email.

yiskang commented 1 year ago

Here is an example.

yiskang commented 1 year ago

Hi @aroestia,

I replied to the mail you sent to APS Help.

According to the IFC file head you provided, the Revit Desktop uses FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');, but the BIM360 one uses FILE_DESCRIPTION(('ViewDefinition [CoordinationView]','ExchangeRequirement []'),'2;1');.

Basically, they were exported with different IFC export settings without a doubt. The Revit one doesn't have an exchange requirement selected. As I know, the exchange requirement can be used to control the export data amount, so The Revit one file size would be bigger than the one that has set the exchange requirement.

In Revit desktop, you will need to select this exchange requirement like the one below in the snapshot to ensure they are using the same one. Maybe see also here: https://github.com/Autodesk/revit-ifc/issues/554

Cheers,