One of the things you get from studying CAD diagrams — like the Solidworks exercises everyone works through — is that real world parts often have surprisingly few dimensioned constraints. A lot more emerges from geometry.
So you can look at a diagram and initially think "where the heck does it define this radius!?" and find that it never needs to, because that radius emerges from tangency, parallelism, perpendicularity etc., combined with fewer measurement constraints.
Specifying it as a measurement would therefore be overconstraint; it might lead to solids that are difficult/impossible to manufacture or erroneous when another measurement is changed.
The diagram will specify the actual driving measurements that come from the part's purpose, with the intent to adapt to different real-world requirements.
Any CAD tool that works from images is going to have to approximate, which will create over-complex models with to many measurements that are more fragile with respect to changes, whereas a design that has geometrical constraints in place that are logical will be simpler and more adaptable.
With functional parts, roughly, form follows function first, and manufacturability second. But you have to understand why, to be able to make a good part. Even (perhaps especially) with 3D printing. But not uniquely. For example, would this tool be able to understand why the draft angles on a plastic part were important, what determines the bend radius of a part that was made from pressed metal, etc.?
I must stress that I am an amateur. But my amateur skills have come from reading and learning about CAD and learning what makes a viable design.
(Sorry… this was a stupidly long answer but I am hungry and I figured I should try to blurt it out before I have to get up from my desk and cook. I've edited it a lot and cut out a bit that I will probably put in another comment later)
And yes, telling it 'add draft angles to make this castable' works.
Then you are not actually getting a model with a constraint system at all. Which is the point of the thing I'm replying to.
CAD constraints are more powerful and flexible than OpenSCAD, and the power comes from analysis of what the part is actually for, not merely what it looks like.
You can't even compel OpenSCAD to keep a line and an arc tangent. If hull() can't do it, you're making it up yourself with maths.
You can use it for basic shapes and very simple geometry. But you can use Tinkercad for that too.
Should you use it for CAD generally: I think not. Because complexity balloons out of control. An AI is going to struggle as much as a human does with a complex part in OpenSCAD.
All the text-to-CAD packages are relying on it because there's lots of simple examples in the training set, and because it is declarative — there's a belief that there is a mapping from text to declarative spec and from declarative spec to an object.
But it is the wrong choice for flexible designs that adapt correctly when measurements are changed.
It's clear to me that "AI CAD" developers who think OpenSCAD is adequate to the task have a fundamental misapprehension of the capabilities of the technologies they are actually seeking to replace. OpenSCAD is not representative of the nature or capabilities of modern CAD.
I think that if you are trying to make an adaptable functional part you would be better to start from CAD drawings, with proper constraints on them, and that an AI CAD package should be interacting with those (there are some attempts to do just that).
It's just not that difficult in a modern CAD package, it's not arcane or obscure.
But if you're going to be using code-CAD, you want a programming package that can represent fundamental aspects properly. OpenSCAD cannot.
CadQuery, to be fair to the authors of this post, does now have an experimental 2D constraint solver:
https://cadquery.readthedocs.io/en/latest/sketch.html#constr...
And it has a proper bRep kernel, so it can represent vertexes, edges, arcs and faces in mathematically abstracted (not mesh approximated) forms, and do operations on those (including fillets, though it has its weaknesses there inherited from OpenCascade).
I think an AI that could operate properly on CadQuery models and implement appropriate sketch constraints with an awareness of their implications, choose the right operations, make use of libraries, etc., would be a lot more capable. But it's so much further down the line than people think based on these OpenSCAD toys that produce trivial parts.
I'm a Onshape person myself, and try to contsain every thing in a way you describe. Including variables to quickly change important parts of the drawing.
But I also 100% believe half my designs could be done with tinkercad. And this be useful for me.
Last thing I designed and printed was a vacuum hose adapter. Ai cad could have done that. Including variables with sliders for size in both ends.
If you think constraints are a goal in itself, I don't know what to tell you. Constraints are a tool to generate geometry. If I make a design in Fusion360 or FreeCAD using constraints, and create an STL in the end to print, why would that be any different from using OpenSCAD and having variables in there to represent functional measurements? (and yes I've designed parts with constraints.) What are constraints but a tool for the operator to (visually) represent relationships between measurements? Variables and constraints are just different ways to express my model's measurements and locations in function of a set of fundamental inputs.
Is CSG less 'powerful' than brep? Of course it is. AI can do brep as well. Do you need constraints and solvers to do CAD? Of course not. I mean I'm not going to argue with shifted goalposts on what 'real' CAD is here, I don't care about what other people think about this. What I see is that AI is perfectly capable of making quite intricate 3d models today, passing people who argue about whether what the AI does is 'real' CAD left and right. Just like it passes those programmers who spends their days arguing that AI code is somehow inherently worse left and right. I don't care, I get results regardless of those people. What I meant with my original comment is that the assertions that AI today doesn't understand 3d relationships from 2d images is plain wrong, it understands it well enough to not only make 3d models, but to make it in ways a lot more conceptual than 'assemble triangles with skin()' (in OpenSCAD terms, but I had it do that in raw Python in models 6 months ago, when frontier models didn't have these spatial capabilities).
And same for CAD. Who cares about intermediate representation? If an AI just generates results directly, I don't care if it uses CSG or brep or has a writer for dwg files and just does moveto() and lineto() on that. Your comment suggests you think AIs are for doing things the way humans do to get a certain result. I don't care, I just want the results. Of course there is provenance and versioning future proofing and all, I'm not claiming CAD or 3d design or video editing software will go away - at least not right away. But they will have to adapt to being shortcuts for the AI to use them more efficiently than reimplementing their algorithms, or wither away.