Examples
Examples
Try the starting example
- Sheet width (mm)
- 100
- Sheet height (mm)
- 80
- Panels JSON [ID,width mm,height mm], in processing order
- [["A",40,30],["B",40,30],["C",50,60]]
- Saw kerf (mm)
- 2
- Allow 90-degree rotation, 0=no grain rotation / 1=yes
- 0
- Sheet count
- 2
- Placement table [sheet,ID,x,y,width,height,rotation]
- [[1,"A",0,0,40,30,0],[1,"B",42,0,40,30,0],[2,"C",0,0,50,60,0]]
- Remaining free rectangles [sheet,x,y,width,height]
- [[1,0,32,40,48],[1,84,0,16,80],[1,42,32,40,48],[2,52,0,48,80],[2,0,62,50,18]]
Try another scenario
- Sheet width (mm)
- 100
- Sheet height (mm)
- 80
- Panels JSON [ID,width mm,height mm], in processing order
- [["A",40,30],["B",40,30],["C",50,60],["D",70,70]]
- Saw kerf (mm)
- 2
- Allow 90-degree rotation, 0=no grain rotation / 1=yes
- 0
- Sheet count
- 3
- Placement table [sheet,ID,x,y,width,height,rotation]
- [[1,"A",0,0,40,30,0],[1,"B",42,0,40,30,0],[2,"C",0,0,50,60,0],[3,"D",0,0,70,70,0]]
- Remaining free rectangles [sheet,x,y,width,height]
- [[1,0,32,40,48],[1,84,0,16,80],[1,42,32,40,48],[2,52,0,48,80],[2,0,62,50,18],[3,72,0,28,80],[3,0,72,70,8]]
Calculation method
Calculation method
Sheet count
Open a new sheet only when none of its free guillotine rectangles fit.
Placement table [sheet,ID,x,y,width,height,rotation]
Choose lowest sheet, y, x, orientation; split with full-height vertical cut then horizontal crosscut of left strip, reserving kerf only where waste remains.
Remaining free rectangles [sheet,x,y,width,height]
Keep right full-height and top left-strip offcuts after kerf.
Symbols and units
- a
- Sheet width (mm)
- b
- Sheet height (mm)
- c
- Panels JSON [ID,width mm,height mm], in processing order
- d
- Saw kerf (mm)
- e
- Allow 90-degree rotation, 0=no grain rotation / 1=yes
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Assumptions & limits
Assumptions & limits
- Ordered guillotine cutting heuristic with one binary grain-rotation policy. Rectangular sheets only; output is feasible, not minimum sheet count. Kerf can consume a narrow offcut; no kerf required at stock boundary. Supported limits: 1..100 unique panels, positive dimensions, 0<=kerf; rotation 0/1; each item must fit an empty sheet.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.