My group had developed a Blender based addon - BlenderPhotonics - which can be used as a front-end for 3D tetrahedral mesh generation (by calling our Iso2Mesh toolbox in the backend). The details of this work can be found in our paper: https://doi.org/10.1117/1.JBO.27.8.083014
Our workflow involves creating complex models using Blender's built-in functions, and then, joining all mesh objects and perform intersection. The tetrahedral mesh generator is extremely sensitive and refuses to mesh any triangular surfaces that 1) are not water-tight, 2) have self-intersecting triangles, and 3) contain inconsistent triangles (such as vertices ended up in the middle of any edge or faces).
I found that Blender 2.9+ is quite good at resolving intersections with the Exact solver enabled. However, I have struggled to slice box objects with plane objects to create a multi-layered structure.
Here is an example. The scene contains a box, a plane of matching size, and a cone. My goal is to create tetrahedral mesh from this scene.
By performing 1) converting all objects to mesh, 2) join all triangular meshes to intersect, I got the attached intersected mesh. You can see, Blender did a good job for both top and bottom planes, but the intersection of the middle-plane creates inconsistent triangles - the 4 highlighted vertices are located in the middle of the edge of the triangles on the bounding box. This makes my tetrahedral mesh generator unhappy.
My question is - why Blender inserts these 4 nodes in the first place? is there an option for Blender to refine all connected triangles if it decides to insert a new node in the middle of any edge? or, even better, not to insert these nodes at all (like the top/bottom planes)?
any suggestion on how to consistently mesh such cut structure would be appreciated!
Update: just to give some idea on what is the expected "consistent triangular mesh", here is a manually edited image. What are missing are these 8 red-colored edges. With these edges, there will be no vertex located in the middle of any edge.
The .blend file before joining is attached here
Update 2: it looks like this behavior is also version dependent - the above screenshots were taken on Blender 3.0.1 (Ubuntu 22.04), but if I use Blender 2.92, the generated tessellation is valid - see below screenshot . As you can see, only two nodes were added, but both nodes were properly tessellated.
Face -> Triangulate Faces
in EDIT mode $\endgroup$