How to Sort Components of Stairs in GH?

This question is related with cost estimation. I am figuring out how to sort VA object by material.

When it comes to slabs, it look possible to do that using ‘Deconstruct Slab Layer’ component through Grasshopper. I could sort components of slabs by component name.

When it comes to stairs, however, same method seems not to work. I thought Deconstruct Stair Slab’ component can do the same thing, but it doesn’t work.

I will also try to created stairs as Element, but I can’t find Component component, so I’m not sure how to sort stairs when I used this medhod.

Is there any possible way to sort stairs components?


Hello @archist97,

It is not possible to retrieve information from components of Gh Styles for now, that is why you don’t get any data from this stair. A workaround could be using the VisualARQ explode component and sort the geometry depending on its geometrical properties (by volume, position, etc.)

Hi Archist,
In order to get the information of VisualARQ style components, you need to distinguish between “regular” (or “system”) styles and the styles created from GH definitions, aka “Grasshopper styles”. In the first case, you will find specific components for each style component that will let you obtain their names and dimensions. For example, you can get the slab layer names or thicknesses, as you have shown.

In the case of “regular” stair objects, the only component available on stair styles is the slab. So if the stair style you are deconstructing has no slab, the list will be empty. (If you need the geometry of the step slab riser and tread, you can use the “VisualARQ Explode” component")

In the case of a stair style created as a “Grasshopper style”, there is no option to obtain those component names. But you can get the values of the used parameters with the "Get Property"component. First, you may need to use the “Property Names” component to find the name of the desired property. Look at this similar example below, where that “Element” object is created from a GH style:
Here you can obtain the object parameters:

And here the style parameters:

We can create a new component that works with components from GH styles, but the only information you will get from it is the Name. Would that be useful to you?

Thanks for your detailed explanation.

The reason why I would sort component is because VA objects don’t consist of one material.
For instance, stairs might consist of concrete for slab, wood panel for tread, and steel for handrail.
If we can’t get physical information of each component such as volume, area, or length, it’s not possible to estimate construction cost.

I’m not sure this will be feasible in VA 3.X. I hope it will be. Building Material Cost Estimation is important in BIM workflow. Could you put this on the wish list?


Hi @archist97 We take note of your request.

Currently, you can add a cost value for VA objects and Rhino geometry, and report that in tables, but it only applies to the whole object. It is not possible to report the information of VisualARQ Style components, such as the volume of a door frame or the thickness of a stair slab (it’s planned for future versions though). In order to do so right now, you have to create a custom parameter that refers to that information (i.e “stair slab volume”) and assign the value to the style. For example, you can create a new parameter called “stair slab volume”, calculate it in GH, assign the value to the whole stair, and report it in tables.

On the other hand, for components of “Grasshopper styles”, you have all parameters available on the style, so you don’t need to create new “custom parameters” for that. A “Read-only” parameter that was calculated in the GH definition used for your GH style, and which you could report in tables would help you in that case.

In any case, we could develop a kind of Explode component that gives you the geometry based on the name of the component.

Hi. Francesc.
Thanks a lot. I am pleased to hear that this will be implemented in the future version.
I will give your suggestion a try.
Thanks again.