Dispatch by Geometry Type

Based on this thread

I want to filter out everything but breps from this list:

y

Sort_By_Type 002.gh (26.5 KB)

The text match requires matching order of geometry types.

Neither approach is working on this tree with trimmed surfaces and breps

Example:
Sort_By_Type 003.gh (28.0 KB)
f

Does this work for you?

Sort_By_Type 002-b.gh (31.1 KB)

Hi @Proterio, can you not?:


TypeSorter_string.gh (12.1 KB)

I once wrote a component for Embryo that reveals the volatile data type, maybe this will help if you need things that have been wrapped earlier in the process. Seems to work ok:


TypeSorter_volatile.gh (12.0 KB)

You need to install Embryo though: https://www.food4rhino.com/app/embryo

Hope this helps,

John.

Perect. Thx

I was wondering if there was a way to extract the integer that represents each type instead of parsing text name. I guess this is not exposed anywhere.

John Thx. I will check out embryo as soon as I come up for air.

Do you mean the GUID?

Well no. GUID is a globally unique identifier for an instance of an object. Somewhere there is a class definition for the object. A simple integer can represent the class ID for each geometry type instead of a text string and be exposed. In .net (c#) im not sure its possible to get down to the bare metal in that way tho

I use Elefront for this. You can reference or filter by type.

https://grasshopperdocs.com/components/elefront/filterByType.html

It is also possible to use the Human plug-in for Grasshopper.

https://grasshopperdocs.com/components/human/sortObjectsByType.html

Thank you David.

p

Sort_By_Type 004.gh (21.0 KB)

I am curious how other GH fans manage to grapple with all the functionality offered by GH plug-ins? Do you d/l every plug-in and systematically go through each module?

I do searches but do not turn up things like this and I certainly dont have time to check out every plug-in

This works.

y

Sort_By_Type 005.gh (19.5 KB)

Google search works for me most of the time. There are years of forum posts there where the question has likely been asked before.

Also there are the super popular plugins. Going to Food4Rhino and sorting by downloads helps see the popular ones.

And the grasshopper docs site is also great to search singular components in plugins. Although, the Google search will get into that sure too.

Here’s one that applies to curves only, not all geometry types:

1 Like

missing
missing2

The Package manager has been updated in Rhino 7. By selecting Download and Install, I believe Human should be available to run the Grasshopper definition without a restart.

1 Like

FilterType is from the Elefront plugin, which I installed at some point to evaluate but never used so I forgot I had it. Apparently it doesn’t consider an “Untrimmed Surface” as a Brep. And doesn’t accept a list of types on its ‘T’ (Object Type) input (as a logical “OR”):

FilterType

As indicated by the tooltip when you mouseover the ‘T’ input, it is optimized for connecting a Value List, which it populates automagically with the supported choices. Again, it works only as a ‘Dropdown List’ (single value only!), not as a ‘Check List’ with more than one geometry type selected.

There is a value list pocket coming in V7. Here it is in Rhino.Inside.Revit

1 Like

Silly’ old’ me trying to “play” the image…

1 Like

Hey guys, what about converting output into text and filter using good 'ol vanilla matchText?

image

5 Likes

Well … in fact this is a task where you can do any clustering imaginable (flat or nested - real life, with any criteria etc etc) as far as you define a custom class with suitable Properties and then GroupBy some Property (in this case the type of the object).

But all these require code (a very simple one mind).

So just for the record:

Class_LINQ_OnObjType_V1.gh (126.6 KB)

Class_LINQ_OnObjType_V1.3dm (84.6 KB)

Thank you! Super easy solution and straight forward!