FreeCAD has been p great OTOH, and has baked in support for OpenSCAD scripts, if you really need that.
If you are not allergic to the cloud or proprietary solutions, Onshape is a very good tool with it's own set of annoying things.
FreeCAD has been p great OTOH, and has baked in support for OpenSCAD scripts, if you really need that.
If you are not allergic to the cloud or proprietary solutions, Onshape is a very good tool with it's own set of annoying things.
OpenSCAD might not have all the bells and whistles you’d expect from a WYSIWYG editor, but at least it doesn’t fubar hours of your work. As usual, formats you can edit with a text editor are the most robust. It is definitely not an “objectively worse way to do parametric modeling”.
However, the PartDesign workbench is substantially more capable and more comparable to other CAD programs, and a substantial portion of the dev work on FreeCAD has been targeted at making it less fragile. You can also avoid most breakages in PartDesign by following best practices that can be found on YouTube or the FreeCAD wiki.
A continuing issue is constraint-related issues which you mentioned. I've never seen a file explode after save and load - if that happened, it's likely it was already broken before save and FreeCAD failed to inform you, which I have definitely seen. What I have seen is a similar problem where a sketch is valid, but there are one or more alternative valid configuration under the same constraints. Everything is fine and the file is usable as long until you try to adjust certain parameters driving a sketch and the sketch flips into a totally different configuration. Even after reverting to old parameters, the sketch will be now be stuck in this new configuration and everything built on it will be broke. This is usually avoidable, but it requires seriously thinking about how you're constraining your sketch to avoid this kind of fragility.
It's also important to know that you can combine workbenches. A solid created in the Part workbench can be imported into the PartDesign workbench as a base feature. A PartDesign solid can be used in Part boolean operations.
This is all to say that while FreeCAD definitely has a much steeper learning curve than OpenSCAD, it can generally do the same things as OpenSCAD without any Sketch/PartDesign-related fragility while having many additional capabilities available if you need them.
> Even after reverting to old parameters, the sketch will be now be stuck in this new configuration
I have definitely experienced that too. Constraint-based design is very powerful, when it works. But it doesn't always work. A boolean operation always has a result (at least in theory), but a set of constraints doesn't always have exactly one solution, or any solution at all. Which would be okay if the program could reliably tell when something is well-constrained, so that changing a parameter doesn't make it jump to a different solution - one that isn't even on the face I'm trying to make a hole into - which causes the hole and the faces created by the hole to cease existing - along with the sketch I drew on one of those faces that now doesn't exist and so neither does my sketch... It all collapses so easily. How to keep track of faces that jump in and out of existence as the parameters defining them change would probably be a good PhD thesis topic.
I feel like I perhaps needed to further emphasize the separation between Workbenches. FreeCAD workbenches can interoperate, to a degree, and the output from one can be used in another. Moving through Workbenches is a part of advanced FreeCAD use. However, they are separate and largely self-contained tools. Different Workbenches operate in different manners not just in regards to the interface but also in regards to their underlying function.
The Sketcher Workbench is where the constraints system is, and mainly exists to support the PartDesign Workbench. The Part Workbench is a decent CSG modeling system that works mostly like OpenSCAD or any other boolean operation based modeling system. It is not reliant on the Sketcher Workbench constraints system. You could use a Sketcher Workbench created Sketch to create a Part solid, but you can also use the output of the Draft Workbench (which could even be based on an imported SVG). It also has primitives, so you can model from primitives.
FreeCAD is intended to be modular. It has a ton of Workbenches and there are more available as addons. How things work in one Workbench is not how things work in other Workbenches, and shortcomings in one should not be projected onto others. If you find OpenSCAD useful, I seriously suggest giving FreeCAD's Part workbench a try. I found that the same sort of modeling I did in OpenSCAD was often easier in FreeCAD and it has fillets to boot. I now use the PartDesign workbench more than I do the Part workbench, but I have a nice cosplay prop I drew in Inkscape and then modeled in the Part Workbench after giving up on doing the same thing in OpenSCAD.
I also feel that it is a bit unfair to say you can't trust them. The PartDesign workbench is the most popular, most complex, and most fragile workbench, but I've never seen it take a step back - every stable update has improved its function and reliability. What's more, unlike many open source projects the 'new shiny' (in this case Part Design) has not been forced on people who are using other parts of the project. It's not intended to replace the rest of FreeCAD, but specifically aimed at people looking to model complex solids in a manner comparable to commercial CAD programs, even if the workflow is very different.
edit: The only universal problem in FreeCAD is the topological naming problem, and it almost never comes up outside of PartDesign because outside of PartDesign features are rarely reliant on referencing individual components of a shape by name. CSG modeling isn't really subject to the topological naming problem.
If you want to avoid the topological naming problem(something that can be avoided with a 10-20 minute youtube video on the topic), try RealThunder's fork.
as for your complaint about fillets, there are plenty of openSCAD libraries to assist in the task. using libraries within openscad is pretty routine.
if you're designing stuff like gears/propellers/bolts/nuts/threads/pins, a purely parametric solution is fantastic. That said, I would never tell someone to go try to design their paper-towel holder or dish-rack with it or prototype a robot with it.
As with much of design, picking the right tool for the job is a large portion of the battle.
Sorry but fillets and chamfers aren't features that should be complicated, they are basics.
And if using libraries is pretty routine, why does library management boil down to "just download some scripts and throw them into some directory". Even python does this better.
Openscad is a text/programming based cad, but it doesn't fully leverage the advantages that come with that. A proper package manager, good linting, etc. are all absent. It feels unfinished and outdated in many regards.
I want to like openscad and I have made a bunch of models with it. But all in all I can't bring myself to do so.
I do, "meant to" and "actually does" can be miles* apart.
> Also OpenSCAD sucks
Counterpoint: no it doesn't.