# Circle and rectangle packing # Scope: Axis-aligned rectangular grid packing; no rotation. # Status: illustrative worked example; engineering review pending. # Inputs are example values. Checks are editable example requirements, not standards. trayLength = 300 mm trayWidth = 200 mm itemLength = 40 mm itemWidth = 30 mm gap = 5 mm columns := floor((trayLength+gap)/(itemLength+gap)) rows := floor((trayWidth+gap)/(itemWidth+gap)) count := columns*rows check packing target: count >= 20 scenario alternative: trayLength = 240 mm