Readit News logoReadit News
Posted by u/ActorNightly 2 years ago
Ask HN: How does modern FreeCAD compare with Solidworks?
Its been a while since I have touched Freecad, and would like to go open source for my Cad projects, but the last time I used it it was severely lacking in features compared to Solidworks.

The main thing Im looking for is parametric modeling. The use case is basically sketches with constraints -> parts -> assembly with constraints -> drawings that show driven dimentions.

I have the time to learn it, but I don't want to be writing custom python scripts to do the above.

slabity · 2 years ago
FreeCAD has improved immensely over the past 2-3 years in terms of stability and features. A decade ago it was not uncommon for me to experience crashes from it randomly losing its GLX context or the constraint solver segfaulting for some reason. Now it's rare for it to crash at all for me, though I still run into a lot of constraint solver errors that are a pain to deal with.

However, despite the recent improvements, I still cannot recommend it for new users compared to commercial solutions for the sole reason of the Topological Naming Issues: https://wiki.freecad.org/Topological_naming_problem

This issue has been probably the #1 problem I've had with FreeCAD since I started using it. And though I've learned how to design parts to get around the problem in most situations, it's a huge hurdle for newcomers to understand and get around. Luckily there's a fork that fixes a significant number of the issues: https://github.com/realthunder/FreeCAD_assembly3 and https://github.com/realthunder/FreeCAD

I've also heard of Ondsel, which is supposedly a much more user friendly version of FreeCAD that also includes some fixes to the issue: https://ondsel.com/

EDIT: Here's actually a better read of the topological naming issue, what's being done about it, and why it's difficult to fix: https://ondsel.com/blog/freecad-topological-naming/

tadfisher · 2 years ago
Fix was merged into mainline FreeCAD yesterday: https://github.com/FreeCAD/FreeCAD/issues/8432#issuecomment-...
slabity · 2 years ago
Wow, that's some convenient timing. That makes pretty much the sole reason I wouldn't recommend FreeCAD irrelevant.
brcmthrowaway · 2 years ago
How to try it?

Or wait till v1?

thebeardisred · 2 years ago
And here's a video of the proposed fix for the toponaming problem (which has been merged upstream) - https://www.youtube.com/watch?v=kvRpOzig6D4
brcmthrowaway · 2 years ago
This should be frontpage news
mitthrowaway2 · 2 years ago
Topological naming problem is fixed in RealThunder's Link Branch of FreeCAD:

https://github.com/realthunder/FreeCAD/releases

I highly recommend Link Branch, it's full of all sorts of usability improvements.

The fix is still being worked on for the next mainstream FreeCAD release.

mlhpdx · 2 years ago
Naming and matching is never done. That said, you’ve got me curious enough to go have a look. Thanks!
ecjhdnc2025 · 2 years ago
As mentioned elsewhere earlier [0] essentially all of Ondsel’s user-friendliness is actually core 0.22 (development release) FreeCAD and different addon choices (like the tab bar).

Which is not to say that Ondsel 2024.2 is a bad way to experience those things, or that the Ondsel Lens (cloud collaboration suite) is not interesting, because it surely is.

It’s just to say it is only much more user-friendly if you’re not already using the 0.22 dev releases (that are considered to be generally as stable as 0.21 and are in wide use)

(I upvoted you for the rest: I too am waiting for the TNP mitigations before I recommend it to less technically-focussed people)

[0] https://news.ycombinator.com/item?id=40430893

jackyinger · 2 years ago
FWIW I’ve encountered topological naming problems with OnShape. Edit: And they don’t stop me from enjoying using it.

Deleted Comment

rcarmo · 2 years ago
The UX is still horrible, though. SolveSpace manages to be a lot more usable with an utterly minimalist interface.
rurban · 2 years ago
Esp. the constraint solver is much better in SolveSpace. Even better than Solidworks
mitthrowaway2 · 2 years ago
I used to use SolidWorks. Now I use FreeCAD as a complete replacement.

Two tips:

(1) use RealThunder's Link Branch (https://github.com/realthunder/FreeCAD/releases). This fixes one of FreeCAD's fundamental problems.

(2) use the "Part Design" workbench. That's the one that is built around the SolidWorks workflow: sketches with constraints -> parts, etc. There are other workbenches for other workflows; you might need to hop over to them sometimes but you'll want Part Design for the most part.

FreeCAD still hasn't settled on "one correct way" to do assemblies of parts. There are various plugins that each offer their own take on how to do it. You'll have to pick the one that you like most.

