Assign a Revit Material to Fabrication Part Insulation

Assign a Revit Material to Fabrication Part Insulation

dkessler
Contributor Contributor
1,826 Views
8 Replies
Message 1 of 9

Assign a Revit Material to Fabrication Part Insulation

dkessler
Contributor
Contributor

I would like to assign a Revit Material to all of the Fabrication Insulation in my model to display it within Navisworks.

I see that there is a GetInsulationLiningGeometry method for the FabricationPart class which returns a GeometryElement which has a MaterialElement property but it is readonly (get no set). I can create a Material project parameter and set that for the Fabrication Pipework and the Insulation sub category. If I set the parameter to a Revit Material it will come across on both the FabricationPart and the Insulation. I have tried setting the project parameter for the Insulation to be different than the FabricationPart but both the Insulation and the FabricationPart come across as the material that was set for the FabricationPart. It appears that the Insulation Material will only come across with the same Material as the Fabrication Part. Is there any way to have a different Revit Material come across into Navisworks that is not the same as the Material of it's Fabrication Part? I don't want to mess with changing the material in Navisworks.

0 Likes
Accepted solutions (1)
1,827 Views
8 Replies
Replies (8)
Message 2 of 9

jeremytammik
Autodesk
Autodesk

Dear David,

 

Thank you for your query.

 

Have you fully explored this question manually in the user interface?

 

In general, if a feature is not available in the Revit product manually through the user interface, then the Revit API will not provide it either.

 

You should therefore research the optimal workflow and best practices to address your task at hand manually through the user interface first.

 

To do so, please discuss and analyse it with an experienced application engineer, product usage expert, or product support.

 

Once you have got that part sorted out, it is time to step up into the programming environment.

 

You could also try getting some advice on this in one of the non-API Revit product support discussion forums instead for that:

 

https://forums.autodesk.com/t5/revit-api-forum/this-forum-is-for-revit-api-programming-questions-not...

 

The people there are much better equipped to answer questions relating to optimal product usage than us programming nerds.

 

Furthermore, to ensure we are attacking this task from all possible angles, I also just asked the development team whether they can provide any advice on this for you from the API point of view.

 

I hope this helps.

 

Best regards,

 

Jeremy

 



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 3 of 9

dkessler
Contributor
Contributor

Creating the Material Project Parameter and applying it to the FabricationPart elements in the Revit model was a method developed working manually through the user interface. I simply took that process and automated it, which is what I take it you are saying I should do in your response. I tried to extend that process on the Insulation that is a subcategory and geometry  of the FabricationPart Elements. The Insulation does come across in Navisworks as a separate skin geometry and it is selectable and can be changed through the user interface in Navisworks. I can select the insulation and apply the same Material Project Parameter with a different value to the insulation but it gets overwritten by the value of the FabricationPart. If there is not a way to prevent the value from being overwritten maybe this would be a wish list item that could be passed on to the development team or they could expose a different method to apply the Revit Materials to the FabricationParts. I know from talking with other Revit Fabrication users that this would be the expected behavior. It would be expected to have a different visual material for pipe insulation than the visual material for the pipe. That would then mimic the real world situation.  I do know that us programming nerds can do things that can't be done through the user interface. That is what makes programming so much fun! I do agree to learn the program first and then program it for efficiency.

 

Can you let me know if you get a response from the development team? It sounds like for now there is not a solution.

0 Likes
Message 4 of 9

jeremytammik
Autodesk
Autodesk
Accepted solution

Thank you for your update and I agree in all points.

  

Yes, I got an initial response from them, saying:

 

"Those are not  based upon Revit materials they are based upon CadMEP's materials."

 

Short and sweet.

 

Does that clarify things for you?

 

I must admit it does not for me...

  

Probably, a wish list entry in the Revit Idea Station is in order...

    



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 5 of 9

dkessler
Contributor
Contributor

Sounds like they just don't understand the situation. The cadMEP materials are the real materials that the items are made of like Carbon Steel, Copper, Ductile Iron and so on. The issue we have is how they display in Navisworks/BIM 360 Glue. For coordination purposes in the model we want all of the pipe, joints, valves and fittings to display per a system color so that we can easily see what system they belong to. At the same time we need to pull the meta data from the same items to perform quantity takeoff and other calculations where the material would need to be unique for each item. So we need the physical material to be per the item itself and the visual material to be by system. Using the Revit materials we can define the visual material color to be by system and leave the physical material alone for all of the parts. I have achieved this by creating a Revit Material for each system and then applying that to each Fabrication Item. The only thing we want different is to have the Insulation display with a different visual Material  and apply some transparency to it. I agree I need to go over to the Idea Station and see if I can get them to add just a little bit more functionality to the insulation. Thank you for the assistance.

0 Likes
Message 6 of 9

jeremytammik
Autodesk
Autodesk

Thank you for your update,

 

That is absolutely possible and even quite probable.

 

I understand what you mean, and passed on your more detailed explanation to the development team in the hope that that might turn up some new ideas as well.

 

Cheers,

 

Jeremy

 



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 7 of 9

rgilbim
Advocate
Advocate

Have you found a way to apply materials to FabParts ? I have a subcontractor that uploads models all white in 360 glue. He claims this is not possible. Is that accurate ? I would like for each system to have a different color so we can easily distinguish the systems. 

0 Likes
Message 8 of 9

DonBBK4FQ
Explorer
Explorer

A few years late to the thread, but as we are just developing our Fabrication db content, we have realized that we are also in need of a solution to this same problem. Has there been any progress since the last posting?

0 Likes
Message 9 of 9

dkessler
Contributor
Contributor
Nope. The Insulation is a Skin of the FabricationPart and they haven't added any functionality via the Revit API to apply the material separately.
0 Likes