Revit export not preserving instancing, and other diffs from FBX export

It looks like every output mesh is created as a unique mesh even if they are instances in Revit. As an example, export the Revit sample model RAC_basic_project as FBX and then as USD via Omniverse.

For the FBX export I see 275 unique meshes but 502 total meshes including instanced meshes.
For the USD export I see 679 meshes and none are instanced.

I think this makes exports quite slow for highly instanced scenes - one of our large models took over 12 hours to export via Omniverse but much less with other exporters. Also, as expected, the file size was many times larger, in our case over 5GB which is around 10x larger than exporters that preserve instancing.

There are other diffs too, some of which may not be a problem but I am curious about:

  • Normals are not exported
  • There are more meshes created by Omniverse than FBX even when taking instancing into account, although the total face count is the same. Maybe just a different algorithm for breaking up disjoint objects into meshes?
  • Vertex count is higher in Omniverse than FBX. Maybe due to the way USD represents data since I see there is one UV per vertex in USD but not in FBX?

Summary of stats on RAC_basic_project exported models:

Exporter                    FBX      Omniverse
Total meshes                502            679
Unique meshes               275            679
Total faces              410056         410056
Unique faces             272112         410056
Total vertices           245265         351971
Unique vertices          171414         351971
Normals                   68927              0
UVs                      305023         351971

Thanks for the assessment. There are some changes coming to the Revit export that will support instancing in USD which will bring down the vertex count.

Normals are not required since the subdivision method by default in Omniverse will generate the normals. Overall, dropping the normals does reduce the USD size.