Cross sections / ribs that react on geometry curvature

Hi, thank you for stopping by :slight_smile:

I am having some issues making perpendicular cross sections of my geometry.

Right now I have divided the main arches, and formed a line between the division points. I’ve tested a fair few different ways of making these points, but I am not quite sure how to achieve cross sections that react to the curvature of the geometry. In the images the blue is how I would like the ‘ribs’ to react, while the red lines are the ones in the script.

I was thinking of having a central array point, and then somehow get points where it intersects the geometry, or using perpendicular frames to the inner arch and getting intersection points (image). But I am not sure how to get the intersection points in grasshopper.

I have tried a few different ways, where I hoped I could move the points and make it work. But most of my attempts were not that intelligent, and made the parametric process very manual. I have included a bezier graph test and gradual point distribution test in the GH file, but deactivated the components.

If you have any advice on making cross sections that follow the curvature of the geometry I would really appreciate it :slight_smile:

211027_Cross-section ribs.gh (46.3 KB)

Any better?
211027_Cross-section ribs-b.gh (52.3 KB)


The above results in a Brep. Using Sweep2 results in an untrimmed surface.


211027_Cross-section ribs-c.gh (51.4 KB)

1 Like

Thank you, yes it is much better than what I have been able to achieve!
‘Curve Closest Point’ on the outer arch works really well in getting the cross sections :slight_smile:

missing

These section polylines are all planar. This is complicated by three things:

  • Planes from Perp Frames can intersect the curves in several places so I used PlaneSrf instead. Size is set manually to intersect all three curves.

  • More than 32 PFrames causes intersection points to get out of sequence.

  • Plane intersections with all three curves is not guaranteed at the ends. Also, bringing the curves to a point at one end causes duplicate points, which fails to create a valid polyline.


Cross-section ribs_2021Oct27a.gh (31.1 KB)

P.S. Looking more closely, it appears that more than 16 PFrames causes intersection points to get out of sequence, which causes section polylines to cross each other, which causes problems for Sweep2 and Loft. Perhaps I should have used the ‘Inner arch’ for the PFrames instead of the ‘Middle arch’? :thinking:

Loft may look better in some cases but ignores the arch curves.

Clearly, the best surface result is lofting pairs of the arch curves.


Cross-section ribs_2021Oct27b.gh (26.1 KB)

So starting with that (cyan group below), the yellow “ribs” are planar intersections.


Cross-section ribs_2021Oct27c.gh (32.1 KB)

1 Like

Amazing, this is pretty much exactly what I was trying to do! This is really helpfull, thank you :slight_smile:
I was trying to intersect the curves to get points, but makes more sense do it with a lofted surface, can just extract the point from the curve after!