Mesh split not working


(Lasse B. Jensen) #1

Hi

I’m trying to split a mesh with “Mesh Split Plane” along the x-axis. However “Mesh Split Plane” is not returning any result. When I split it any other way (e.g. along the y-axis, inclined) there is no issue.

GH-file attached.

Any tips?

BR

  • Lasse

Mesh_split_simple.gh (27.6 KB)


#2

Hi Lasse,
Rhino is bad at splitting real life meshes but two things to bugtrack are:
1- is it a disjoined mesh? If so disjoin first.
2- are one or more vertices on the splitting plane? If so try to move the plane within an acceptible tolerance.

I don’t have time to check the mesh now, but I am sure others will.
Good luck.


(Lasse B. Jensen) #3

Thank you Holo

I had already tried moving the splitting plane off center. It just need to be moved a bit more to get it to work.


#4

Ah, yeah… that is a very clean example of Rhino’s decade long short coming when it comes to slipping meshes… @dale I don’t know who’s on the mesh split team, but you should look at the GH definiion and just bake the initial mesh and use it as an examle.

There is NO reason for Rhino to not be able to split a mesh just beacuse vertices are aligned with a cutting plane or another mesh.

If I move the line 0.01 units along Y then it splits just fine, but that adds unwanted polygons of course.

image


#5

It’d be interesting to make a list of possible scenarios where moving the vertices would solve the problems, although different strategies probably would be needed for different cases. A few obvious cases which I come to think of , but there must be more;

  1. Planar surfaces - Within a certain tolerance, vertices could be moved to the split-line and cut right through with a vertice copy on each side of the cut (moving closer to avoid micro faces).
  2. Curved surfaces - Same as above. At least within a certain curvature (angle between face normals). Sharper curvatures would require “lifting” the mesh if vertices are moved.
  3. Sharp edges - Within a certain tolerance the same strategy as in #1 could be used (?)

Near holes perhaps combinations of the above would apply? I probably overlook trickier cases. If the mesh is bad, with overlaps etc, it’s probably messier than when solving it at the coffee table like I try to do right now…

In any case, MeshSplit is one of the “critical” functions, really.

// Rolf