Plankulator

date
Aug 12, 2025
type
Project
year
2025
slug
plankulator
status
Published
tags
React
Website
Woodworking
summary
Generate a cut list from an OBJ
notion imagenotion image
PLANKULATOR loads an OBJ file, matches all the pieces to whatever source material you have set up, then generates an optimized cutting plan

Woodworking

My approach to woodworking is this:
  1. Build roughly whatever I want to build in Modo
  1. Research what raw materials I could use
  1. Rebuild it out of pieces that fit those dimensions
  1. Figure out how to fit all those pieces into the source material and make a cut list.
Me in Modo, planning some shelves for my daughter’s roomMe in Modo, planning some shelves for my daughter’s room
Me in Modo, planning some shelves for my daughter’s room
That last step was always a bit cumbersome. But no more! - Because I automated it!

Plankulator!

Now I can export the 3D model as an OBJ, import that into Plankulator and it will tell me exactly how everything needs to be cut.
For this to work, the OBJ needs to have all the pieces as separate objects. That’s pretty much it. You define the dimensions of your source material you want to use, then upload your OBJ.
The script looks at all the pieces, assigns colours (identical pieces get the same colour), figures out the best orientation for everything, and then gives you a list (and a 3D view where it colour-codes the pieces!):
notion imagenotion image
And it gives you a Cutting Plan that illustrates how much wood you need and exactly how to cut it:
notion imagenotion image
If you enter prices for the source materials, then it also calculates a cost.
Furthermore you can click on Print a Cutting Plan and it will give you nice sheets with checkboxes for you to track pieces while you cut.
notion imagenotion image

Tech

All of this runs locally, you’re not uploading your OBJ anywhere - it’s all handled by Javascript in your local browser.
It’s plain old React with three.js handling the 3D side of things.
 
 

Leave a comment