Filter object visibility by parameters?

I was wondering if there was a way to filter the view by parameters. With Rhino.Inside.Revit I’m starting to deal with design options and phases, and it would be great to have a way to filter out objects without creating a seperate set of layers for each phase and design option. If you have two phases and three options you need 6 sets of layers, and say you have 20 layers thats 120 layers to manage!

Hi Benj,

if you are not deep into genrative, may I interest you in some Dynamo solution in these trying times?

And then there is a hide node

You can use View Filters, let me know if you have any questions.

I should have been more clear. I am looking for a way to filter the rhino viewport. The only way I know how to set up visibility of objects in the viewport is through the display setting which controls visibility for points curves and breps and by turning on and off layers.

I’ve set up a script to create a new nested layer for each design option and phase to make the Rhino model managable → Design::Phase::Layer .

This works but its just a lot of layers. I thought maybe there was a way to create a view filter in Rhino similar to Revit that would help you select, highlight, turn on and off geometry.

Certainly, you would create Layer States with the LayerStateManager.

Rhinoceros Help?

In Grasshopper you can filter via UserText/Layers, etc. with Elefront or Rhino 8 Components. These don’t turn on/off or select but that could be done with additional plugins.

Got it. Layer states would still require writing out all that geometry to separate layers, unless I’m missing something. The problem I’m trying to solve is that a door for example lives on the door layer. There might be a door for Design option 1, demo, Design Option 1 New, Desigh Option 2 Demo, Design Option 2 New. Lots of layers!

Another use case would be, what if you wanted to create a view that show for example all panels larger the x size. You could select them in grasshopper and assign a material, put them on a separate layer etc.

You can not, as far as I’m aware use the Rhino viewport as a way to filter out the visibility or appearance of geometry. IE all the panels turn red with the “Large Panel Saved View” This wouldn’t change the geometric properties just the appearance in that viewport.

Right now there is a one to one relationship between a geometric object and a layer which controls it visibility, materials etc.

What Revit has done is add view filters so that you can control visibility of objects based on various properties without having to write out a separate layer for each unique state.

Another way to think about this is like a view in Airtable or a specific view of a database. Its not changing the underlying data, just the formatting and what is visible.

It seems like a combination of Layer States and Grasshopper Previews would do something similar.

You make a good comparison with Revit & Airtable, both are relational databases where Rhino is fundamentally not. There are constraints imposed by going the database route, more rules, less flexibility.

There is 3rd party work in that regard being done by AntFarm AntFarm - data management for Rhino and GH - Pre-Release out now

Thanks for the link, this looks awesome!

Thanks for the suggestion. I was looking for something specifically for the Rhino viewport.