KupCAD
A Ruby-inspired language for parametric CAD. Write a part as a script, set its parameters, and export it as STL, 3MF, glTF, STEP, SVG or DXF.
plate = cube(x: 40, y: 30, z: 4, round_r: 2)holes = [[5, 5], [35, 5], [5, 25], [35, 25]].map { |(x, y)| cylinder(d: 3.4, h: 10).translate(x, y, -1) }
plate.difference(holes)LanguageLiterals, operators, methods, blocks, classes, errors and modules.
GeometrySolids, sketches and paths, and every operation on them.
Standard libraryGlobal functions and the built-in classes.
Parameters and importsParameters, data, meshes, drawings, fonts and packages.
ToolingThe kupcad command, configuration, lint rules and the formatter.