algorithmic modeling for Rhino
Grasshopper (and Rhino) newbie here!
I have a cylinder, wrapped with an array of torus rings, and I want to subtract one from the other (the result being a grooved cylinder). I have gotten the Boolean Difference to work with a number of different types of subtractions, but I'm stuck on getting this particular operation to work.
Anybody have thoughts? I'd appreciate the help!
Rhino5 32-bit
GH 0.5.0099
Tags:
Hello JK,
you seem to be using some plugins in your definition so I can't open it correctly.
Can you internalize your geometry right before the boolean difference component and reupload your file?
You might have missed the "newbie" part:
internalize your geometry right before the boolean difference component... can you please explain what that means?
UPDATE: got it to work, sort of. I discovered when some of the rings failed to intersect the cylinder, the boolean wouldn't work. HOWEVER: new problem. After getting the model to work I updated to the new Grasshopper, and after rebuilding some of the tools that the 0.9 didn't recognize I have rings that intersect the tube, BUT the portion where the rings are cut are then filled in on the outside surface of the shaft.
The baked grey model is what I was able to successfully do with the old Grasshopper. I have some of the parts turned off on the grasshopper model for clarity.
Hello JK,
David has provided some detailed guidelines on how to post files on the forum (step 3): http://www.grasshopper3d.com/forum/topics/how-to-get-help-when-you-...
On to your case now, on the [Dif] component you have as inputs: one brep on A and 4 lists, with 1 brep each, on B. So GH will "copy" the brep on A 4 times and subtract each one of the 4 rings from one of the 4 copies of A... That's why the holes seem filled, each hole is on a different brep and is covered by the other 3... hope that makes some sense...
The short-term solution is to right-click on input B and select "flatten":
The long-term solution is to study data trees and their behavior in GH. Otherwise you will keep running on problems like this one...
Cheers, Nikos
Data trees(groups of lists) were introduced in GH at some point. I am not sure if .6 had them at all...
I am afraid the "copy" explanation might have been misleading...
Check out this image (what you had):
You can see that the 4 rings have different paths {0;0;0},...,{0;0;3}. That's why [Dif] component will not treat them as a "set of Breps"(leave your mouse pointer over the component to see what inputs it expects) but separately. So it will do 4 subtractions (the output will be 4 Breps).
But if you flatten this data tree into a single list you get this:
Now all 4 rings are in a single list and [Dif] component can treat them as a "set of Breps"
Notice also how the wires change (single line for one object, double line for one list, double dashed line for a data tree). Now the output of [Dif] is one Brep(all four rings subtracted from the rod).
Hope this is more clear now... Still, check the links for a better understanding of trees :)
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by