Filter geometry by Phase in Rhino

Hi! I am trying to export geometry from Revit to Rhino and classify it by Phasing. So far I have managed to do it by category, but is there a way to make it using phases (Existing or New Construction)? I have been trying using the Phase Status Filter, but I have not been able to make it work.

When I export the geometry by category and then use the Element Phasing component, I can access the phases. The problem with this workflow is that I do not have any control over which first element I am going to get from Element Phasing (it can be demolished or not) and that makes it difficult to create a script that can be used with different Revit models. This is because the result is a list of Revit phases and not numbers, and therefore the value of the first item of the list, whether is demolished or not, will always get a 0 or a False, because there is no way to associate a specific value to one of the two possible phases (unless there is a way of making this, which would solve my problem).

Any advice will be appreciated.

If I understand it correctly, you want to send your Revit model to Rhino and organize it in some way by their Phasing. If that’s the case, then following might help you. You must have Elefront installed.

I created some walls in Revit and set some of the walls Phase Created parameter as Existing and rest is New Construction. Using Element Parameter, I get their Phase Created parameter and defined it and its value as an attribute in Rhino. For better sorting and info, I set their Id in Revit as their name.

Hope this helps. If not, please share an example file so we can better simulate your error on our side.


Elements with Phase (10.7 KB)


1 Like

Hi, thanks for your answer. It is not exactly what I was looking for, but I was able to figure it out (see image attached). The “Element Name” component transforms the values of the Demolished phase into strings, that I can use to discard or selected the elements depending on their phases.

In any case, thanks for the Elefront suggestion! I will keep it in mind for future workflows.

Hi, pretty new to GH and RhinoInside, but I’m currently working through the forum trying to understand how I can extract the New Construction geometry only from Revit. We typically have 2 phases within our Revit Models (1. Existing 2. New Construction). When I follow the above GH script posted by @fcegnam I am able to bring revit elements into Rhino, but I cannot separate the phases. I would like to be able to separate the existing building condition within Rhino and run some analysis on it. I would then like to be to separate the new construction phase (new building) within Rhino and run some analysis on it. I have been reviewing the forum for the last few days but cannot seem to find a solution. As mentioned, I am relatively new to GH and RhinoInside, so apologies if I’m missing something very simple.

Hi @swampy,

is this what you need? In this case I am doing it by categories.

Export to (21.9 KB)

Export to Rhino_Phases.rvt (5.9 MB)

1 Like

Hi @fcegnam,

Thank you for posting your help! I really appreciate it. I have been working through but still having a few issues.

The first part of the script, I am able to extract all walls (Existing & New Construction) that exist within the Revit File:

I can’t seem to get past the next part of the script, where I keep getting the error message "1. Input parameter ‘E’ collected invalid data.

It appears that I when I reach the Cull Pattern, regardless of whether the I have set the phase to Demolition of New Construction, I am only able to see the Existing Elements within GH

Also, if I wanted to have access to 3 Revit Phases (Existing, Demolished & New Construction), would this be possible? Are there work around with the Stream Filter (limit of 2 inputs)?

Thanks again for your help!

Here’s a couple ways to reference and sort the phases out. Let us know if you have any questions. (16.9 KB)


Hi @swampy,

my mistake, I usually care only about the final result (what remains of the existing plus new construction) or the demolished part. Yes, if you need to separate them just by phase this is what you should do if you want to divide the elements by category.

Export to (39.4 KB)

With this script you can get three different layers: existing, demolished and new construction. But bear in mind that there will be elements that will be included in the existing and the demolished layer. That depends on the Revit file. And you can connect as many inputs as you want to Stream Filter, but I have never connected more than 3, maybe 4? As long as you have the same number of inputs in the Stream Filter and the Value List. I guess that is why it was not working for you before, because you had three different values in the Value List and only two inputs in the Stream Filter. I did not consider that you may want the Demolished layer :sweat_smile:

@Japhy 's solution is obviously faster, but it combines all elements in the same layer, so your choice. I usually use the exports to Rhino for renders or to analyze something in the model that I cannot do it well in Revit, so I prefer to have the elements belonging to a different category in different layers in Rhino.

I hope this helps.

1 Like

Also in the Element Name component you are getting the error “1. Input parameter ‘Element’ collected invalid data” because not all walls (elements) have assigned a value for the Phase Demolished parameter. That is why I use later the Null Item component, to filter the walls that are not going to be demolished.

Hi @fcegnam,

thanks for this! Exactly what I was looking for! Can’t thank you enough!

Cheers :slight_smile:

1 Like

Hi @fcegnam, I have a few more questions - hope you don’t mind!

The script is doing exactly what I’m after - thanks! I am getting a few “bugs” with existing doors that are demolished in prep for new construction, actually showing up in the new construction phase in GH

I’ve reviewed this door in the Revit model and it is Existing and Demolished in New Construction.

You can see below that this door is also appearing in the New Construction Phase

Any ideas as to why this might be happening?


Hi @swampy,

I am probably going to be very obvious with my answer (therefore not helpful at all :sweat_smile:).

I tried replicating your issue and the only way I could achieve it is by creating a duplicate of the door on top of the first one: one door with the parameter Phase Demolished set to New Construction (the correct one) and the other with the Phase Demolished set to None (the wrong door). Could you check in the warnings in Revit if you have identical instances in the same place for the doors?

If not, would it be possible that you share your Revit file? Not the complete file, just the walls that contain the problematic doors, to see if I get the same mistake.

Also, before baking the geometry, make sure that you have deactivated the “Only draw preview geometry for selected objects”, as I left it activated in the file I shared last time. This way you can check if there is a an element that is not going to be baked in the correct layer.

This is great. Thank you