Designs a parametric, tileable Voronoi-mesh wall sculpture. Sized for
any wall, sliced into print-bed-friendly pieces that lock together with
printed bowtie keys.
1. The flow
Set your wall size. Width × Height (mm). The full wall as it'll hang.
Set max tile size to whatever fits your printer's build plate (Bambu A1 ≈ 256 mm, P1S ≈ 256 mm, Prusa Mini ≈ 180 mm). The grid (rows × cols) is computed for you so no tile ever exceeds the max.
Adjust seed density / random seed until you like the pattern. Higher density = more, smaller cells.
Add cutouts by dragging on the 2D preview, then fine-tune the numbers in the Cutouts panel. Useful for light switches, outlets, mounting points.
Preview in 2D (the assembled wall, colored by tile) and 3D (orbit-controlled solid render).
Export STLs — one file per tile plus a universal bowtie key, bundled as a zip.
2. The main controls
Width / Height
Total wall dimensions in mm.
Max tile size
Largest dimension any printed tile may have. The grid is sized so every tile fits; tiles are uniform — slightly smaller than the max when the wall doesn't divide evenly.
Seed density
Average number of Voronoi cells per tile slot. 8 = bold/sparse, 14 = balanced (default), 25 = fine/dense.
Random seed
Same number → same pattern. Bump it to try a different layout at the same density.
Rib width
Full rib thickness between cells (mm). The wall's structural network. 10 mm is the default; ≥ 6 mm prints reliably.
Outer frame
Thickness (mm) of a squared-off rectangular border unioned with the rib graph along the wall's outer perimeter. Set to 0 for a softer, half-rib edge. 10 mm matches Python.
Tile thickness
How thick each tile is in mm (front-to-back depth).
Pocket depth
How deep the bowtie pockets sit into the back of each tile. Set to half the tile thickness for invisible keys.
Fake seam groove width / depth
A thin groove cut along every intra-tile Voronoi edge so every cell reads as its own piece. The real tile-to-tile seams blend in with all the others. Width 0.4 mm + depth 1 mm is a clean default. Inter-tile seams stay solid so prints don't have to bridge across the gap between tiles.
Bowtie length / end / waist
Dimensions of the hourglass-shaped key that locks adjacent tiles. The waist is the narrowest point, the ends flare out.
Min seam length
Skip placing a bowtie on any inter-tile seam shorter than this. Keeps small seams clean.
Bow edge gap
Required clearance (mm) between the bowtie's wide end and the neighbouring cell's far edge. Bowtie placement is rejected if either cell can't fit half_bow + this gap perpendicular to the seam.
Print clearance
Slop between the bowtie key and its pocket (per side). Tune for your printer; 0.2 mm is a good starting point.
3. Cutouts
Hold down the mouse and drag on the 2D preview to draw a rectangular
cutout — useful for light switches, outlets, or mounting hardware. Once added,
fine-tune the precise x, y, width, height in the Cutouts panel.
Bowties and the rib mesh re-route around each cutout automatically.
Click the red × to remove a cutout.
4. Advanced (collapsible)
Toggle between random per-tile colors (default) and a single solid color
for all tiles. Change the canvas background to whatever you like.
Hide the red bowtie outlines in the 2D preview if they're distracting.
5. Printing tips
Tiles print flat with the back facing up — back pockets become overhangs, no supports needed.
Print the bowtie key a few extra copies to account for prints that don't seat cleanly.
The wall is intentionally tilable; you can print tiles in batches and assemble incrementally.