Open Moult opened 2 years ago
Geometry is the bottleneck only if there are tessellation operations in affect that generate large numbers of triangles for a number of reasons. For DTV specifically, there should never be any tessellation, so geometry conversion is relatively fast. There is some translation, but that's not a big deal.
Properties, on the other hand, have a Revit API that can use some optimization (and is an active area of interest). So the IFC side of things is fairly speedy - it isn't hard to convert a Revit parameter into an IFC one - but getting the list of parameters can be relatively expensive.
There is garbage collection and such that could have wall clock profiling random especially for a relatively small sample file like yours.
As far as discouraging IFC2x3 ... good luck :) 99% of the files I get via problem reports are IFC2x3. But that's a separate discussion.
Right. So is there a fix or anything I can do apart from case by case assessing each new consultant file for the properties we're interested in and providing a user defined property mapping file?
We are working on parameter export performance. In the meantime, yes, you can decide what are the properties you want. You can do user defined property mapping file, or you can also create schedules that you would export to IFC (for each schedule, you can determine if it is exported to IFC or not). The latter takes a little more work but you can see exactly what data would end up in your IFC file.
Just to add to this, I have a test model with 21000 duct elements and another with the same layout but with Fabparts. The fabparts model has more objects due to the nature of Fabparts.
If I export the first model (native ducts) to Navisworks NWC (with element properties) it takes 2min6s. If I export to IFC4 Reference View (with Revit properties) it takes 34m22s. That's over 17 times longer for an IFC export vs NWC.
If I export the second model (Fabparts) to Navisworks NWC (with element properties) it takes 3min5s (50% more than the first model). If I export to IFC4 Reference View (with Revit properties) it takes over 1h34m. That's over 31 times longer for an IFC export vs NWC.
Exporting to IFC4 Design Transfer View (with or without "Keep tessellated geometry as Triangulation") seems to make no difference in export time.
But when I turn off Revit parameters export, the time for the DTV export of "native" ducts, dropped to 3m51s. That's only about 12% of the time it took for the same export with parameters!
I realize that NWC != IFC. However my point is that there must be some way to dramatically improve IFC export speed from Revit even when parameters are exported, Navisworks exporter is somehow doing it.
This was all done in Revit 2024.1 with IFC Exporter 24.2.0.49.
@vinnividivicci - would you share that file with us? It does seem odd to me that it is spending so much time exporting parameters. There could be a real gem in there for significantly improving export performance with parameters. You can send to me at angel.velez@autodesk.com.
@AngelVelezSosa I sent you the files via Google Drive. Please let me know if you didn't get them.
Downloading now, thanks!
Download the RAC advanced sample project here for Revit 2021: https://knowledge.autodesk.com/support/revit/getting-started/caas/CloudHelp/cloudhelp/2021/ENU/Revit-GetStarted/files/GUID-61EF2F22-3A1F-4317-B925-1E85F138BE88-htm.html
A few notes:
What's going on? Why do properties double the export time? This goes against my intuition of geometry being the bottleneck - properties seem to take ages.
I also tested user defined properties, I suspect the times are directly proportional to the number of properties.