Hello and thank you for taking a look at this thread. I am trying to accomplish several things with this voronoi definition.
Imagine this model as a 15’h wall. What is the most effective way to add a sequence of tags (a,b,c…1,2,3…etc) that would help guide putting this thing together in real life. Each piece fits together like a puzzle with a matching side. Since all of the objects are unique without a clear pattern, I will need to create a system of numerical tags in order to understand how to put it together. It would be great to have the tag number on the side where the two faces meet.
Each object needs to be unrolled and a tag needs to be placed on its matching vertex so that when it is cut (laser, CNC, whatever) it is clear which side goes where. Does anyone out there know how each cell could be unrolled with a tag on each side in grasshopper?
In one of the sample models I have an extruded “ring”, how can I designate the voronoi cells to populate only within that specific surface?
For this you can for instance use components from OpenNest. It has a component that generates specific, laser-compliant text, as well as unrolling, and packing components.
It’s available in the Rhino PackageManagerfood or on Food4Rhino.
Yes, what you’d do is, construct the bounding box of the extruded ring, populate it with points, construct the three-dimensional Vornoi cells within the entire bounding box, and compute a Boolean intersection between the ring and each cells.
You might need a plugin to generate the text for CNC, and might want to rotate the planes used by Text Tag 3D so the text is horizontal, but this is how I would approach labeling each surface piece (green group). There are a few cases (5?) where these fragments cross a seam so they are polysurfaces (“Open Brep”) instead of single surfaces (“Trimmed Surface”).
Your Geo param is internalized in this GH file, no need for the Rhino .3dm file.
P.S. I forgot to insert a Match Tree component after the purple group (connected to the text panel below) and puzzled that it apparently makes no difference?
I have no personal experience with any of them, so can’t really say. OpenNest, Bowerbird (BBText), Human (JustifiedText3d) and others have been mentioned to replace Text Tag 3D in similar contexts.
Since I didn’t read or watch any tutorials, I probably did something wrong but GH got stuck processing and wouldn’t return control of the canvas so I had to shut Rhino down.
Restarted, watched two minutes of the first tutorial here:
No luck yet nesting the output of the Unroll component but again, I haven’t completed the tutorials. Like sailing on a schedule, programming on a deadline is not considered “best practice”.
OpenNest stuff is all off to the right. The teal group (top right) creates one sheet per branch, spaced out in the X direction because otherwise all branches are stacked on top of each other.
I tried a Crv parameter on the first Pack component because the OpenNest solver turns red with an error message otherwise, even though the nested breps look OK to me. This might be due to those 5 ‘Open Brep’ polysurfaces I mentioned earlier - or not?
The OpenNest Text component (yellow group) works to produce sets of curves for the text labels but doesn’t have the ‘J’ (Justification) option that Text Tag 3D has. And I’ve had no luck yet passing the text through the Unroll component.
Your first priority, of course, is removing and re-installing OpenNest. Can you type “PackageManager” in the Rhino command prompt and see this?
Success! “PackageManager” was the only way I could access OpenNest, a little apprehensive to download it again but now that I see how to uninstall perhaps it’s worth it, thank you!
I’m always apprehensive about plugins. Be sure to install only the first one, dated 2021-Jul-20. The other one you had circled (in the other thread) is not used by PackageManager?
10+ minutes into the first video tutorial (I like to test acquired knowledge ASAP) and I got text on the nested pieces. It took two Transform components in series (bottom right).
As you can see, text labels don’t always fit on the small pieces.