Hi. I am dealing with a mesh thickening based on face normal rather than on vertex normal. The goal is to achieve a better control over thickened structure to make it 3D printable. Using Dendro plugin is not an option thanks to the aim to deploy the code on ShapeDiver. I expect the input mesh to have around 15k faces. I also found this topic OffsetMesh needs more work but there’s been nothing new for two years.
The problem:
The approach:
- get list of faces sharing one vertex (is there a faster way than C#
MeshTopologyVertexList.ConnectedEdges
method? It costs a lot of computation time…) - construct planes and calculate angle between each face normal and vertex normal
- use trigonometry to calculate length of vertex normal vectors for each face normal vector
- average these vectors to get resulting vertex vector lenght
- move vertex, construct mesh using the same mesh topology
Promising, but…
I’ve found many promising approaches online but it’s beyond my skills to recreate them. (paper 1, paper 2, paper 3) Is there a better way to achieve my goal?
I’ve tried also:
- Kangaroo Face Offset (doesn’t work with a variable offset)
- WB Mesh Thicken (offset using vertex normal, not face normal)
- Dendro (computation time too long, resulting mesh too rough)
- moving each face plane by face normal vector, finding it’s intersecting point (problematic around flat areas of the mesh)
Could someone give me a hint, please?
MeshFaceOffset_PetrVacekGH.gh (25.0 KB)