Parametric modelling is not the cause of the bad UI in FreeCAD, Fusion 360, Onshape, etc are also parametric. No, the main problems (last I tried it around 1.0) were that it had a clunky UI and that it was buggy. It would refuse to chamfer or bevel edges for no apparent reason that other CAD software wouldn't have issues with. There were occasionally crashes. Editing previous steps would destroy the later steps much more often than in other CAD software. Etc.

I would love to go back to FreeCAD, but for now I'm using Onshape (I run Linux, so Fusion isn't an option).

FreeCAD relies on OpenCascade kernel to actually deal with the models, and yes, there's still room for improvement..

As I understand it, there are no other open source alternatives around. On the commercial side there are some, perhaps the foremost being the venerable Parasolid, which is used by Onshape, Solid Edge, Solid Works, Siemens NX, Shapr 3d and others.

Creating a solid 3d kernel is hard. Parasolid is from 1986.

> It would refuse to chamfer or bevel edges for no apparent reason that other CAD software wouldn't have issues with.

I'm guessing you're trying to set a fillet which would completely consume one of the faces adjacent to the edge being filleted. In these cases I've found that a workaround is to make the fillet 0.001mm smaller than the size which would consume the entire face. You end up with a very very small amount of flat area but it's so small it doesn't show up during machining or 3d printing.

I experience this all the time and UX is absolutely one of culprits here. The workaround works, but UI doesn't nudge you to adjust the value, it just throws an opaque error. It's so obvious to me that even such a simple thing as saying "Try smaller radius" would make things more obvious, or even better - have a button in that error to "Set radius to largest valid". Saying that "but it's cause by OpenCascade" is a thought-stopping cop out. If there's a manual workaround trick, you can always integrate that into UI, but not doing so is a choice.

> but not doing so is a choice

The workaround mentioned isn't a magic solution, it fails in a bunch of more complex cases too. Chamfers are a complicated operation and predicting valid values across of the operation in order to set a maximum value is, as far as I'm aware, in a similar region of difficulty. It would also be unfeasible in many cases to attempt the actual operation across a wide range of values. It's not so much a choice as just being hard to do.

Usually the issue seemed to be with compound curves or where a filet tapers out as it meets up with a face going in another direction (such as a handle that sticks out).

> It would refuse to chamfer or bevel edges for no apparent reason that other CAD software wouldn't have issues with.

These are almost all caused because they use Open Cascade under the hood