A (non-exhaustive) list of hobbyist-accessible engineering CAD programs I can recommend:
- Fusion 360 (Windows/Mac) (free for hobbyists) can do complex many-component robots or simple geometric shapes and has facilities for rendering and simulation. I'll concur with all the other recommendations I see here.
- OpenSCAD (Windows/Mac/Linux) (GPL) is text-based, which is nifty but really limiting. Good for generating triangulated files of complex-but-formulaic objects (e.g., gears/screws), but is ~10x slower to use than Fusion for most anything else. Would definitely not attempt to use to design an assembly of multiple parts.
- SolidWorks (Windows) ($$) is industry-standard. IMO, slightly better (smoother/faster/more robust) for modelling medium-to-large things than Fusion 360.
- OnShape (clound-based) ($$ but IIRC has hard-to-find public/free tier) is notable for working in a web browser (good for Linux users). Seems to have a bunch of plugins, but actual CAD capability is run-of-the-mill. [EDIT: also has a functional CAD-on-phone app. Like, wow.]
- FreeCAD (Windows/Mac/Linux) (GPL) is the open source Fusion/SolidWorks equivalent option. Needs a lot of work (e.g., good part assembly capabilities) and I find it rather clunky. I wouldn't learn CAD here, but I do really want a community-developed Linux desktop CAD program.
I'll add that Onshape has FeatureScript[0], a programming language for creating custom CAD functionality... similar to OpenSCAD where there's a separation between the definition (functions, features, and code) and the geometry (the result of executing that definition).
Unlike OpenSCAD, it's built off of an interactive BREP modeler with a real kernel so it's as easy to use as a regular CAD system for those who don't want to code. Actually the interactive portions of Onshape are a nice example of how to get WYSIWYG elements into a non-WYSIWYG application.
I 100% agree with your assessment, but I would definitely add SolveSpace. It's an open source parametric modeller but unlike FreeCAD it is actually usable. Not as fully featured as Solidworks etc. but it has all the basic stuff working quite nicely.
Somewhat unconventional interface but it works ok. If you must use open source it is definitely the one to use. As I recall it only has basic assembly support though.
as someone who is just starting to look into free/open sourc CAD tools, what about FreeCAD makes it unusable? I've just done a few of their tutorial/walk throughs recently and can't really tell what was unusable vs. me being new to the entire CAD modelling process.
I can't remember to be honest. It's been a while. At a guess I think it would just be really unusable - everything being needlessly clunky or impossible to discover. Case in point - you followed tutorials. With something like Solidworks I think most people could work out how to do a lot just by experimentation in the program.
I would definitely recommend using either SolveSpace or Fusion 360 (free for hobbyists) if you want to learn CAD (or pirate Solidworks if you can be bothered). After that you could try to use something like freecad and won't get confused by it.
Same for electronics. Don't try and learn from Kicad or Eagle. They have ridiculously awful interfaces. I would recommend Designspark PCB or pirating Altium.
DraftSight[1] is good tool for CAD and it is very similar to AutoCad. I am using it frequently. But it is free for only 2D drawing, it is the biggest limitation.
To chime in here real quick I don't have much experience with openCASCADE as an editor but it has a fairly decent API for creating and manipulating CAD files. It's LGPL and runs on Win/Mac/Linux so its got that going for it as well.
Between Fusion and OnShape, these days I pretty much use the latter exclusively, just because it works on Linux and is good enough. However, a few weeks ago I tried to find the free tier for a friend and just could not find it. I think they removed it altogether.
- Fusion 360 (Windows/Mac) (free for hobbyists) can do complex many-component robots or simple geometric shapes and has facilities for rendering and simulation. I'll concur with all the other recommendations I see here.
- OpenSCAD (Windows/Mac/Linux) (GPL) is text-based, which is nifty but really limiting. Good for generating triangulated files of complex-but-formulaic objects (e.g., gears/screws), but is ~10x slower to use than Fusion for most anything else. Would definitely not attempt to use to design an assembly of multiple parts.
- SolidWorks (Windows) ($$) is industry-standard. IMO, slightly better (smoother/faster/more robust) for modelling medium-to-large things than Fusion 360.
- OnShape (clound-based) ($$ but IIRC has hard-to-find public/free tier) is notable for working in a web browser (good for Linux users). Seems to have a bunch of plugins, but actual CAD capability is run-of-the-mill. [EDIT: also has a functional CAD-on-phone app. Like, wow.]
- FreeCAD (Windows/Mac/Linux) (GPL) is the open source Fusion/SolidWorks equivalent option. Needs a lot of work (e.g., good part assembly capabilities) and I find it rather clunky. I wouldn't learn CAD here, but I do really want a community-developed Linux desktop CAD program.