Mesh Edges but Retain Sharp Features?

Hi,

I have a 3D triangulated mesh and need all edges to measure 0.80m. If impossible the range could vary from 0.7m - 0.9m.

I have used TriMesh but it is creating many triangles outside this range.

I then tried to create a sim with Kangaroo which restricts mesh edges to 0.80 but the solver figured the best way to do this is to completely planarize my mesh, is there a way to retain sharp features, I could not find a similar goal component.

EDIT: def with internalized geo here:
Trimesh WIP_internalized.gh (32.1 KB)

It looks like you forgot to internalise the input data

2 Likes

Ah, thank you Daniel, internalized now. Sorry!

One of the first issues I see is that the target geometry contains features narrower than your desired edge length. It’s impossible for a mesh to match these edges and corners with that restriction:

For the Kangaroo part, the ‘LengthFactor’ input of the ‘EdgeLengths’ component you are using is a multiplier for the initial edge length, so if your initial mesh has edges varying in length, the target lengths will also vary.
It sounds like what you want is a single target edge length for all edges, regardless of their varying initial lengths. For this you need to instead extract the edges and use a ‘Length’ goal.

Hi Daniel, thanks for the tips!

I tried a second run but the result is still way too planarized. The 3D aspect of the mesh important to keep.

(Left before, Right after simulation)



Kangaroo edit.gh (34.1 KB)

When specifying you wish to ‘retain sharp features’, does this also mean you wish to maintain the number of mesh faces/vertices?

Not necessarily. The naked boundary edges yes.

These in orange I mean.

1 Like

Cool.

What about your other ‘rules’ such as the desired length (0.8) and/or range (0.7 - 0.9)? Regardless of face/vert count, I guess what Daniel points out is key regarding existing boundary edges that are below the lengths in discussion. With Kangaroo you can ‘clamp’ the line edges between min/max values, which will disrupt your boundary shape when anchors are allowed to move a bit - and if they shouldn’t move (because you wish to keep your boundary) then you can’t adequately clamp these lenghts. :smiling_face_with_tear:

I’m discussing in relation to my limited knowledge of kangaroo, of course - I suppose there are other methods, probably more robust via an iterative plugin or using something like the good 'ol plankton remeshing machine thing.

kangaroo_solution.gh (33.9 KB)

1 Like