Validate that surface has consistent curvature?

I’m tasked with making a spiral stair with glass guardrails. Its the first project I’ve ever done with curves, so I’m a noob when it comes to understanding and validating complex curving geometry.

The curve of the stair changes, so I used a node to convert the curve into arcs (in plan). The glass is curved, but each panel must have a single radius per panel. The best way to think about it is that if each glass panel is an arc in plan, then it is able to be manufactured. Here is an image of one of the glass panels I generated.

I have done a bit of offsetting and moving things around in the z direction so i want to validate that all these panels are still only curing in one direction as well as have a consistent curvature. I can do a quick analysis by projecting the bottom edge of the curve to the xy plane and then feed it into a ‘arc’ component to see if it allows it to be a arc. The majority of the panels create an arc :slight_smile: , but not all of them… the issue with this approach is that it doesn’t give me enough information on what is actually going on with the panels that are not arcs. For all i know they are off by a fraction of an inch and are acceptable.

How can I validate that the panel above has a single and consistent curvature and if there is an issue, how can I understand what/where the issue is so that I can address it?

You can use the Principal Curvature component to measure the curvature of your surfaces.

You can visualize the curvature by creating lines with the curvature values and vectors. I’ve multiplied the curvature values to get something visible and I’ve colored the lines for C1 red and the lines for C2 Blue.

This shows consistent C1 curvature and no C2 curvature:



This shows C1 & C2 curvature both varying:



srf_curvature.gh (26.7 KB)

-Kevin

thanks Kevin! That is super helpful.

This morning i was trying to figure it out and came up with this:


Surface Arc Analysis.gh (20.2 KB)
What i like about yours is that it breaks down the curve in 2 directions so I can make sure that its good in both directions.