Wall Finish - Override by material


I’m new with dynamo and I have some doubts. I would like to know how can I override a material with a color in some views (not all). For example, I want to override all brick material with a solid red color.

I got it with “select model element”, but I want with materials. For example, brick = red, stone = blue, etc…

Thanks in advance.

@jricardomiguel I was able to sort out what the material of each selected element by using a Boolean mask. As you can see, it built a list at the end, with the three walls being made of material “Concrete, Cast-in-Place”, and the SS-101/102 elements being made with material “Plywood, Sheathing”.


Let me know if this helps!

Hi @cnealy

Thanks for your help! This don’t work here, appears some errors…

But I don’t know if you understand what I want to do.

So, I have this wall with brick and two finishes. And I want that dynamo select automatically finishes with material “Plaster” (for example) and override with a color (red) and the second finish (for example wood) I want to override with another color (blue). And when the finish is stone override with green… etc. It’s possible?

I need this to do the plans of wall finishes… And I don’t want wall finishes by room, but yes by material.

Thanks in advance!

@jricardomiguel Are you attempting to have one wall show multiple colors as layers?

@cnealy I think yes… If I know what are you talking…

I need this because I want 3 type of plan views for this wall type:

  1. General plans without colors:

  2. Plans in coarse (one color for each wall type):

  3. Plans with wall finish (one color for each material):

So, I think that dynamo is the unique possibility, because I had search for a long time and I don’t find nothing… Only people with the same problem.

I only need to know how I can override color of each material with dynamo, like I do with “select element” in first post.

So this is an interesting topic which I’m gonna cover in some depth because it interests me. Sooooooo… Get ready for a blog post sized of a response.

You haven’t selected the plaster, wood, or stone in Revit, you’ve selected a wall. As such you can’t easily override pieces of the wall as you’re asking. As far as I can tell, you can override the graphics for an entire element, a category, or groups of elements, but not a part of an element. So unless there is a feature that neither google, the forums, nor I are aware of, there is no way to override a portions of walls.

To summarize: Override an element? Check. Override a part of an element? Nope. If only you could create elements from the various layers of the walls, then you would be able to override them as you would any other element.

This is where the good news comes in.

You can quickly do this with the CREATE PARTS button in the modify tab. Once that is done you can use a filter by material in Revit - no dynamo needed. The three views below were created using only vanilla Revit - parts, modification of the view parameters, and view filters.

While we don’t need Dynamo to accomplish what you’re after, it still applies to as Dynamo is very useful in the overall workflow. Finding all the instances of the walls with a given material would likely take awhile for even the most seasoned Revit user, and would take some planning and careful consideration. And selecting all the NON highlighted parts, or setting up a REALLY elaborate filter or adding new parameters would be really difficult. With Dynamo you can:

  1. Get all walls that make use of the material(s) in question (plaster, wood, stone)
  2. Create parts from the layers of each of the walls
  3. Exclude all parts not made of the desired material(s) so they don’t show up in other views
  4. Aid in rapidly merging parts of the same material so that the plan graphics read correctly (even though the API doesn’t appear to allow access to this feature).

If I needed it tomorrow, I’d use a script and workflow like this:

It’s not perfect, but it’s good enough to share and for someone to run with. Clockwork, SteamNodes, Rhythm (and perhaps others) packages are in use so make sure you check those packages carefully if you can’t find something. I’m somewhat concerned as to why the Rhythm node is failing in my test project, but since it’s a zero touch node so I can’t really resolve the way I usually would with the time I have. If you’re concerned by this error when they try recreating the graph, I’d recommend they start another thread and linking back to here (and from here to there) in order to resolve it.

Lastly, if you’re curious, more information on parts can be found at the link below. They are really useful for bringing the OOTB Revit content to another level.


@JacobSmall very thanks for your post! Very usefull!

In fact, this is a problem in revit and paint the different materials in coarse like we can paint all parts of the wall with the same color is a needed feature…

I don’t wanna separate the wall with parts, because isn’t productive… Anyway I tried your script and I think that don’t work here. :frowning:

But you’re saying that it’s impossible to override each material like we need?

The feature exists as noted above. You just have to create parts from each element you want to show highlighted.

What Revit and Dynamo versions are you in?

Note that I didn’t set up the color overrides in my script - you may just have to set up a filter.

Post your attempt at recreating it and I’ll have a look later today/tonight.

I make a script in dynamo to divide all walls in parts and after I create a filter by material and it’s done. For now works, but I would like to know (one day) if is possible to do this automatically with dynamo, like I want.

Thanks for your help! :slight_smile:

Creating the filter is also doable, but a conversation for a different topic.

@JacobSmall @cnealy

One question… I had created a workflow for create parts of walls and works in a test file with 4 walls and 1 floor for example. But now I tested in another projet (biggest) and don’t do anything… Why?

Are you sure parts aren’t being made? That looks like the spring nodes version which creates parts but I haven’t seen actually report the output correctly (it’s always null).Check if they are there (see the 3rd grey group from the left on how to do this sequentially). If that doesn’t work then try the node from the Rhythm package instead. If that still doesn’t work let us know.

In my test projetc works…


Does it create the parts in the real project though? It may be that there are walls items which are being picked up by the walls category which are model in place elements or otherwise non-editable. Check for any parts in the real thing and let us know.

I maked a test and I think the problem is the wardrobes that are curtain walls… Because I tested to put this curtain wall to my test project and dont’ works too…

How can I do this? Change the type of wardrobes to another category? Or make a change in dynamo to resolve this?

Yes, I confirm that the problem is this curtain walls… I delete all of project and works… Do you have any idea to works with curtain walls in project? Maybe a node in script to ignore curtain walls?

Yes that would do it.

Filtering out for walls which don’t contain materials you want to highlight would also likely work as you don’t have plaster as a material on a curtain wall (in fact those walls don’t have any materials). Try rebuilding the graph I posted above node for node and see where it fails for you.


I think that this new vídeo from Autodesk University can helps with this. I tried, but some nodes are custom nodes and I don’t know how can I put this working…

Here is: http://au.autodesk.com/au-online/classes-on-demand/class-catalog/classes/year-2017/class-detail/as123345#chapter=0

You can download the nodes and try. In vídeo he shows how put a line by material for Wall finishes. I’m right?


I have the same issue. But I’m not to trrying to split the walls in parts because the architectural model isn’t finish.
So my dynamo script is the follow:

Hi There! I tried to emulate the same Script you (@JacobSmall) made back there, maybe beacuse of the version of Dynamo, or some nodes, (nowdays i have Dynamo 2.0.2) but it is not working, so i made this change just to convert Walls in Parts using materials as a filter to pick Walls. (Need the Rhythm Package)

1 Like