Skip to content

Voxelize meshes to volumes. Save meshes from volumes.

License

Notifications You must be signed in to change notification settings

theHamsta/volume2mesh

Repository files navigation

PyPI version Build Status

volume2mesh (and mesh to volume)

Voxelize meshes to volumes. Save meshes from volumes.

This package provides to functions volume2mesh and mesh2volume to convert between NumPy volume arrays and meshes:

file = '/tmp/my_mesh_file.obj'
volume = np.zeros((100, 120, 131), np.float32)
volume[20:40, 30:40, 40:50] = 1

volume2mesh(file,
           volume,
           threshold=0.5,
           adaptivity=0.,
           spacing=[1., 1., 1.],
           origin=[0., 0., 0.],
           binary_file=True,
           only_write_biggest_components=False,
           max_component_count=1)

And to voxelize meshes:

bunny_file = '~/my_bunnyfile.stl'
volume = volume2mesh.mesh2volume(bunny_file, scaling=1.)

Installation

You need to have OpenMesh linkable via -lOpenMeshCore and OpenVDB installed.

On on Ubuntu, you can do this by these commands (see our Travis Script):

# Install OpenVDB
sudo apt-get install -y libopenvdb-dev build-essential libboost-all-dev libtbb-dev

# Install OpenMesh
git clone https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh.git || echo "hi"
cd OpenMesh
git pull
mkdir -p release
cd release && cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build . -- -j4
sudo make install

# Install this package
pip3 install volume2mesh --user
# Or if you cloned this repo
pip3 install -e . --user

About

Voxelize meshes to volumes. Save meshes from volumes.

Resources

License

Stars

Watchers

Forks

Packages

No packages published