Voronoi 3D Weaverbird Thickened Mesh Invalid

Voronoi 3D 4.gh (36.4 KB)

Hi There,

I am super new to Grasshopper, and I wanted to create a 3D Voronoi building envelope with Weaverbird plug in. Everything works fine until I tried to bake the Weaverbird Mesh Thickened, it says the object is invalid :confused: Is it because the original solid that I made is too complex for mesh? Thank you :slight_smile:


Do this



Thank you Ajarindia!

I tried that in my intial brep, and it didnt change :confused: what does internalised data do to a geometry?
Thank you.

3. Attach minimal versions of all the relevant files
If you have a gh file you have a question about, attach it to the post. Do not expect that people will recreate a file based on a screen-shot because that’s a lot of pointless work. It’s also a good idea to remove everything non-essential from a gh file. You can use the Internalise Data menu option to cut everything to the left of a parameter:


Your file without internalized geometry.

Oh my God, thank you :slight_smile:

Does this work?

Voronoi 3D 5.gh (12.7 KB)


:upside_down_face: im such a newbie…sorry! i tried another one here… Voronoi 3D 5.gh (165.5 KB)

1 Like

SADlina final it works !!!


1 Like

:pray: :pray: :pray: :pray: :woman_student:

There are a few problems in this definition. Not sure however, if my result is what you are looking for.

Your input solid is a thickened surface. The backside is split. So on one side you have one surface, on the other a polysurface. That’s a problem when you intersect the voronoi cells with your solid.

Here’s what I did:

  1. I created horizontal sections of the front surface of your solid.
  2. rebuilt and oriented the sections
  3. lofted the curves, one required flipping its direction
  4. offset this surface and lofted the edges
  5. joined all this into your rebuilt solid

Next I scaled the bounding box for the voronoi to avoid boundary issues with the intersection.

In the Mesh Surface component it’s important to turn off Overhang, however Equalize span length really helps on the curved part of your shape.

You can change the subdivisions of the three parts of the mesh independently.

The final mesh has no naked edges. I internalize one final mesh in the file below.

Voronoi 3D 5.gh (2.9 MB)



Just to propose a different take on this, as Martin mentions the BRep itself is split and it leads to errors down the line. One thing you can do is get the original surface (before presumably you offset it) and then rebuild this in Rhino to give a new UV parameterisation (1). This will help things later. You can just use the Rebuild command for that.

To me the other thing is when you take the boolean intersection, you kind of lose a little bit of control over how the curves are built and it might lead to further errors without some manipulation (a). To be honest, the image in your first post is much thicker than the one you attached, having more volume. If you need this more surface based, it might be that you can make the Voronoi in 2D (2) and then map these curves to the surface instead which is much faster. Use the Ruled surface component with only two curves to create the faces (3) and the Simple Mesh component rather than the MeshUV (unless you really have to) (4). Swapping the thicken and the subdivision components gives a slightly more smoothed final result (5) (b). The dense parts are where the lines are really small from the Voronoi which could be rebuilt earlier in the process if required.

VorEdit.gh (67.4 KB)

This is only really 2D though and the image as I say is more a volume. For that, using the mapping you could easily make a line network by first offsetting the surface (1), joining points, and then use this to create a 3D Voronoi of tubes. For this, I recommend Daniel Piker’s ‘skeleton fattener’ component (2) before you do the Weaverbird.

VorEdit2.gh (60.8 KB)

Hope this all adds to your understanding. Personally I like to not overcomplicate things, so trying to find a solution to your problem in the easiest way possible not necessarily the best if that makes sense!

Best of luck with it.



Thank you Martin! I really appreciate it :slight_smile: So much to learn hehe :pray: :slightly_smiling_face:

Hi John,

Thank you so much!! I this helps me alot :slight_smile:

Ill keep learning and getting more used to the logic and thinking behind GH. I wanted to have a 1m thickness my surface, i notice that the voronoi connect s randomly with larger values like yours (10m thickness). Is it because the proportion of 1m distance of offset with such massive surface?

Thank you!

Nice approach John I was also using map to surface component, but after then I couldn’t figure out what’s next. Because, as you mentioned her BRep have some distortion down below. But smartly you introduced Daniel Piker’s skeleton fattener there.

Ok, so you want to have a 1m thickness to the surface, but do you mean that the surface is actually 1m thick, or that the overall thickness is 1m!? I just put it overall at 10m because it seemed to more closely match your original intentions, however this last image you’ve posted makes me think it is 1m overall thickness! Sorry for the confusion.

If the former, then you can follow Martin’s guidance, but you need to rebuild the surface. In the last image it looks like it isn’t because you have that ‘droopy’ section in the middle. Similar to Martin’s definition, I modified one of the originals I posted just to make the mesh generation a little cleaner. You can see a thickness of 1m offset mesh (a) and after CC subdivision (b & c):

VorEdit3.gh (67.9 KB)

Now, if you still want to go for the 1m overall thickness with smaller ‘struts’, let’s look at the second definition again. One thing I did notice upon closer inspection is that the Skeleton Fattener isn’t working terribly well in certain places. Reading up on Daniel (Piker)'s post (linked above), it appears that there are some cases where this can happen. As we are looking at a volumetric network it does cause issues with the angles which I cannot seem to resolve (a). However, by using the ‘Topologizer’ and ‘ExoSkeleton’ components (also by a younger Daniel), we do seem to get a nice result (b). Links to these useful components are posted below.

VorEdit4.gh (66.2 KB)

Personally, I don’t really do much of this stuff anymore these days, I have some old scripts that do similar things that I’ve lost but Daniel is really the person who wraps things up properly and he has published an amazing array of tools! Curious that the 8 years old exoskeleton is still the goto and I couldn’t get the fattener to give such a nice result, but they work in different ways of course. I’d be interested if anyone has any other ideas/components that work as well for this kind of problem @ajarindia.



Also post by HS_Kim on the Dendro plugin which might be another option combined with topologizer:

1 Like