Core Usage
This page covers the basics of VoxelMap v5.0.0.
Voxel Arrays
VoxelMap models are built from NumPy arrays. - 0 = empty space - non-zero integers = voxel types
import numpy as np
from voxelmap import Model
arr = np.ones((3, 3, 3)) # simple cube
model = Model(arr)
Drawing Voxels
The core drawing backend is Matplotlib. Use draw_mpl for quick static 3D voxel plots:
model.set_color(1, "red")
model.draw_mpl("custom")
➡ Produces a solid red cube.
Custom Palettes
You can assign multiple voxel types different colors using palette:
arr = np.indices((3, 3, 3)).sum(axis=0) % 2 + 1
model = Model(arr)
model.palette = {1: "black", 2: "white"}
model.draw_mpl("custom")
➡ Produces a black/white checkerboard cube.
Colormap Gradients
Models can be shaded with continuous colormaps (from Matplotlib):
from matplotlib import cm
arr = np.ones((10, 3, 3)) # tall column
model = Model(arr)
model.colormap = cm.viridis
model.alphacm = 0.8
model.draw_mpl(coloring="linear")
➡ Produces a vertical viridis gradient.
Interactive 3D (Optional)
If you installed with [mesh], you can use the PyVista backend for interactive zoom/rotate/pan:
model.draw("custom")
➡ Opens an interactive 3D window.
Saving and Loading
Save your model (array + palette) to JSON:
model.save("cube.json")
Reload it later:
blank = Model()
blank.load("cube.json")
blank.draw_mpl("custom")
➡ Reproducible and color-safe.
Summary
Use NumPy arrays as the backbone.
Assign colors via palette or set_color.
Visualize with draw_mpl (static) or draw (interactive).
Save/load with JSON for reproducibility.
Extend with [mesh] for advanced meshing and OBJ export.