Complex Solid Union not Working

Hi, I have a complex Solid Union in this model. The problem is occurring in the red-highlighted area. I am trying to union the the web or the cells of the voronoi to the bar (sweep) that goes down the side of the shotglass. Then i want to SDifference the text from this bar. The order of boolean unions to and differences to accomplish this could be various, but none that I tried worked. I am stuck at unioning the bar to the shotglass. When it bakes it just bakes the parts separately.

Flatten the result of the Solid Diff component and then the paths will match up giving you one solid after the next Solid Union.

1 Like

Hey I tried what you said and it doesn’t work or I didn’t understand. I added a new file that hopefully makes it more clear what I am trying to do. The part in red are 2 different configurations i tried but I still get the error “Boolean set is empty” after unioning. The result is “empty brep parameter”. I am trying to union the voronoi cells structure of the Shotglass with the logo bar on the side, while the vornoi web structure will be 3d printed in a different colour.

I’m not understanding sorry, are you asking about why the component labeled “3” in the screenshot below is empty? Or are you asking why “1” or “2” are multiple closed breps rather then one?

I guess the problem is that we are getting different results from the same file. I get “Boolean Set is Empty” and “empty brep parameter” as the result (see picture), where you get closed breps as the result…

Is it possible that this is related to you having more RAM on your computer? I have 16GB. …I’ve made grasshopper files in the past that take 20 minutes to display the result but work eventually. This one waits a short time and then just fails

I’m on it. not sure when I’ll have an answer for you.

Apologies @nyk.blozowski I was using the v6 beta and the build of GH that it comes with. Something has obviously changed to make your def work in v6 but I can reproduce what you see in v5. David R may know the specifics but if you can use v6 please do, it can live side by side with v5.

Yeah, Rhino5 can’t handle the solid union, Rhino6 can. Just improvements over time. That’s why you should buy the next version when it comes out nudge, nudge, wink, wink.

1 Like

If I have a student license for Rhino 5 will my software just stop working if I try to upgrade? I’m very scared of losing something valuable that I cannot afford to replace

No the current version should keep working forever (legally) or until you try to install it on a version of Windows which no longer runs it (realistically). Licenses for Rhino are perpetually valid, even if you bought an educational license and are no longer a student, you can still use that edu licence forever.

If you are no longer a student/teacher, then you will not be able to upgrade your license to Rhino6-educational once Rhino6 ships (early next year). You will have to buy a full license, though there may be a grace period during which upgrading will be cheaper.

Looks like these solids might never union </3 T_T… Is there a solution that works in Rhino 5 or is it just broken software? Its only a union after all. Is there a way to work around? I was hoping the solution wouldn’t be “give us cash.” Stress.

What if I’m doing research for a professor that requires this software but I’m not officially a student or teacher per se? Dictionary defines “faculty” as “the entire teaching and administrative force of a university, college, or school” Can I get an educational license for this? I could probably afford $200 if I move back in with my parents. $1000 for software is more than my laptop and my life is worth! lol

In v5, Bake out the flattened list of closed Breps and move the bar -.001 in the X axis. Then run BooleanUnion in Rhino directly.

You mentioned you have a student license so if this license is registered to you and you were the one who purchased it, it will always be yours and you can use it to run Rhino 5 on any computer in the future… as long as the OS is still supported of course, Windows does change over time and v5 won’t get another service release.

Email sales@mcneel.com and explain where you’re located globally and provide the license key. They can then get you the options for upgrade pricing.

I hope this helps.

1 Like

This doesn’t work. I baked all the parts separately and then the farthest I could get is BooleanDifferencing the letters and only one of the 2 identical symbols out of the bar by itself. All other combinations of BooleanDifference or Boolean Union failed in Rhino without explanation. I could not subtract the bar from the lattice. I could not subtract a plain bar without letters from the lattice. I could not union the bar to the voronoi cells. I couldn’t even subtract a plain non-voronoi shotglass from the bar, and that one should have been easy. That one is just a straight forward sweep geometry minus a simple revolve geometry… I’m tried to upload my Rhino file but it says its too large to upload.

