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