This is an old revision of the document!
Clean up a 3D scan made with the Occipital Structure scanner
The 3D files from the Structure scanner often have holes and unwanted geometry. After following this guide you'll get a watertight model that is ready for color-3D printing. A basic understanding of mesh manipulation in Blender is necessary. We will use Blender, but here is a guide that describes this process for Meshmixer.
Setup the mesh
- Import the mesh.
- Make the mesh active (yellow contour lines instead of orange)
left mouse click
- Right click on the mesh and select
Set Origin > Geometry to origin
. - Scale the object to a reasonable scale to work on. Avoid zooming in to a mesh that's super tiny or zoom out to one that's crazy big.
- Rotate until the object is upright.
Join fragments to a single mesh
The scan data coming from the Occipital Structure sensor isn't yet joined in a single mesh. It consists of multiple sections that overlap on the edges. To test this, hover the cursor over the object and press l
(lower caps L). This selects all vertices that are linked. As you can see, only a single section is selected.
- Select all
a
Mesh > Clean Up > Merge by Distance
. The default distance should do.- Reset normal vectors:
Mesh > Normals > Reset Vectors
Delete unwanted geometry
Cut away unwanted parts, like the surface the model was standing on.
- Add a cube. Scale and position so it overlaps with the unwanted geometry.
- Select the 3D scan mesh.
- Add Boolean modifier and leave the operation as
Difference
. - Select the cube as the mesh to use for the boolean.
- Apply the modifier.
Delete loose parts
- Deselect all
alt + a
- Hover the cursor over the mesh you want to keep and press
l
(lower caps L). This selects all vertices that are linked to the vertex underneath the cursor. - Invert the selection
ctrl + i
- delete the selected vertices
x > Delete Vertices
Redistribute vertices
The 3D scanner generates a mesh with messy topology. There are areas with very large faces, and others where there are lots of vertices crammed together. This creates visible stress points in the mesh. The relax function moves the vertices away from densely populated areas in order to be more equally distributed. Having the mesh relaxed will prevent a series of problems later on. This will change the shape of the mesh a little bit though.
- select all vertices
a
- Relax Vertices. A single iteration will do.
Vertex > Relax
Manually Fill Holes
Tiny Holes
Fill tiny holes by merging vertices together. This way the texture will stay visible.
- Select the first vertex.
left mouse button
- Add the second vertex to the selection.
shift + left mouse button
- Merge them together.
alt + m > Merge At Last
Medium Holes
Clean up the edge
- Manually clean up the edges of the holes. The scanner tends to leave the edges of larger holes curved inward. Select and delete the connecting vertices. Then the excess surface is floating and can be deleted by hovering over it with the cursor and then pressing
l
(lower caps L) to select and then delete all linked vertices. - Merge together irregularities like outward or inward triangles. Try to make the edge of the hole somewhat smooth.
- Looking from the side, pull out the edge vertices so they follow the curve of the skin around the edge.
Fill in the gap
Retexture
New faces added to the mesh appear black or show random colours. They are referencing meaningless parts of the texture. Let's project the selected vertices to the texture and clone the surrounding texture onto that area.
- In the
UV Editing
workspace, unwrap the current selection.UV > Unwrap
. - Scale down the selection in the UV editor and position it over a not yet textured area.
- Switch to the
Texture Paint
workspace, Select the clone brush and set the source for the brushCtrl + left mouse click
(the 3D cursor will indicate the position). Now you're ready to draw.
Big Holes
When the holes are big, closing them with fill
results in a flat surface. Here are two ways to reconstruct the natural curve of the object. Clean up the edge of the hole as described above.
Using Grid Fill
- Make sure there are an even number of vertices on the edge of the hole. If not, merge two vertices together. On the bottom status bar the selection count is displayed. Using grid fill with an uneven number results in a 'Select two edge loops' warning.
- Try one of these selection modes:
- Select two opposing edge loops
- Select all the vertices of the edge of the hole. No selected faces are allowed.
- Fill using the 'grid fill' method.
Face > Grid Fill
- Play with the Grid Fill options until a proper fit.
- Span makes different connection patterns.
- Offset rotates the connection pattern with the edge vertices.
- Simple Blending tries to curve the new surface according to the edge vertices. It doesn't take the existing geometry in account. Meshmixer does a better job with smooth hole filling.
Both versions aren't perfect. Mesh stress areas are marked with the red circles.
Clean up dark spots by resetting the normal vectors:
- go to
Edit Mode
- select all vertices
Mesh > Normals > Reset vectors
- go back to
object mode
Clean up visible edges with the smoothing brush in the Sculpting workspace.
Manually
- ngon + join + dissolve
Retexturing is the same as described above.
Normals
Maybe better after having a watertight object
- Go to edit mode and select all vertices
- Recalculate normals:
shift + n
- IMG Show the face normals for a visual check. In Edit mode:
Overlays > Enable face normals
. - If the blue face normals are pointing inwards, select all vertices,
Mesh > Normals > Flip
. - IMG These spots are caused by split-normals that are stuck in the wrong direction.
- To fix this, select all vertices,
Mesh > Normals > Split
, and thenEdge > Clear Sharp
- IMG These problems are visually similar to the wrong facing split-normals, but it's caused by clunky geometry.
- If it's caused by vertices that are close to each other, run a Degenerative Dissolve.
Mesh > Clean Up > Degenerate Dissolve
. Try increasing the merge distance in small steps. - If it's caused by a small overlap, Fix the geometry by merging some of the problematic vertices. Avoid having to make new faces, because then you'll have to redo the texture on that face.