You don't need to use Python. You can use spreadsheets, equation-driven dimensions, and so on, just like SolidWorks. You can make dimensioned drawings using the TechDraw workbench, which gets better all the time. (Also useful for making DXFs to export to a waterjet or laser cutter).

The documentation is sparse, so youtube demonstrations are the clearest way to learn. I like JokoEngineering's channel.

zihotki · 2 years ago
2 cents: many core changes from Link Branch are coming to v1 of Freecad thanks to Ondsel (a commercialized version of Freecad)

Also UX of Ondsel is much better and close to the Link Branch version by Real Thunder.

It's important to mention that Freecad doesn't support master sketches at the moment. So you'll need to create many smaller sketches based on geometry or parameters to make a complex part

mitthrowaway2 · 2 years ago
(Not sure if by "master sketch" you mean an assembly sketch, or if you instead mean what SolidWorks calls 3D sketch).

At least in Link branch, my workflow is to name the first part in my document "Layout", and fill it with master assembly sketches, drawing cross-sections of an entire assembled product. Then I create subsequent parts which all import and reference the geometry in those sketches, and never reference other parts. This lets me do a top-down assembly-driven design, which is very fast and easy to modify later on, and freely delete and replace parts without breaking references. FreeCAD supports this workflow via shape binders, and Link Branch speeds it up greatly by automatically creating shape binders as needed.

Great to hear that mainstream FreeCAD will soon support those improvements, but I'll keep pointing people to Link Branch until those improvements actually get released.

eternityforest · 2 years ago
The Link branch has so many small changes that aren't mentioned anywhere else.

It looks like mult solid bodies have been merged to main, but I'm not sure yet about the ability to do patterns on arbitrary objects, like other patterns.

If that makes it to mainline, I'll probably switch right away.

ecjhdnc2025 · 2 years ago
It doesn’t have a formal master sketch tool but there are workflows for master sketches that work well by importing geometry into feature sketches. Mango Jelly Solutions has one on youtube.
SOLAR_FIELDS · 2 years ago
FreeCAD is good for simple stuff. When I had to switch is when I was doing anything intermediate. The following are examples of operations that are totally trivial in Fusion360 that are nearly impossible to achieve in FreeCAD without either rebuilding large portion of the model or some other destructive operation, or gave incorrect results, or was difficult to work with the end result:

- adding a chamfer (such as when you need to add a 1 degree slope in an injection mold

- more complex spatial Boolean operations

- simple operations for manipulating entire models by pushing or pulling subsets of them

My use case was designing simple parts for injection molding (rudimentary electronics enclosure for outdoor use). Not in any way what someone would consider pushing the limits of what modeling software can do.

Overall, I cannot unfortunately recommend the software to others at this time unless you are 100% sure that it will satisfy your use cases. Or else you will end up in the same situation as me, someone who wasted hours and hours learning this tool and wanting it to be the tool I could use, only to find out it’s just straight up insufficient for my use case.

Fwirt · 2 years ago
I've been using it to do some basic 3D printed designs, and it has all of the features you mention. I haven't had to write any Python so far.

The main issues with FreeCAD are those common to most open-source software applications like GIMP. You can accomplish almost anything that you can with professional software, but the UI is obtuse, at times buggy, and the process is going to involve way more steps, plugins, and hidden menus.

I use it because it's one of the few CAD packages that runs on MacOS and has a viable free tier. Most other CAD free tiers are crippled or have bizarre licensing agreements.

If you decide to give it a shot, I highly recommend using realthunder's branch, which massively improves the topological naming problem issue that the main branch struggles with. It also includes the plugin that adds the "assembly with constraints" feature. https://github.com/realthunder/FreeCAD

This YouTube channel has some great FreeCAD tutorialss. FreeCAD operates very much under a TIMTWOTDI philsophy. https://www.youtube.com/@MangoJellySolutions

mushufasa · 2 years ago
As someone who develops professional software in a private company, we absolutely 1) built a lot of features fast based on user requests, which created a clunky UI. Now, we're 2) doing a redesign which, while not a total code refactor, requires discipline and cohesion to reflect deeply on what use-cases we want to support specifically, as opposed to trying to be everything to everyone. We're incentivized to do this because we can grow revenue by building well crafted software for the most popular use-cases. We just expect that this is a "circle of life" for well crafted software, of 1) building features fast, then 2) polishing the best features leveraging professional ui/ux designers and product insights: to re-simplify once you reach a certain level of complexity.

