PARAMETRIC CAD
Constraints & Valid Ranges: A Part Family
Real build123d on the OpenCascade kernel (Pyodide + OCP.wasm), rendered in 3D. Define result as a build123d Part/Solid. The autograder reads result.bounding_box().size and result.volume and compares both to the family datasheet: the bounding box must be 80x50x10 mm (tol 0.1) and the volume must match a 10 mm plate with a single O12 through-bore (38869 mm3). The kernel will build any block you ask for - out-of-envelope is your job to catch, not the kernel's.
You read
the arrays and values already in scope
You change
the code you write in each cell
Fixed
the dataset and the checks that grade you