"""Regenerate Academy practice parts in mm. Requires CadQuery 2.8; not required to print."""
from pathlib import Path
import cadquery as cq
ROOT=Path(__file__).resolve().parent
parts={
 'first-print-tile-mm':cq.Workplane('XY').box(30,20,3,centered=(True,True,False)),
 'clearance-coupon-mm':cq.Workplane('XY').box(60,20,4,centered=(True,True,False)),
}
for x,d in zip([-24,-12,0,12,24],[3.0,3.2,3.4,3.6,4.0]):
 cutter=cq.Workplane('XY').center(x,0).circle(d/2).extrude(4)
 parts['clearance-coupon-mm']=parts['clearance-coupon-mm'].cut(cutter)
for name,part in parts.items():
 assert part.val().isValid()
 cq.exporters.export(part,str(ROOT/(name+'.step')))
 cq.exporters.export(part,str(ROOT/(name+'.stl')),tolerance=.01,angularTolerance=.1)
 print(name,round(part.val().Volume(),3),'mm^3')
