DEV Community

Cover image for I built a parametric CAD alone, here's where AI actually helps and where it doesn't
Denis Kazachenkov
Denis Kazachenkov

Posted on

I built a parametric CAD alone, here's where AI actually helps and where it doesn't

I was tired of the lack of a lightweight, simple, free CAD on Linux. In practice there's really only FreeCAD, and it's far from trivial to learn. On top of that, I'm not a fan of paid or freemium cloud CAD tools. I don't want to depend on a subscription and someone else's server just to access my own drawings.

It actually started as a different problem. I wanted a simple CAM program for generating toolpaths. Then I decided to add quick STEP file editing. Eventually that grew into a full parametric CAD, and the CAM module I originally started with fell behind and is now being rewritten.

One more thing worth being upfront about: I'm not a Rust specialist. I'm more of a generalist coder, I've written in a bunch of languages over the years, including for embedded systems and microcontrollers, long before any AI coding assistants existed. So I understand how code should be organized and how to read it, even if Rust specifically isn't my native language. I'm also well aware the project has some rough practices in it, and I refactor them as I get the chance.

For the actual application code, the GUI, workflow, integration, the sketch solver, working with the parameter tree, Claude Code has turned out to be a genuinely useful tool, and I credit it as a co-author on GitHub.

Geometry and math are where I decided not to take that risk. Boolean operations, fillets, STEP export precision, that's where a mistake isn't a UI bug, it's an inaccurate part that later gets milled or printed. I didn't write that (let alone generate it) myself. The geometry kernel is OpenCASCADE, the same one FreeCAD runs on, with decades of real-world engineering use behind it. For linear algebra I use nalgebra, and for the 2D polylines in the sketcher (line segments mixed with constant-radius arcs) I use cavalier_contours, a library built specifically for that kind of geometry. Proven, off-the-shelf building blocks instead of writing it from scratch with an AI looking over my shoulder.

GitHub: QymIs-Tech/QymCAD

Top comments (0)