Page MenuHome

Material indices are wrong when importing FBX file from Revit.
Closed, ArchivedPublic

Description

System Information
System-Info file attached,

Blender Version
Official 2.79 release

Short description of error
When importing a model from Revit the materials from Revit are not present in the scene. In the Revit file there are 15 materials present. (I know this sounds like a lot but Revit puts a lot of materials on simple stuff by default).
This has worked in a version of blender years ago (cant remember which one) but now it does not.
Probably not the fault of Blender but Autodesk who has switched Revit materials to the same material system as 3dMax. (protein 2.0 materials)
There are some old posts on it here: https://forums.autodesk.com/t5/fbx-forum/cannot-get-materials-from-fbx-files-exported-from-revit/td-p/4175924

I dont know if this is at all solvable as many other programs cant handle it (including autodesks own)
But if you think of any way I can help by sending you anything else from revit, please just write.

Att: @Bastien Montagne (mont29)

Exact steps for others to reproduce the error
Import "Simple Revit Model to Blender New FBX.fbx" as attached. Note that no materials are registered.

Event Timeline

Bastien Montagne (mont29) changed the task status from Unknown Status to Archived.Sep 20 2017, 5:48 PM
Bastien Montagne (mont29) claimed this task.

Indeed, there’s nothing we can do here, there is no regular FBX material stored in that file. We only have a big blob of binary data that could be pretty much anything, and mysterious material indices, but no material. So afraid we cannot do anything here.

Typical of autodesk to go out of their way to make interoperability impossible. Well thanks for looking into it any way. Maybe there is another way to get the materials.
One final question. Do you see anything in the FBX file that could be used to place a placeholder material on the objects?
Even though we dont know what the materials are it would be very helpful if all the objects with the same material got the same default diffuse material in Blender?

This is not really possible, only info I get here is mat index of polygons at mesh level on one side, and some generic, data-void "Object" nodes with a single "ADSKAssetReferenceID" property, which in that case are probably links/references to materials definitions, but could perfectly be anything else.

So am sorry, but will not try to hack around something to cope with that totally non-compatible thing, since I’d also have to maintain it afterwards… Regular FBX is already a huge PITA to work with, let’s not add even more closed variants of it to our burden. ;)

I take your point.
I hoped that it was possible to use at least the mat index to specify which mesh has same material.
When working with buildings of many thousand m² its a pain to manually specify all this if its already in the FBX somewhere.
But I see that you have the dirt job here and the blame is on autocad so I won't budge you with it.
All the more reason to back open source standards wherever possible. Thanks for looking into it.

A note to anyone seeing this task wondering how to get materials from Revit to Blender:
IfcOpenShell can be used. It worked well in a test with the same project as this bug report.
http://ifcopenshell.org/