Prerequisites
cmake, hdf5, gcc-9, gmp, mpfr
Compile,
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make breve_bin -j 4- Download Thingi10k models without self intersection and manifold. (5172 results, and we provide the list in
fullname_10k_good.txt)https://ten-thousand-models.appspot.com/results.html?q=with+not+self-intersection%2C+is+manifold - Use your favorite job scheduler to loop through the files. An example bash script is as follows.
binary=PATH_TO_BUILD/breve_bin
for i in {1..5172}
do
( let "fid = $i"
filename=$(sed ${fid}'q;d' fullname_10k_good.txt)
$binary -i $INPUT_DIR$filename -o $OUTPUT_DIR -l $LOG_DIR --loglevel 2 --serial shell --simplify-shell --init-thick 0.0001 --angle 0.001 --thick 0.05)
done-
Fig. 1: Teaser Wheel (One componet from
1517923.stl,h=0.1) -
Fig. 3: Example
V3_solid_virus.stlhttps://www.thingiverse.com/thing:4166787 -
Fig. 9: Initial bevel pattern and optimized result (
screwdriver.off,h=0.05) -
Fig. 11: Varied target thickness (
78481.stl,h=0.5,0.1,0.01,0.001) -
Fig. 13: Pinching singularity (
1146172.stl,h=0.05) -
Fig. 15:
Thingi10kGallery.91006.stlchains,56630.stlearth.63785.stlmouse skull.69930octopus.76540.stlcheese.53750.stlspace filling curve100506.stla long tube -
Fig. 16: Postprocess for cleaner shell extraction. (
camel_b.obj) -
Fig. 17: Heat Geodesic Comparision (
121868.stlfromThingi10k)h=0.005, e=0.02 -
Fig. 18: Making Tetrahedralization Easier. (
knot100K.objfrommpz14)knot100k.obj --thick 0.005e=0.02 -
Fig. 19: Post-process Boolean Operation. (Two meshes from
Thingi10k, processed tobird_engine.obj)
import pymesh
mesh = pymesh.load_mesh('../tests/data/bird_engine.obj')
bird, engine = pymesh.separate_mesh(mesh)
birdengine = pymesh.boolean(bird, engine, operation = 'union')
pymesh.save_mesh('birdengine_boolean.ply', birdengine, 'source', 'source_face')birdengine_boolean.ply --thick 0.01
--edge 0.05
-
Fig. 20: Detail Map for Bunny. (
bunny.objfromhttps://github.com/libigl/libigl-tests-data) -
Fig. 21: Shell Texture. (
animal.obj)h=0.05 -
Fig. 22: Armadillo Multi-Layer Cage. (
armadillo.obj) -
Fig. 23: Extension to self intersecting or non orientable surfaces.
leg-intersect.obj