Tet Gen

1) Load a surface

For instance, this one, courtesy of Stanford University (credits, terms of use, more models).

Note: If you try with another surface that has holes, or that is non-manifold, see this tutorial.

As with most scanned meshes, the quality of the triangles makes it difficult to use it for tetrahedral meshing.

2) Remesh the surface

   Mesh->remesh->remesh
     target edge length: -100  (or use -200 for smaller triangles) 

This generates nearly equilateral triangles.

3) Create a tetrahedral volume

   Scene->create object
     type: WhetGrid (this stands for "weakly heterogeneous grid")
     name: armadillo_tet  
   Select armadillo_tet in object list 

4) Tetrahedralize with bundeld TETGEN

   Geometry->stuff surface
     surface name: armadillo
     quality: 2.0 (use 1.5 for smaller tets)

5) Visualize the result

   In viewer controls (top left)
      selected only
   In shader pane (right)
      border->off
      solid slices->on
      x_slice->on

6) A more complicated example

You can try with the result of the MeshRepair tutorial, that you can download here.

Let us try it:

   Scene->create object
      type: WhetGrid
      name: dragon_tet
   Select dragon_tet in object list
   Geometry->stuff surface

This fails. This is due to the fact that the surface has self-intersection. Fortunately, TETGEN detects them, and Graphite marks them as red dots (locks). They are under the mouth of the dragon

Now that we understand the problem, let us fix it (using Laplacian smoothing):

   Mesh->lock/unlock->grow locks
      nb_iter: 7
   Mesh->lock/unlock->invert locks
   Mesh->optimizer->optimize geometry

The surface no longer has self-intersections and can now be tetrahedralized.

   Select dragon_tet in object list
   Geometry->stuff surface
   Shader pane
      border: off
      solid slices: on
      x slice: on