I now think of most open source projects as just as good as closed-source at 1) building the functionality and MVP UI/UX, but that there is more friction to communication overhead to do 2), as well as less incentives (smaller carrot, smaller stick). To decide on specific priorities, bring in a designer (who might be non-technical) that can fully understand the context, and then potentially change or move around a bunch of code, is not something that "just happens organically by people scratching their own itch"

I think projects that are high profile like blender have done better here over time, often when there are well resourced and governed foundations or companies backing them. Or occasionally an OSS author will do this. Though I think that's the exception rather than the rule, and certainly requires a larger breadth of skills that extend beyond pure technical ability.

riidom · 2 years ago
Whoever else doesn't know: TIMTOWTDI = "there's more than one way to do it"
dpifke · 2 years ago
As a long-time Solidworks user (mostly for hobby projects) who switched to FreeCAD again recently, I highly recommend watching the tutorial videos from "MangoJelly Solutions" on YouTube: https://www.youtube.com/playlist?list=PLWuyJLVUNtc0UszswD0oD...

In my experience, a lot of what I used to think were limitations of FreeCAD turned out to be me just not knowing the FreeCAD way of doing things. More importantly, that FreeCAD almost always has more than one way of doing things, so if something seems too hard, you need to go digging for an alternative workflow.

The videos start kinda slow for folks who already know how to do parametric modeling, but it helps to put yourself in a beginners' mindset and pretend you're learning CAD for the first time. I found them a lot more useful than the documentation.

I should note that FreeCAD as of 0.21 is a lot more stable than previous versions. The last time I tried to switch (2-3 years back), I gave up and just paid for my annual SolidWorks renewal after the third time I lost several hours' work due to a crash. With the latest version, I don't think it's crashed on me once.

Where I still miss SolidWorks is when doing complicated assemblies, but I'm still getting to know the various assembly workbenches to figure out which one works best for me. For basic part modeling, I think I'm coming around to actually preferring FreeCAD now. (It's also a huge plus not having to reboot my Linux desktop into Windows, although I'm still keeping the Windows partition around for gaming.)

contingencies · 2 years ago
FreeCAD suffers from a serious case of open source disease.

In theory it can do a lot. In practice its interface is 'unique', its cognitive model is a dog's breakfast, its CAM offering is weak, its command line automation is brittle and poorly documented, and you are going to spend more time solving problems for the code than for yourself.

I have directly managed teams of CAD people for most of the last decade. Mostly they use Solidworks, which has its own problems (exceptionally broken namespacing, poor performance especially for cables/fasteners, horrific RCS/VCS offering, ridiculous electronics offering, weak command line support, etc.). Personally, I often use OpenSCAD for simple models. I virtually never use FreeCAD, with few exceptions.

IMHO: (1) Blender is better modeler than FreeCAD in many cases, especially with some modern extensions such as https://www.cadsketcher.com/ https://blenderbim.org/ https://github.com/kevancress/MeasureIt_ARCH (2) It is far more useful to learn Blender than to learn FreeCAD, since that will allow you to achieve animation, parametric models, point clouds, geospatial modeling, etc. where FreeCAD is basically functionally limited to working with solids and the output of conventional artifacts such as STEP files and drawings. (3) Drawings themselves are becoming largely outdated as the leading edge of industry seeks to move from "CAD->drawing->CAM-based production" to "CAD->CAM-based production" to finally rid itself of human errors of interpretation. This is of course a long term goal, and will never wholly succeed, but the migration has begun and the writing is on the wall.

nelsonic · 2 years ago
@ActorNightly for the use case you describe FreeCAD will serve you well. I recently spent 200h learning and using FreeCAD for an architectural project and once over the learning curve it’s great! Devs are super responsive on forum & GitHub. Definitely not as “mature” as Solidworks but easily “good enough” for 95% of use. If you get stuck, post on the forum and you’ll get help usually within a couple of hours.
londons_explore · 2 years ago
I've used both FreeCad and solidworks for hobby stuff.

Solidworks will take you perhaps only one quarter of the time to produce parts of similar complexity.

In both you can get quicker with experience. Both have far more features than you need, yet are missing the ability to make some shapes you can imagine yet cannot find a way to model.

Use Freecad if you care about opensource software. Use solidworks if you just want an STL file without hassle.

rabf · 2 years ago
Speedrunning in CAD is a thing and some competitors do use Freecad!

https://www.tootalltoby.com/Leaderboard/