Doubly curved brep | plane producing incorrect results


I’m trying to create a rib structure from a doubly curved brep. I previously posted about a brep | brep issue I was having but that has been resolved. But that’s brought up a different issue. Doubly curve radial waffle brep|brep intersection issue - #6 by martynjhogg

My brep | plane isn’t producing the correct results and when it does, the notching is flipped to the wrong side. Also, I’m not sure how to separate the verticals and horizontals once they’re split. That’s kind of why I was going a different route in the beginning. I need to be able to boolean areas for hardware connects etc.

Bowerbird is great for smaller projects but when it comes to full-scale fabrication and hardware installation, for me, it was hard to use. Also, I don’t use meshes for fabrication. The mill hates meshes :smiling_imp: . Don’t get me wrong, I love Bowerbird. It allowed me to slowly get into grasshopper and I learned very much because of its simplicity.

Radial Waffle Test.3dm (200.9 KB) Waffle (44.7 KB)


The first problem is that you have overlapping frames for your waffle.
The two frames highlighted are on the same plane and will create more curves than you intend.

I would recommend building a radial waffle script rather than using the region slits component.

Before I post a solution, the cluster mentions that it is for a class. Is it possible to confirm that if this is a class project, is creating the waffle is part of the project scope as just giving you the script to waffle would defeat the purpose of the class, and possibly be considered academic misconduct.

If it is for a class I can explain how you would create a radial waffle rather than giving you the script which does the waffle for you.

1 Like


Ahh that makes sense. I did see double planes but couldn’t find where it was coming from. Thank you for explaining that.

And this is not for a class or school. That cluster was something I found that I was trying to reverse engineer to understand. Eventually, I need to figure out how to tag/unroll. Thanks for asking!

Here is a radial waffle script:
Waffle (58.0 KB)

I used the centre of the circle as an attractor point to sort out the direction of the slit before taking the front or back.
Maybe have a look at the open nest plugin:
For layout out curves that you could tag.

1 Like


I believe it works!!! There is no better feeling than a grasshopper solution. I’ll run a few more test but I believe this thing is working. Thank you so much!


I’m getting an “Insufficient points for a polyline.” It seems to be doubling up my perp frames when I set the vertical to 35. It seems to be working other than that. I’m just curious about what that means.


I’ve narrowed it down to the same issue…brep | plane, not fulling sectioning my brep. Not sure where to go from here. Is there some alternative I could use instead of brep | plane?

That corner is the issue, branch {11} of the brep | brep where that surface slice does not intersect with any other geometry causing the break.
I ended up replacing the loft with the polyline and join curves which allow you to get the slices even with that extra piece.

1 Like


Oh I see. What did you use to see this issue? Or how did you discover this problem? So that I can learn the process of trouble shooting. I really appreciate it Christopher!

I’ve ordered the “AAD Algorithms-Aided Design: Parametric Strategies using Grasshopper” so that I can hopefully be a little more independent. But I’m sure the problems just get more and more complex. When I get back to a computer I’ll give that a shot.

Thanks again!

The panel was attached to the output of the sort.
I first checked the output of the sort component into the first polyline and was looking at why the error was caused.

The polyline component doesn’t work if it is given a list of empty lines.
A list of empty lines means there is no intersection between the objects.
If you start getting errors, a good place to start is what information is being fed into those components. It gets harder when you have thousands of data points to check though. You might then use things like list length and dispatch or tree branch to figure out what part of your list is not working.

By isolating the two surface parameters:

You can check the geometry in the model.

This is what I use to display stuff, makes it easier to track what is wrong.

1 Like

Very good info! Totally makes sense. I just didn’t even know where to begin. I wonder if that’ll resolve my brep | plane, not fulling sectioning my brep issue. I’ll try your trouble shooting technique here in a bit and see where it takes me!

So to resolve this issue do I Cull index the missing lines?

I fixed it by replacing the loft with the 4 components in that image:
end points, polyline, join curves.
And ignore the warnings.
Sometimes having warning are ok, but the problem ultimately stems from the the starting position of the radial. So you could rotate the circle for when the offset starts or increase the number of horizontal pieces, so that every part intersects.

Okay perfect! That’s what I did. I wanted to make sure the warning was okay.

Not sure what I did to fix it but deselecting reparameterize seemed to work.

Next problem. What is the difference between 35 and 36 vertical ribs? It doubles for some reason. I suspect that it’s picking up the frames from 180 degrees out.

Not too sure why your reparametrize is behaving different to mine.

Your circle is a full circle so an even number of frames would result in doubling up.
You are guaranteed to have frames 180 degrees out as planes exist infinitely.

So I’d need to either split the circle or cull the planes I don’t need out? If this is even possible.

Use a semi-circle
set the slider to odd numbers only
Deconstruct planes and only use ones with a positive x values or some other limiting factor.

Wow, my way actually worked. But I like your way better.