Maybe can you make a fast Sketch on how it should look. I opened your file in Rhino 5 and 6, but I can’t see what you are trying to achieve.
For example:

From left to right. You create glass -> create voronoi ->remove voronoi from glass and than you want to remove the result (3. step in Picture) from the glass again?! There you could use solid intersection.

And this works in Rhino 5 for the “carved text” (The removeDuplicatePts component is from Kangaroo)

Correct me if I’m wrong, but I think I got what you want.

USC Shotglass2-6 BAK_re.gh (659.5 KB)

1 Like

Ok, so I’ve had some time to work on this project again and I think I’m learning something about what might be going wrong with the software.
The first thing that helped was when I ROTATED the basic glass that was created straight from the REVOLVE component. I think this accidentally solved some problem with overlapping geometries that was hindering SUnion. After this I was able to SUnion and SDiff the main shapes.
The second problem I was having was with the text. (The text is supposed to get SDiff’ed from the bar along the main shape and re-added as unioned text in a different colour). This part is very inconsistent. Sometimes text SUnions and SDiffs without error. At other times it makes the SUnion component turn yellow and say “Boolean Union is set to Empty.” It is different at different times because I change the text in my PANEL component. When the new text generates the spheres along the text curves, it doesn’t like some combinations. What I have found through manually baking text spheres together is that it likes certain orders of unions together. For example, in the letters “P” and “K” the curves in those letters converge at the middle of the letter. I have trouble manually unioning the spheres in these letters. I find when I don’t try to union all the spheres near the convergence points together at the same time it will start cooperating. The order of baking or unioning the spheres along the curve matters… When I try to automatically union/bake through Grasshopper it has a higher likelihood of error. If Grasshopper cannot union/bake all of the spheres in a set all at once then it will decide that the whole thing is an error and say “Boolean Union set is empty.” Please take a look at my screenshot. I think it is revealing that when it fails it means that only some of the unions worked and others did not. And this is probably caused by what I’ve discovered through manual baking of spheres in Rhino where it doesn’t like certain overlaps at convergence points. I am not sure if it’s complex overlaps or a duplicate issue… Currently all of the letters in “Ukrainian Club” union automatically with no problem. The set that says “nyk” is a separate set made the same way but it seems that the letter “K” is failing. Maybe a programmer could take a look at the order in which things are unioned in grasshopper when there is a big SUnion set? I know that it will bake only if I do it manually in the correct order. The “K” in the image is clearly being attempted in the wrong order by Grasshopper and failing at the convergence of curve-paths in the letter.

I’m trying out Rhino 6 (had to buy a new laptop to run it!) and have just encountered a case where SUnion fails without any error message. I don’t know if this is new to Rhino 6? It produces an “Invalid Brep” with no indication that it failed. For awhile, I thought there was a problem with Custom Preview until I realized I wasn’t able to bake the result. Finally connected a panel to see the “Invalid Brep” message. When I changed the number of boxes from 500 to 400, it worked.

sunion_2018Apr8ba
vol_sweep_2018Apr8b.gh (8.7 KB) (SUnion is disabled)

Speaking of Custom Preview (I know this belongs in a separate thread somewhere…), I am truly baffled by some experiences I’ve had in Rhino 6 where just hiding the preview has no effect at all!? Had to disable it before finally seeing the Rhino material I had assigned to the baked result.

There have been other cases as well and I read somewhere on the forum that there is some technical reason for that… I just have to say that from a usability POV, this is frustrating nonsense. Same goes for picking a render mode (Arctic) and seeing a blank white screen. WTF??? It has worked fine many times, in other models and in this code earlier, but now I get just a white screen with no clue why. :frowning:

You will probably see the GH geometry once you have added some RH geometry to the scene.

Thanks but it’s not related to GH. The image above is the baked SUnion result, saved as a Rhino file (18.4 MB!!!). When I open that file in Rhino and switch to Artic, I see a blank white screen, with or without running GH.

There just doesn’t seem to be much concern with usability issues (or QA?) at McNeel.

P.S. I finally found a setting that makes Arctic visible in this Rhino file - why??? No clue. Changed “Color and material usage” from “Custom material for all objects” to “Render material”.