meshfix - a surface mesh cleaning and repairing utility
meshfix <file1> [<file2>] [OPTIONS]
Meshfix is a surface mesh repairing and cleaning tool. It was
written by Marco Attene, Mirko Windhoff, Axel Thielscher. The details
regarding this tool can be found in the below paper
M. Attene - A lightweight approach to repairing digitized polygon
meshes. The Visual Computer, 2010. (c) Springer.
Meshfix processes file1 and saves the result to
<file1>_fixed.off. An optionally passed file2 is merged with the first
one.
Accepted input formats are OFF, PLY and STL.
This program accepts the following input parameters:
- -a
<epsilon_angle>
- Allowed range: 0 < epsilon_angle < 2, default: 0 (degrees)
- -j
- Join 2 biggest components if they overlap, remove the rest.
- -jc
- Join the closest pair of components.
- -h|(--help)
- Print this help and exit.
- --shells
<n>
- Only the n biggest shells are kept.
- -o <output>
- Set the output filename (without extension).
- -q
- Quiet mode, don't write much to stdout.
- -u <steps>
- Uniform remeshing of the whole mesh, steps > 0
- --vertices
<n>
- Constrain number of vertices to n (only with -u)
- --no-clean
- Don't clean.
- --smooth
<n>
- Apply n laplacian smoothing steps.
- -s|(--stl)
- Result is saved in STL format instead of OFF.
- -w|(--wrl)
- Result is saved in VRML1.0 format instead of OFF.
- --fsmesh
<n>
- Result is saved in FreeSurfer format instead of OFF.
- --xshift
<d>
- Shift x-coordinates of vertices by d when saving output. Only works with
--fsmesh; used to deal with small FreeSurfer glitch
- --msh
- Result is saved in gmsh format for debugging (including vertex and
triangle masks)
- --cut-outer
<d>
- Remove triangles of 1st that are outside of the 2nd shell.
- --cut-inner
<d>
- Remove triangles of 1st that are inside of the 2nd shell. Dilate 2nd by d;
Fill holes and keep only 1st afterwards.
- --decouple-inin
<d>
- Treat 1st file as inner, 2nd file as outer component. Resolve overlaps by
moving inners triangles inwards.
- --decouple-outin
<d>
- Treat 1st file as outer, 2nd file as inner component. Resolve overlaps by
moving outers triangles inwards.
- --decouple-outout
<d>
- Treat 1st file as outer, 2nd file as inner component. Resolve overlaps by
moving outers triangles outwards. Constrain the min distance between the
components > d.
- --fineTuneIn
<d> <n>
- Used to fine-tune the minimal distance between surfaces A minimal distance
d is ensured, and reached in n substeps When using the surfaces for
subsequent volume meshing by gmsh this step prevent too flat
tetrahedra
- --fineTuneOut
<d> <n>
- Similar to --fineTuneIn, but ensures minimal distance in the other
direction --dilate <d> Dilate the surface by d. d < 0
means shrinking. --intersect If the mesh contains
intersections, return value = 1. --intersect -o
fname.msh If the mesh contains intersections, return value = 1.
In addtion, save mesh with highlighted intersections in Gmsh
format
cgalmesh(7), cgalsurf(7), cgalsimp2(7), cgalpoly(7), cork(7),
jmeshlib(7)
Marco Attene (attene@ge.imati.cnr.it), Mirko Windhoff, Axel
Thielscher and Qianqian Fang (fangqq@gmail.com)