Revit datasmith exporter wishlist

I though it would be a good idea to create a post for collecting ideas/wishes/remarks regarding the Revit Datasmith Export Plugin.

First of: great job on the exporter plugin, really nice to see all this effort being put into creating a pipeline between Revit and Unreal Engine.
It is really nice to see that a lot of effort has been put into keeping the Revit object structure intact as much as possible (level assignment, layers, all that metadata, etc.)

What I really was hoping for before I installed the plugin was an automatic reduction of triangles/vertices on import. Right now when I import a model from Revit it will almost always be way too big for Unreal Engine to properly handle, The thing is that anything that is a cilinder shape in Revit will be imported into UE4 with an enormous amount of tesselation. Just a small piece of piping will be somewhere around 30.000 triangles. Most buildings have thousands of pipes, so that really adds up: it is not gonna work in UE4. Now the Proxy Geometry Tool is a great way to reduce this, but it will take hours (if not days) to reduce an entire model and even then the result might not be exactly what you want in terms of quality. It would be really great if somehow this could be handled in the Revit export process to udatasmith (if at all possible).
Before the export plugin I would pipe it through 3DSMax and reduce the number of triangles with the ProOptimizer and such. This made it somewhat manageable before importing into UE4.

Would love to hear your thoughts on the matter or maybe workarounds that other users have come up with.

The first implementation was a focus on translating the data and ship something that had some value without waiting to get the dream solution out. But your concerns are totally legitimate.

A few things you can do now:

  • reducing polygon count can be done in the engine and automated with python. No need to use 3D max for that so we believe we’re not putting an inferior solution than fbx and max. I’ll dig up an example when I can.

Our next phases of development are related to exactly what you’re saying:

  • dataprep with better ui than python to prepare models from all sources for VR (this is why the exporter don’t do that)

  • rethink tessellation from revit: we get revit’s mesh but sometimes it’s quality is poor. We believe we can override it for specific object type at export time. That would be a phase 2 of the implementation.

I’d just like to add some feedback regarding the export plugin.

If anyone is having the error message during export from Revit as below. It seems to be due to Revit 2019’s new PBR materials.

https://forums.unrealengine.com/core/image/gif;base64

Changing them to the old format materials seems to fix the issue.

thanks for the Revit exporter :slight_smile:

i tried it out last night with a small project with 13 houses. but all the houses are linked in a overal model.
when i exported it, everything exported except the linked models. can you look in to that?

over the weeks i wil test things out :slight_smile:

Thanks We will check this out.! We haven`t noticed that new materials were added to revit 2019. It should be fairly easy to support.

Thanks, we will have a look.

Thank you, crew!!! I’ll try out during weekend if my wife let me do… It seems to have a really valuable workflow.

Thanks for the reply Pierre-Felix, good to hear that reducing the polygon count already has your attention.
If you’d be willing to share an example on how to reduce polygons using the engine I’d really appreciate it, thanks!

Seconding on linked models ! All our projects have a main file with multiple linked models (different buildings, MEP, Structure, etc…), and all these files are aligned in Revit.

Aligning by hand in Unreal is going to be a bit of a problem :smiley:

Hi, the user guide on python contains an example that should get you started:

https://docs.unrealengine.com/en-us/Editor/Scripting-and-Automating-the-Editor/Editor-Scripting-How-Tos/Creating-Levels-of-Detail-in-Blueprints-or-Python

Thanks for revit datasmith plugin, i ve finally exported easily to UE, but when i import datasmith file into UE it creates a map file, then i make some small changes in revit then import again it comes with that changes but sometimes brings same meshes like doors floors again and again on same place , so it doesnt always updates meshes it sometimes brings same meshes on itself again, how should we import our changes to UE , i ve tried alot of things but i get random results, is there a proper way to bring revisions, like only bring changed items option ?

REVIT 2018.3 export 3D,ERROR,why?

I can confirm this also; anything that is in the current file is translated over by Datasmith, but anything linked or referenced in to the current view, is left behind. This certainly makes it ‘tricky’ for our standard Revit workflows :wink:

is there a way we can get the file? We are going to look at it and fix it

Thanks, this is a very reasonable request. We’re looking at how we can solve it!

Great, thanks for that. I already had a little python script for setting every mesh to a LOD group, but these examples might be useful for further optimization.
What I was wondering though: does setting the LOD for meshes also improve the performance in the editor or only during runtime?

Drawcalls, FPS etc are the type of considerations you have in both modes. Have a look at this online class that one of our technical artists gave on optimization and rendering, that should help you:

That’s really great, thanks! I’ll be sure to check it out.

HI teramit,

I’ve you tried using right clicking re-import on the Datasmith Scene?

You should also be able to re-import directly from the static mesh.(buggy right now)
Instead of having to re-import the all scene, which can be quit time saving when using large scenes.

OK!give me your email .