For a thickened surface: how to merge the spikes after thickening

For a thickened surface: how to merge the spikes after thickening

Anonymous
Not applicable
630 Views
3 Replies
Message 1 of 4

For a thickened surface: how to merge the spikes after thickening

Anonymous
Not applicable

Hi All!

 

I got a question after thickening a thin surface. Since I have to thicken the surface using different thicknesses according to spatial information, I used an existing thickening STL algorithm in MATLAB. The algorithm extrudes the points along the faces' normal direction for a certain thickness. However, after thickening, there are many strikes/cracks (see attached figure below). I found there are some seem-like-useful tools in Meshmixer such as 'close the cracks' and sculpt tools. But all of them can't solve my question. Is there any advice to resolve such issue? And idea will be greatly appreciated! Thanks for your time :).

 

 

0 Likes
631 Views
3 Replies
Replies (3)
Message 2 of 4

Anonymous
Not applicable

Red lines in MM aren't just cracks (not welded or open boundaries). Red highlights non manifold issues. 

About "non manifold" issues on a mesh (as you're using MATLAB allow some abstracts):

 

A mesh is a representation of a surface based on polygons (in case of MM: triangles). First rule: Any surface described that way doesn't allow more than two polygons to share the same edge. If there are three (or more) polygons sharing the same edge (A-B)  it can't be a surface any more > Non manifold faces

E.g: If there's a non manifold mesh with triangleX with vertices A-B-C AND a triangleY with vertices A-B-D AND a triangleZ with vertices A-B-E there's no consistent surface and one can't decide whether the surface is (triangleX+triangelY) or (triangleX+triangleZ) or (triangleY + triangleZ). This analog to a definition of a polyline via the lines AB,AC,AD. This is some Y drawing but not a polyline any more.

Second rule: If there's a correct surface of three triangles ABC, ABD and ACD AND there's a fourth triangle AEF > it's not a single surface but two instead. Both are connected by a non manifold vertex A.

 

Now: As MM can't decide which surface is the "right" one in both cases it repairs (using ANALYSIS/Inspector) such issues by deleting triangles sharing a non manifold issue. This results in open boundaries which can be filled by a different triangulation.

In your case, non manifolds next to non manifolds, I think this approach will erase nearly anything...

-----

.stl (simplified) is a list of triangles (defined by vertices coordinates) only.  This format isn't indexed. Welding the triangles happens on import connecting all triangles which share the same vertex coordinates. E.g.: If I had two surfaces ABC and ABD the edge AB will be welded on an import automatically. That's fine as long as there's no disturbing third surface ABE > non manifold.

Instead there're indexed formats as .obj. Such formats allow to define different surfaces sharing equal vertices. Here, in case of the triangles ABC, ABD, ABE you can define which two triangles build the surface while the third stays an isolated surface.

----

I also see inconsistent surface normals in your screenshot. Working with meshes be aware that the normal direction of a face is defined by a clockwise or counterclockwise list of the vertices. So CBA (or BAC or ACB) is the flipped normal version of ABC (or BCA or CAB)

----

Think you need to look at the output of the used MATLAB algorithm.

Message 3 of 4

Anonymous
Not applicable

Hi Gunter, Thanks for your detailed reply! It is really helpful for me as I am new to this field. And the term non manifold explains the problem that occurs. I have taken a look on MATLAB algorithm, it does invert the vertices' index to add a flipped normal. 

 

So I am thinking if I extract the outer-surface(as the attached figure) -- to make it a thin surface again, is it any possible solution to fix/merge those disconnected triangles? If it can be fixed, it also solves my problem. Thanks for your time :)!

0 Likes
Message 4 of 4

Anonymous
Not applicable

Hmm hard to decide from an image.

 

I'm wondering about those black areas. Do you use per vertex color or a texture too? Or is this a rendering issue. MM might show strange rendering if no printer is selected. So better to select some from the upper right dropdown an hide it via menu:View/ShowPrinterBed...

 

Could you post a snippet of your mesh showing the problem (zip it to attach it here).

0 Likes