I think your method of creating the shape you have in mind should be changed. The way it is set up now won’t work well and is too complex. Try to use booleans only as a last resort, or if it would simplify your work, because they are computationally costly. In this case almost everything can be constructed from simple surfaces and stitched together into one solid, maybe with a trimmed surface here and there.
If booleans fail to work, bake the result in Rhino and do the boolean, does it fail there too? Then run intersect and see if you get a clean unambiguous intersection. If not you know why the boolean fails to work. Booleans work better if you have some overlap between the objects you want to union.
if you do want to create with booleans, then create the rectangular piece first (without hole), make the revolved shape (without shell thickness, flat on one side), boolean these together, add the cylindrical pieces, boolean with the previous and then in the last step create the revolved cutout (with some overlap) and do a solid difference.
You have to look carefully at the output of each component to see if it’s the result you expect and the data tree you expect. I use temporary text panels for that (never inline). I started to putter and when I got to this RevSrf, the output was a list of four ‘Untrimmed Surface’ instead of a closed solid, which causes issues later when you project a curve onto it.
I disconnected the center vertical line segment of the ‘P’ (Profile curve) input to RevSrf to get the expected ‘Closed Brep’ result. That breaks SrfSplit because it doesn’t work on polysurfaces.
It’s a step-by-step process of seeing the geometry (or numerical values) going into and coming out of each component. This (below) is far from finished.
Hello there @Joseph_Oster
This is great.
It’s great to know your process when creating a Grasshopper script.
At some point in the near future, I will do an online course to get to grips with a more formal method of creating the output I want. Any course (or book) recommendations would be welcome. Watching YouTube videos is not the best approach.
Thank you again for your insights on this.
I’ll explore this evening
Kind regards,
Jason
Hello again @Joseph_Oster
I’ve been away from my laptop…so not progressed too much.
I’m trying a new approach…extending the lathe profile…and then trying to trim to the rectangle shape.
But…my trim won’t work.
I’m sure this is a Light_2022J_dome.gh (21.0 KB)
HAH! I read that often around here. Maybe it’s not so simple? Or simple only when you know how. Or at least achievable when you follow a systematic approach to GH modeling, as I suggested earlier?
Examine all the outputs, including error messages. Understand data trees.
Your post doesn’t explain the specific issue? The image doesn’t help.
Lamp_Dome_Help (1).gh (27.3 KB)
Hello @Joseph_Oster
I’ve not much progress to report on this issue despite the time passed trying.
I’m exploring a way to profile (or trim) the circular lathe shape…with the rectangle curve shown. I’ve tried ‘Trim’ and ‘Difference’ without joy unfortunately.
Any suggestions?
Thanks,
Jason
To be fair @Joseph_Oster, my laptop’s motherboard died 10-days ago and I’ve been fighting an uphill battle simply to have Grasshopper running on my new laptop again. Well, that’s my excuse for tardiness
I love your solution. So simple…although the use of ‘Sort Surfaces by sum of Edge Length’ was out of my league (see image).
What made you consider that? [me thinking aloud] My Grasshopper mental toolbox seems so narrow.
I’m still not convinced I fully know what data trees are.
This is still a conceptually new way to think. I’m a designer-maker by background…and when I use Grasshopper, I tend to picture the end result as a tangible object…not as data.
I’m OK using 3DS Max and Solidworks…but Grasshopper ;-(
Anyway, thank you for your patience with this…and the solution.
Kind regards,
Jason
The result of Split is three pieces. You want only two of them, ignoring the largest piece that includes the circular edges. I wrote the Srf EL cluster long ago for situations like this, which are common. I could have used sum of areas instead but edge lengths are faster when there are many pieces. So I got the two small pieces, lofted them together to get the edge surface and then joined all three to make the ‘Closed Brep’.
In practical terms, they are a pattern that must be observed and matched at every step.