Accompanies OnCFD Newsletter #147: "It's a(n open-source) wrap"
Here are my "high-level" notes on building a command-line, mesh shrinkwrapper using Alpha Wrap 3 from CGAL.
I did this in an Ubuntu container on a Mac, but you could do similar in Windows Subsystem for Linux or native Ubuntu (or anywhere else that you can grab all of the dependecies).
See the accompanying article for more background 👋
# Refresh repository lists
sudo apt-get update
# Install pre-requisites (you may already have many of them)
sudo apt-get install cmake wget build-essential libgmp-dev libmpfr-dev libboost-all-dev
# Download & extract latest CGAL source code
wget https://github.com/CGAL/cgal/releases/download/v5.5.2/CGAL-5.5.2.tar.xz
tar xf CGAL-5.5.2.tar.xz
# Install CGAL into /usr/local/lib/...
cd CGAL-5.5.2
cmake .
make install
Copy the following code example & save it locally as mesh_wrap.cpp
In the directory containing your new source code file, run the following:
# Prepare the inputs for cmake
cgal_create_CMakeLists -s mesh_wrap
# Use cmake to create the build files
cmake -DCGAL_DIR=/usr/local/lib/cmake/CGAL -DCMAKE_BUILD_TYPE=Release .
# Build the executable
make
The command-line options aren't documented as such, but you can run your new tool using the following:
./mesh_wrap INPUT_FILE ALPHA_VALUE OFFSET_VALUE
See here for an illustration of appropriate alpha
& offset
values & what they do.
For example:
./mesh_wrap wrapThisTri.stl 100 800
The code currently writes Object File Format
.off
files if you'd prefer .obj
output you could change this line in the source code from .off
at the end to .obj
(or .stl
etc).
Recompile the code & you'll have .obj
output.