>Every time I've used as a CAD GUI program I would get to this point where I would need to alter a single dimension by 0.25mm and realize that _all_ of my fastener holes, cutouts, etc have to be nudged with the keyboard or mouse to accommodate it.

What.

This makes no sense. This isn't PowerPoint; your holes and cutouts are supposed to be parameterized. How are they even supposed to be at the proper position in the first place?

As a CAD user, this is like e.g. a coder seeing someone write code with global variables everywhere.

I think I'm realizing that openscad was probably just the first time that parametric design options were given to me in a context where it made sense to me (in code). Maybe some of the software I've used has supported parametric positioning, but it wasn't made obvious to me. In OpenSCAD it's parametric by necessity. I said this in another comment, but the other programs I've worked with in GUI are most certainly not high end pieces of software: tinkercad, freecad, sketchup.

I'm not doing complex character model designs, I'm usually building functional prints like enclosures or cases. It certainly sounds like there are features of better CAD software that makes parametric the default?

FreeCAD is definitely parametric but I hear you that the interface doesn't make it obvious. It might be worth another look particularly since it's interoperable with OpenSCAD and can work on CSG trees within the interface

At least you've inspired me to try it and see if it's "worth writing home about"

https://wiki.freecad.org/OpenSCAD_Workbench

If you're doing enclosures, check out Dune3d! Has been featured here as well (it's how I found it). It's pretty easy to use and feels intuitive for prints you'll only have to make once or twice. It's missing some things here or there but nothing fundamental (except trimming edges i.m.o.)

I often switch between FreeCad and Dune3d now, Freecad for things I know how to design properly and Dune when I'm in 'claying' mode. E.g. export a .step part when I get stuck in FreeCad, import it into Dune, make some progress and vice versa so I don't walk away from the project

Oh, it is not that software like freecad is not parametric by necessity; it is just that in a parametric design process, you don't set all the parameters at once. Why? Because a) you don't overconstraint a design, and b) your parameters rely on references (a point, a line, the side of another object, a tangent), and you may want to change which reference you choose.

For example, if you put a hole in a box, do you want to reference the center of the sides of the hole? And do you want to place them relative to the left side or right side, and front or back? You never say "it's x mm from the left and y mm from the right and my box is w mm wide" - because the relationship x+y=w is always here! You only define 2 out of 3. But it may happen that you picked the wrong 2 - and a parametric CAD makes it very easy to do so in a few clicks, while a programmatic CAD like OpenSCAD is a large rewrite with calculation you have to do yourself on the side.

My example is silly but start doing big designs, large assemblies, and you "chains of cotations" may need to be redone again and again - especially when tolerances begin to add up.

I think I understand this — I mean, OpenSCAD was my brief gateway to parametric CAD, and then I got to FreeCAD via brief stepping stones of CadQuery and other packages.

But OpenSCAD isn't really parametric CAD. It's a programming language; it's parametric for that reason. But it's not really CAD, at another level, in the sense that it does nothing to "aid" your design work. It has no interim abstraction for generated geometry; everything must be explicitly described.

FreeCAD, though, is profoundly parametric, through and through, and really always has been. Indeed the parametric aspects are the main thing that made it workable before the TNP mitigations were added. It is not a limited CAD package, by any means. It's just a somewhat unfriendly one with a CAD kernel that has some limitations. Really it's almost better understood as a 3D IDE with some workflow affordances.

If you are stuck trying to get your head into how FreeCAD works, there are now three really good ways on Youtube: the Mango Jelly Solutions videos are incredible, the Shawn Hymnel/Digikey FreeCAD and 3D Printing course is good, and there are great recent videos by Deltahedra.

But what you will be able to make with it, once you get your head into it, is night and day different to what is possible with OpenSCAD. Because your parametric work in FreeCAD (or other CAD packages) can operate on the geometry of the result of previous operations.

Give it a try in the New Year with FreeCAD 1.1 when it is released.

If you want another stepping stone from OpenSCAD to FreeCAD or any other package, I really recommend you look at CadQuery/Build123D. This will give you a similar coding approach but it will introduce you to operations on the true faces, edges and vertexes of the output of other operations.

(FWIW I would not say that Sketchup is not high end, either. It's not to my tastes but it is quite powerful)

The one thing which I need to see in FreeCAD to be successful with it is an interface option which doesn't require a multi-button mouse, but which will work with a trackpad, or better still a tablet and stylus --- I spend 5 days a week essentially chained to a desk using a mouse (sometimes a Trackpoint) and evenings/weekends I prefer to sit somewhere more relaxing than a desk and to use a different sort of pointer.

Dune 3D seemed quite promising, but very limited --- is there a set of options for the UI in FreeCAD which will create a similar interface?

Check out the other mouse options. I learned FreeCAD 1.0 entirely on trackpad (Mac, no middle click).

Now, if the random crashing were fixed, that would make a real difference for me...

I use a mac trackpad too. In “Gesture” mode now.

That mode works OK on touchscreens, in the sense that any app with tiny buttons to click does. I have tried using a tablet with a pen but it is a heavily modal UI so it feels a little bit like old fashioned light pen territory, as much CAD does. Not like an iPad app; they need designing differently.

Quite a lot of progress on macOS FreeCAD crashes because they changed an exception handling strategy for exceptions outside the Qt loop, if I remember right. Some crashing in 1.1RC that is being fixed. In general it crashes a whole lot less than it did in 0.20, say. But if you can reproduce them, definitely report them.

I didn’t like Dune3D; its interface is clumsy even if the 3D constraints thing is interesting.

(Which is not to say that I am not pleased to see more open source CAD packages taking different approaches. Dune3D is interesting, Blobfish's Cadseer is very interesting to a coder I'd have thought, and SALOME has obvious value)

The one small tweak I would suggest for FreeCAD is to use the tab bar workbench selector rather than the dropdown version. It’s such a small change but it helps flow between things in a way that feels like the various functions are more closely integrated. That, combined with custom panels if you want them, makes it more fluid.

(I am not making any particular claims for FreeCAD's usability; I do though think it is much better and much more learnable than the average HN perspective of it, which seems to often come across more as TUI-exceptionalism or "but I don't wannnnnaaa learn a guuuuuuuiiii". GUI CAD isn't intrinsically some inferior, imprecise, unformalised thing.)

> OpenSCAD isn't really parametric CAD. It's a programming language; it's parametric for that reason. But it's not really CAD

Maybe this is pedantic, but why wouldn't OpenSCAD qualify as CAD exactly? It's still "Computer-Aided Design"? Sure, the UI/UX is different, but is there some qualifier to CAD around the UI/UX?.

It's me being picky about the meaning of the word "aided".

CAD is software to help people make complex things without having to do complex geometry/trig/general maths.

OpenSCAD doesn't really "aid" you much with this. It's a 2D/3D shape generator with boolean operations, but because it doesn't let you do constraint operations on 2D geometry, and it doesn't let you do further operations on the fundamental geometry (faces, edges, vertices) of the generated 3D solids either, it never liberates you from most of the difficult work.

I'm not even sure how much it aids you with "design": it doesn't support chamfers or fillets, it offers no tools for adding drafts or making truly uniform thicknesses. And it only generates meshes.

OpenSCAD is useful. I'm not saying it's not. But it is useful mostly for drawing strongly geometric or mathematically-derived solids and producing a mesh from it.

You would not believe how many CAD models are not parameterized. Not mine, but ones I’ve had to work with.