Playground
Enter your sheet and part sizes. The form is filled with a small cabinet, so you can press Optimize right away. No account needed.
Press Optimize to see the cutting plan.
Run it with your own key
This is the same request against POST /v1/optimize. That endpoint queues a job and returns 202 with a job_id. Poll GET /v1/jobs/{id} until the status is completed to read the result. Set SAWVANT_API_KEY first. Get a free API key.
curl -X POST https://api.sawvant.com/v1/optimize \
-H "X-API-Key: $SAWVANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sheets": [
{"id": "sheet-2800x2070", "length": 2800, "width": 2070, "quantity": 0, "grain": "length"}
],
"parts": [
{"id": "Side", "length": 720, "width": 560, "quantity": 2, "grain": "length"},
{"id": "Bottom", "length": 564, "width": 540, "quantity": 1, "grain": "none"},
{"id": "Shelf", "length": 564, "width": 540, "quantity": 2, "grain": "none"},
{"id": "Door", "length": 716, "width": 396, "quantity": 4, "grain": "length"},
{"id": "Back", "length": 716, "width": 596, "quantity": 1, "grain": "none"},
{"id": "Drawer-front", "length": 564, "width": 140, "quantity": 4, "grain": "length"}
],
"machine": {"blade_thickness": 4, "max_levels": 3, "cut_direction": "default"}
}'