I am having trouble finding problems hard enough to really push the AI and I thought, maybe something physical.
After describing the problem I wanted to see what it felt like for tooling. This was my prompt (edited because original was dictated and it is awful to read):
Before we get to the first milestone, I want to discuss what kind of CAD software would be amenable to your processes. Normally, when I do 3D modeling, I use OpenSCAD — that’s my favorite way to work. I haven’t used FreeCAD, but I know some people do, and if you know how to drive it, I’d be willing to make it available. If we’re going to be collaborating and I’ll be doing some work in it myself, I might need your assistance talking me through how it works. But that’s another option.
I think Onshape, being web-based, isn’t going to be very amenable to your processes, though I’d be open to it if there were some possibilities there. I’m not going to pay for it, so the design would have to be open source — which I think I’m okay with — but that would be my third choice. Paid programs like SolidWorks or Fusion are out of the question, since I won’t be paying for those.
I’d also be open to some kind of pure 3D model — say in Python or Three.js, or some other rendering — that would show the shapes and maybe model some of the weights and gearing. Whatever platform you think makes sense there, whether that’s Python or TypeScript with web rendering. That might actually be a more convenient space than CAD software for spitballing different concepts and talking through expectations — gears versus belts and other design decisions. So that might be something to experiment with early, especially since it would help us brainstorm multiple ideas and converge on one.
The response:
OpenSCAD is the best possible answer for me, and it’s not close. It’s plain text, so I read and write it natively, changes show up as meaningful git diffs, and I can render it headlessly from the command line to PNG or STL to visually check my own work without you in the loop. The fact that it’s also your daily driver makes this the rare case where zero compromise is needed. FreeCAD I can drive (it’s fully scriptable in Python), but its workflow is GUI-centric and collaboration through it would be clunkier — I’d keep it in reserve for things OpenSCAD is bad at, like STEP export or FEM, if we ever need them. And you’re right about OnShape: web-based means I effectively can’t touch it.
On the Python/three.js idea — yes, enthusiastically, but I’d frame it as something other than CAD. What you’re describing is the engineering model: link lengths, mass budget, counterweight sizing, joint torques, gear ratios, traverse times — with a 3D view attached. I’d build it as a TypeScript/three.js page with sliders (joint angles, link lengths, stub lengths, payload, gear ratios) and live-computed outputs (counterweight masses, torque at each joint vs. NEMA 17 capability, margin, traverse time). That’s the tool for converging on a concept. OpenSCAD then answers a different question — “what exactly do we cut” — once the numbers have settled. The two don’t compete.
So my proposed division: three.js concept model for the trade-study phase, OpenSCAD as the geometry source of truth after.
So now AI is generating OpenSCAD for me ![]()
I did not write any of this (but I did have to notice some mistakes and tell it to fix).






