BlocksCAD looks like a cross between the Scratch programming language and SCAD.

You can use it “stand alone” to teach programming and math skills. Or combine it with a 3D printer to create complex items using simple programming commands.

BlocksCAD is free to use. It has an Education section detailing standards aligned lesson plans and additional utilities for classroom use.