Help with Rebuilding and Thickening Mesh

I have rebuilt and cleaned the mesh in kangaroo, but when thickening it it gets these weird spikes. Is there any way to fix this? In addition to this, it isn’t as smooth as I need it to be, even after running a smoothing component. Need an answer ASAP, please! I am running Rhino 6 with Grasshopper, and have Kangaroo, Millipede, Weaverbird, and Pufferfish plug ins.

Welcome @Eskeen87,

I’d simply retopologise it manually. You can use Blender (cf. tutorials) or any other, paid CG application (i.e. Maya, Modo, 3DS Max, ZBrush, etc.) that handles mesh modelling more efficiently than Rhino.
If you want to get a clean quad mesh, there’s nothing like doing it by hand, especially for a simple model like this. It will take you maybe 30 minutes to an hour, and if you plan it out well, you’ll end up with a flawless base mesh.
Once you have the retopo-ed mesh, you can re-import it into Rhino and use MeshThicken from Weaverbird, or use extrude in the CG app in question in the first place.

Wouldn’t have hurt, if you had provided your work files either. Especially if you want an answer ASAP, your question should be flawless (!), meaning explicit about what is happening here and accompanied by relevant example files (i.e. Rhino and/or GH).
It’s hard to judge from a shitty rendering (no offense) that doesn’t even show the existing mesh topology, what’s going on here. Honestly, it looks like your mesh has grown mouldy.

You’re right - I apologize for not including those files. I’m still a bit new to the forum. Here is the rhino file of one of the meshes. I’m not sure what you’re referring to taking 30 minutes to an hour - is this using Maya or 3DS Max?

rhino portion of form.3dm (8.0 MB)

I’m referring to the manual retopologisation in general! You can use which ever tool you like best. Maya has great retopo tools, but so do most of the other CG apps, I recon.
Just search YouTube for tutorials for your preferred app!

How are you generating this mesh to begin with?
It looks like a triangular mesh with extreme variation in face size, many very skinny triangles and lots of self intersections, with a catmull-clark subdivision applied at the end to turn it into quads.


I’d try and solve the problem at this initial mesh generation stage, so it starts out reasonable, rather than trying to clean up all the mess later. You can still remesh/relax after to improve the triangle quality further, but that still works best if you have something semi-decent to start from.

From the shape, I’m guessing this started out as some sort of isosurface? In which case it should be possible to get a much better quality mesh at this step.

1 Like

Quick test with Rhino 7 WIP Quad Remesher

Then thickened with Weaverbird’s Thicken component.

Seems fine for a quick first pass, you can do some tweaking to settings and relaxations.
Thick.3dm (444.3 KB)

If you feel you want to do the whole process in Grasshopper then use Rhino 7 WIP Grasshoppers new Quad Remesh component and do the quad remeshing in Grasshopper instead of Rhino.


QuadRemesh.gh (7.6 KB)

3 Likes

This is exactly what I was looking for, I can’t believe it is built in to Rhino 7 like that. I had no idea. I really can’t thank you enough for this, I have been trying everything (to the detriment of the geometry…obviously). For the relaxation, would that be editing of the target quad count? This is a small point but I just wanted to clarify for future applications. Thank you again.

Solving the problem at the initial stage is best for sure. It originally started out much cleaner than this, but I tweaked with the original geometry and then tried to fix the poor result. Thank you for taking the time to answer!

Thank you for answering so quickly!

It can mean anything, depends how much you want to deviate from the original mesh. You can for instance do something like Laplacian Smoothing from Weaverbird or mesh relaxation from Kangaroo on the Quad Remeshed mesh.

I have rebuilt and cleaned the mesh in kangaroo, but when thickening it it gets these weird spikes. Is there any way to fix this? In addition to this, it isn’t as smooth as I need it to be, even after running a smoothing component. Need an answer ASAP, please! I am running Rhino 6 with Grasshopper, and have Kangaroo, Millipede, Weaverbird, and Pufferfish plug ins.

Diagnosis based on an Image is not yet invented.

Post here a R file containing the OEM mesh (in R5 format for me). There’s various ways to check the result (if a rational result is achievable at all).

In general thicken a mesh means add to the vertices the vertices normals * some amplitude (and do the naked vertices side(s) job as well). This means that there’s no guarantee for no face/face ccx events (general case).

Don’t make duplicate posts!!

Understood. Since this was my first post, I was unsure if it had gone through the first time. I am trying to delete it now.

BTW: Did some classic pre checks on your mess (i.e. mesh) … like M.Vertices.CombineIdentical(true, true); etc etc . Other than that this mesh is quite hard to yield a nice (kinda) looking solid mesh for a vast variety of topological reasons.

See some offset (neg/pos D) Mesh test results (prior doing the naked vartices side(s) part and append them to the OEM mesh etc etc). A mess, that is … meaning that the general case (given a mesh > do > some sort of solid one) is faaaar more trickier than you think.

I hear you: but I want a small D. Yes … but … what exactly means this?

In the mean time try to “relax” that thing via K2 (i.e. “equalize” as possible the faces). That said and depending on the topology this is NOT a guarantee that any thicken approach can yield some rational result.

That said, there’s no R Method for mesh self intersections … meaning that you should use a double loop for a per face/face ccx basis … meaning a lot of time for checking 50000 faces against 49.999 others.

Here’s using a very small D for a solid (i.e. mesh with volume) result (obviously pig ugly).


Wow, this is a mess I’ve made, huh? I have actually figured out how to get the mesh where I need it using rhino 7’s quad mesh feature and rebuilding it (with help from others, of course!). I appreciate you taking the time to try and fix the mesh, and for the knowledge within this post. Thank you again, and have a wonderful day!

Er … the truth is that I did nothing for that critical part : just checked the vertices and used the M.Offset(D, solidify) Rhino Method (that DOES not guarantee a rational manifold solid Mesh in the MCAD sence of rational manifold things).

That said a mesh has 2 sorts of animals as vertices: the ones that you see (the MeshTopologyVertices) and …er … some others as well (the MeshVertices). Their indexing differs: that confuses novices and makes life hard for them as well (but life sucks anyway). But there’s R Methods that allow you to correlate the indices.

Getting a mess of that magnitude and doing a good looking mesh requires some relaxing K2 stuff that I have in the practice (that due to Covid19 is closed [untill the end of days and/or the next Armaggedon and/or the 4 horsemen etc etc]).

BTW: Play with these 2 simplified meshes (out of your mess) to see what happens when you attempt to thicken them: obviously you still have pig ugly results … but the more reduced one is … er … less pig ugly (in the sence that a small hole in a submarine is way better than a big one).

Mesh_Offset_EntryLevel_V1.gh (840.4 KB)

Update: using some internal stuff (meaning that you can’t have them) did an indicative 3rd mesh that is kinda a way smaller hole in the submarine.

Mesh_Offset_EntryLevel_V1A.gh (867.2 KB)