Topology optimization: stiff, lightweight parts inside Blender
Blendtopo turns a block of "where material is allowed" into a stiff, lightweight, organic structure — entirely inside Blender. Mark where your part is held and where the forces act, press Run, and watch it grow a load-bearing shape you can export and 3D-print. No CAD seat, no separate FEA tool, nothing to pip-install.
0, 0, -1 for straight down).The structure appears almost immediately as a rough shape and refines over a coarse-to-fine schedule, redrawing every iteration so it visibly morphs into its final form. The solve runs on a background thread, so you can keep orbiting the viewport while it works.
The finite-element solve is matrix-free (no global matrix assembled) and preconditioned by a geometric multigrid V-cycle. In testing, the solver iteration count stayed essentially flat (~10) from ~2k to ~29k degrees of freedom, where plain diagonal preconditioning grew from ~85 to ~228. If an NVIDIA GPU and CuPy are present, it uses them automatically — after a startup self-test that falls back to CPU if anything doesn't match.
GPL-3.0. Source, releases, issues and a short technical write-up: https://github.com/RandomLambda/Blendtopo
This is an early release — bug reports and example .blend files are very welcome.
Add a Cube as the build space, scale it long; add a small cube at one end as a
bearing (all axes fixed) and another at the far end as a load (0, 0, -1); set
Volume Fraction ~0.2 and Run. You'll get a classic cantilever in seconds.
Created separate extension packages for each supported platform, reducing package size by shipping only the platform-specific wheels.
This extension requests the following permission:
Exchanges data with helper subprocesses during optimization