Within the world of CAD there are the well-known and more niche big commercial players and there are projects like FreeCAD that seek to bring a OSS solution to the CAD world. As with other OSS projects like the GIMP, these OSS takes on commercial software do not always follow established user interactions (UX), which is where Ondsel sought to bridge the gap by giving commercial CAD users a more accessible FreeCAD experience. This effort is now however at an end, with a blog post by Ondsel core team member [Brad Collette] providing the details.
The idea of commercializing OSS is by no means novel, as this is what Red Hat and many others have done for decades now. In our article on FOSS development bounties we touched upon the different funding models for FOSS projects, with the Linux kernel enjoying strong commercial support. The trick is of course to attract such commercial support and associated funding, which is where the development on the UI/UX and feature set of the core FreeCAD code base was key. Unfortunately the business case was not strong enough to attract such commercial partners and Ondsel has been shutdown.
As also discussed on the FreeCAD forum, the Ondsel codebase will likely be at least partially merged into the FreeCAD code, ending for now the prospect of FreeCAD playing in the big leagues with the likes of AutoCAD.
Thanks to [Brian Harrington] for the tip.
Been using the 1.0 release of FreeCAD for a bit now. It seems significantly more functional and much closer to commercial offerings.
I am confident moving forward I likely will be happy just using freecad. It was “usable” before 1.0…but now it seems “competitive”. Still a lot of functions for me to explore.
Where is there a 1.0 release of FreeCAD? Did you mean Ondsel?
Never mind, I see there are prereleases on the FreeCAD downloads page. Only obvious if you’re looking for them.
FreeCAD’s UI/UX paradigm comes from CATIA, which was superseded by more modern and better models in the 90’s. CATIA is generally loathed among those who still have to use it because of industry inertia, because it’s obtuse and difficult, making it inefficient in use.
It also does some of the logical hierarchy of the model wrong or at least completely differently from everyone else (part vs. body vs. assembly), which together with the separate workbenches paradigm leads to confusion and the need to learn the program as a collection of “discrete recipes” where you don’t exactly understand what you’re doing but you have memorized exactly how to do it.
Those are, I believe, the major reasons why it is so difficult to learn. Learning one thing doesn’t give you the stepping stool to do something else, because the route by which you get there may be entirely different and you can easily run into dead ends if you attempt it without a tutorial, and you can’t really “understand” the program because it’s internally confused.
Adding on a prettier user interface doesn’t really fix it.
This is also one of the big problems plaguing OSS in general: because the software is built over decades like the medieval chapels, by different architects and workers adding on to the same building one stone at a time, any foundational errors never get addressed because doing so would mean tearing the whole thing down. Even when “completed” it still retains the mistakes and bad choices from 20+ years ago.
You have just described much of ERP systems
The only systems at work more fragile than Solidworks. Every single one of them is the worst.
This same problem exists in Non-OSS software. Take Windows for example, their kernel leak a few years back (2017ish) there was code from 1984. Think about windows currently, they still allow drivers to run at the kernel level.
Exactly! If anything this is a bigger problem in closed source software. As the only thing a commercial software you have to pay for (likely on subscription now) is going to do is pretty wallpaper over the mess and bodge fix the worst issues. FOSS on the other hand when a real problem develops it is very likely to be fixed properly -as everyone involved can see every layer and nobody is just doing whatever the cheapest crappiest fix for short term profit as demanded by the management is.
This isn’t a problem. This is one of the great successes of Windows overall. Linux took a different road to success by being able to be torn down to super basic parts that still run, and can run on very simple devices with greatly reduced functionality.
Windows still remains the goto for most people and many businesses because for the most part it just works. You can plug in something, hardware or software from decades ago and more often than not, (not always) the functionality is still there. This takes away some bit of friction to upgrading when you know that most of what you know will continue to be valid. While this has a legacy performance cost one can rip out a lot of that just by not plugging in something old, and tearing out old subsystems while the whole remains the same to the casual user.
It’s a problem, but not for the same reasons. They have the resources to change it if they wanted to – they don’t want to.
In the sense that if the medieval chapel collapses down, people will take another 20 years to rebuild it, while still using the old ruins to hold masses and services even while it has no roof. The point is that the program is constructed so slowly that the people involved simply learn to live with the bad choices made along the way.
With commercial software, you can afford to develop and iterate the next version on the side while still using the old, so the new version doesn’t have to be a live-in worksite and you can break functionality until it’s time to switch over. For OSS that would be duplication of effort and wasting the precious little developers who are all working on the old version, and nobody does that voluntarily.
Performance.
https://youtu.be/Gf-dwrwVcMs
You must be lost, this describes ALL software over a certain scale, and happens immediately in enterprise. What do you think happens when management kills off a development team, or redirects resources? You get layers and layers of technical debt. Ask around, chances are every internal system you have used have been like this. And commercial software just hides it under a skin that peels of in places, or did you think they actually re factored every few years? (They don’t)
It doesn’t describe all software beyond a certain scale, as there is no such certain scale. It just depends on the amount of developing effort you can throw at the problem at any one time, which for OSS is limited because it has to evolve by small efforts from volunteers in the lack of massive investments by commercial interests.
It’s also one of the basic problems of “socialism”: when you spread the assets of society equally among the people, far and wide, no individual becomes rich enough to control projects larger than what is relevant to their own immediate needs. You stagnate the society. That’s why the society then needs a “dictator” to direct the common resources towards greater goals. With FOSS however, this dictator is immediately rejected and the developers scatter to make their own forks that serve their own immediate needs without coordinated effort.
FreeCAD is different but has a perfectly predictable and solid logical foundation once you actually learn how FreeCAD is supposed to work. Learn to use the tool you are trying to use, rather than expecting it to be the same as something else – Like working in base12 or RPN to ‘conventional’ base10 algebra the rules are somewhat different, but logical. You only get into real trouble if refuse to learn the rules of the system you are using.
Oh, like a “part” actually being an assembly in function, while being able to contain multiple parts itself, while there are multiple different objects that are created differently while serving the point of parts but are not called that?
That’s not not been my experience with FreeCAD, but even if it were true, it’s not an excuse.
In a world full of calculators which all work in base 10, full of users accustomed to base 10 calculators, insisting on developing a base 12 calculator is simply perverse.
Users just want to get on with it, not learn a whole new way of doing math. Lecturing them that they’re wrong to feel that way — and that “actually base 12 is perfectly logically consistent too” — is entirely missing the point.
It’s not this complicate at all. It is poor use of terminology, and the UX harkens from 20 years ago.
Don’t misunderstand, confusing terminology can kill the ability to use an interface, but both of these problems can be resolved.
20 years ago Blender was in the same spot, using one of the oldest 3D design interfaces despite being quite flexible. This has been resolved, it is now by far the easiest 3D suite to get into, while most of the industry is coasting on inertia after Autodesk night most of the top companies.
Yes, I think we agree. In fact, Blender’s UI/UX harmonization is one of the things I had in mind.
For example, one of the “big” changes made for the Blender 2.8 release (which IMO was where things really started to turn around) was finally dropping Blender’s idiosyncratic right-click selection mode, and defaulting to a standard left-click paradigm. That was a significant pain point for new users, and its removal — together with a bunch of similar improvements and fixes for nagging bugs and problems — helped Blender enter a virtuous cycle of attracting users, developers, and investment.
But if I’m reading Foldi-One correctly, it sounds like they’d say that’s exactly the sort of UI harmonization that just isn’t that important. After all, something like right-click selection might be different from how literally every other piece of software works, but it was consistent inside Blender, so it shouldn’t have been an issue, right?
Well, no. It was absolutely an issue. It turns out that even if the idiosyncratic UI is consistent (and in both Blender and FreeCAD’s case, that’s a very big “if”), arbitrarily bucking industry-standard paradigms accomplishes little except to make things harder on users. Which makes them a lot less likely to want to use your software.
Not just the industry, but everything GUI related. All the way back to when mouse input was invented, left click was select and right click was “menu” or “option” etc.
FreeCAD documentation:
“The Std Part is a grouping object intended to create assemblies; it is not used for modelling, just to arrange different objects in space. ” – so a part in FreeCAD is an assembly.
But a part is not an assembly. A part properly defined is a single contiguous solid with no disconnected bits and bobs floating about. Bodies and primitives in FreeCAD are proper parts, but they’re not called that. Then there’s three or four separate workbenches to create actual assemblies with kinematic relations and constraints, and these workbenches are not mutually compatible.
Basically, if it splits in two, it’s not a part. It’s many parts, and many parts are not a part.
The confusion stems from having two workbenches, Part and PartDesign, that do different styles of modeling where one can create objects that are not solids and the other does only solids.
The “Part” object can contain both. In this way, it’s more of a generic geometry container that might be useful in something like game design or 3D illustrations, but for CAD/CAM it’s not useful and naming it “Part” is highly confusing.
To add to Dude’s note about separate Part and Part Design workbenches, when I got started I attempted to use tools from one workbench on a part started in another, and was very confused about why it didn’t work. Particularly since some other benches do work together, and Freecad’s documentation makes no attempt to explain whether you should use Part or Part Design.
Part Workbench starts from a bunch of geometries that have no hierarchical relation and joins them in boolean operations, while PartDesign starts from a single base solid and adds feature operations in a linear fashion, always referring to the previously defined geometry to maintain a single piece.
These do not translate because they’re completely different modeling paradigms. You can only add PartDesign Bodies into Part Workbench as simple solids without the internal hierarchy, or vice versa, use the Part object as a single solid in the PartDesign workbench without the underlying geometries that define it. Going back and forth between the two will break the model, if the program even allows that without throwing errors. You may be able to start in one and continue in the other, but even that is inviting trouble.
It’s like, Part Workbench and PartDesign workbench are two completely different CAD programs that don’t talk the same language – they just happen to be mashed together side by side in the same user interface and use the same object data formats.
Wow a perfect analogy of what it’s like using FreeCAD. It’s like doing normal work but using the base 12 number system for everything. For some reason. And you’ll be mocked as stupid or not serious or unprofessional if you don’t like it.
I’m a CAD pro for decades. I’ve forced myself to learn FreeCAD. It has to be the number 1 unnecessarily obtuse piece of software I’ve ever had the displeasure of working with.
That being said, some aspects are brilliant, I love them. I wish I was enough of a programmer that I could contribute to something like this, but my specialty lies elsewhere.
All CAD software is “difficult” to learn, as in you really need a good tutor/material to teach you. It’s not a type of software you just open and faff around until you figure it out yourself.
I learned Fusion 360 first, and it was a lot of work watching tutorials and following along to memorize the knowledge.
FreeCAD suffered greatly in the past due to the lack of good tutor materials. Then MangoJelly came along with his beginner’s tutorial on youtube and it was a game changer. I’ve completely ditched Fusion 360 a long time ago (I also hated having to reboot into windows only to do CAD). I didn’t find FreeCAD any harder to learn than Fusion 360.
Eh, I taught myself Inventor in a month back in 2012 by sitting down for 90min each weekday with my book and a computer. I later took a class for Solidworks, but it was a freebie because Inventor is basically the same thing (IIRC, haven’t used it in about a decade now). Now, I’m not saying I used it elegantly, but I was using it well enough to force the shapes in my head onto the computer screen. I knew a kid who did much the same a few years earlier in high school, and I suspect most robotics club kids are CAD-competent in much the same way they are python- or arduino- competent.
I really don’t think CAD is difficult for a motivated individual to learn.
“Difficult” is of course a relative term. Learning curve might be a tad better word.
It took you 30+ hours and a book to learn to use. I’m guessing I spend about the same time on Fusion 360.
Some software is so intuitive that you can just figure it out as you go. That’s easy.
I’d say 30+ hours and a book is “difficult”, relatively speaking.
That’s certainly not my experience.
Fusion360 was the first CAD I used. I was doing productive work within a half hour of installing it. Maybe it’s just a good fit for my internal mental model, but I think the UX is also genuinely better, with a sane default layout and modern levels of discoverability.
Sure, I loathe the company and their business model, but at least for hobbyist-level CAD, there is a reason it’s so popular. From what little I’ve used it, Onshape is also pretty straightforward (and it’s pretty easy to go back and forth).
By contrast, FreeCAD really is just very obtuse. It’s not just that it works a little differently from other CAD, or has a few quirks. It’s that, as the OP said, it’s quirks all the way down. And the quirks aren’t even consistent. There’s no unified mental model between different modules, let alone one that approximates other modern CAD software.
I saw a forum post somewhere where Catia is described as software designed by a committee of crab people. If that’s what FreeCAD is attempting to clone, I think they nailed it.
I really want to like FreeCAD, and I think there’s a lot of power buried in there, but that approach really needs to change for the project to move forward. It’s not good enough to just shrug and say, “All CAD is hard, and it’s not so bad once you put in 500 hours or so learning all the workarounds for its oddities.”
I’m grateful to the folks at Ondsel for pushing that process along. Unfortunately, there still seems to be an air of latent hostility to good UX in the community. For example, I was looking at the FreeCAD bug tracker the other day, and there’s an issue where a user reports a problem with a sketch that blows up when they do a certain thing.
To the project’s credit, a developer (I think) does take a look at their file, and identifies the reason the sketch blows up is that there’s an arc element with 360 degrees in it somewhere. So far, so good.
However, they then conclude that this is “user error” (!).
And that’s just wrong. I mean, I’d be prepared to believe that there’s no technical solution to this. I’m not an expert at constraint solvers, and maybe a “degenerate” arc like that is a real problem for the solver, and not something easily fixed by, say, silently treating the arc as a circle.
But that doesn’t mean that now it makes sense to devolve all the responsibility up to the user to understand this particular in-the-weeds limitation, and what’s more, expect them to “pre-solve” sketches using their intuition to avoid arcs like that in the first place.
No, assuming there’s no mathematical way to cope with arcs like that, then this is straightforwardly a defect in the solver UX. It needs to flag and prevent this condition at the point where the problem occurs: As soon as a new constraint or element causes the sketch to create a degeneracy, it needs to detect that for the user, stop, show a warning (as specific as possible) and give the user a chance to correct things before backing themselves (and the solver) further into an unrecoverable corner.
Comes from the good old ancient days when developers were writing software for themselves and considered the lay public “regular users” as no more than trainable monkeys. The attitude for software usability was that you’re just supposed to learn the right way to use it, since adding “safeguards” and constraints was just getting in the way of the experts’ work.
For example, it’s so much easier and efficient to write an input function that does no sanity checks on the input. When the user then inputs something that crashes the computer, it’s the user’s fault for not understanding what they’re doing and inputting only what they’re supposed to. If you don’t know which end of the knife to grab, you shouldn’t be handling a knife.
This is the attitude you still develop to some extent when you’re writing software for yourself rather than getting paid to write software for others.
In this case possibly also an unfortunate intersection with the heritage of commercial software like Catia, which is something like, “the good old days of writing technical software for a captive audience of specialists….who can be treated like trainable monkeys”.
The upshot being pretty much the same, of course: an unnecessarily prickly and hostile piece software, whose long-term users and developers are by definition too thoroughly scarred to even really notice the pain anymore.
It was a program written by specialists for other specialists in the same company, for one specific purpose: to make the Mirage fighter jet. So it’s basically like FOSS community projects that give very little thought to other people who might also use it for other purposes. It just assumes the user knows what they’re on about. When it went commercial in the proper sense under a subsidiary company developing the software for sale, it retained all the idiosyncrazies that these original developers had formed.
It’s very powerful in creating complex surface designs, but you really have to know how to use it.
There are two different learning styles and learners. Those who learn the “gist” or function of an operation – what is being done – and those who learn the rote of an operation – how it is done. If you are a rote learner, then FreeCAD is no different from Fusion 360 because you’re relying on the same method of learning on both.
If you are the functional type of learner – usually it’s people who don’t have a good memory for exact details, but can “connect the dots” easily and think in the big picture – it’s a whole different game. When they are forced to use software like FreeCAD, they can go through the tutorials and then forget the steps the next day, and do it over and over and still struggle after weeks and months because the “big picture” of what they’re doing is not obvious in how the program or its internal hierarchy is structured.
Another version is task oriented vs. goal oriented people. Say you decide to go to the store. One person has a general idea of where the store is and simply sets off driving in that general direction, following the street signs along the way. The other person pulls out the map and makes note of each turn they have to make, then executes those turns with the final result of getting to the store.
The task oriented person is doing more work for the same point, but they have no trouble finding their way even if the street signs are missing or the roads go around in confusing loops, because they’re focusing on the task rather than the goal.
The goal oriented person can dynamically change their plans and go to a different store on the “west side of the city” by simply making opportunistic predictions along the way, but they’re helpless if the streets aren’t co-operating with them.
Both are served by good road infrastructure better than bad road infrastructure. The task oriented person just doesn’t see the difference because they’re expecting to do things the hard way in both cases. In the case of CAD/CAM software: start by reading the tutorial first.
Compare: assembling flat pack furniture. Do you read the leaflet first and arrange all your nuts and bolts, or do you just pick one and put it in the hole it fits?
What are the CAD softwares with better UX?
Similar experience here. They improved the stability a lot and also included some quality of life features (like the ability to constraint a point in the middle of a line without having to manually make two construction lines, then make them equal).
I was finally able to get a personal project done in FreeCAD that was stuck in development hell. I’m rooting for FreeCAD, I think the future is bright
Lots of little UI things. Making turning off the visibility of an object a one click thing (eye/crossed eye), being able to enter in a line length while drawing it via numpad..similar to fusion.
Quite a few other things that I was “dealing with” but hated about freecad before 1.0.
I’m excited for the topological naming problem mitigations and a default assembly workbench. I’ve given up on FreeCAD every time I’ve tried it (once every year or two for almost a decade), but hopefully this will be the time!
Could you post a link to the FreeCAD 1.0 download? I wold like to give it a try. The website still lists 0.21 as the latest version.
Check GitHub. The weekly builds are also very useable.
https://www.freecad.org/downloads.php
Just scroll down a bit. Just below the “regular” version, there are links to 1.0 RC2, weekly builds and other stuff.
For me, the realthunder fork is fully usable, but 1.0 is missing a few important things that save lots of time, like the ability to stack transforms, and pads/pockets with tolerance. I’m still looking forward to everything finally getting unified though, and they’re making great progress.
Do you use those tolerances features for tuned 3D prints or what? Typically, fits are called out in a drawing, as standard machining tolerances aren’t likely to get you the fit you’d like, regardless of the solid model’s nominal dimensions.
It’d be useful to define the fits in the model itself, so they can be auto-generated when you place the dimension marker in the drawing, just like when you’re making round holes.
Definitely a nice to have. Creo’s good about that, but with SolidWorks this only works for hole call outs. I wouldn’t consider the lack of this a meaningful drawback compared to industry offerings. But that’s just, like, my opinion, man.
I did not quite understand Ondsel. I’m no software expert, but my best guess is that FreeCAD is not ready yet for commercialization. There are too many things not clear or muddy. I’ve tried a few of the “weekly builds”, and after each update I have to move the toolbars again, which was too much of a nuisance, and for me also enough to not install the release candidates.
I have been using FreeCAD on a hobby level for 10 years or so, and at first it was a curious program, but not very useful. In those 10 years I’ve learned my way in some parts of FreeCAD, and I can make some nice drawings with it, but it’s still a struggle for me. A few years ago I tried working a bit with some of the assembly workbenches, but those were not stable enough yet. I’m also still struggling to conquer each new workbench. Duplicated functions, functions that do not work reliably in some combinations, and then wondering whether it’s a bug, or if I’m using the wrong functions. Sometimes it’s also not clear to me whether whole workbenches are “stable” or “experimental”. I think I use less then 10% of FreeCAD because I get confused by that other 90%.
But overall, FreeCAD is making a steady progress. A few years ago their attitude to request for how to donate money was “Uh, we don’t really know what to do with donations”, and in the last few years this attitude has changed and now there are several ways to donate.
I am a strong proponent for Open Source software. I’ve donated more to Open Source then I’ve paid for commercial software (Even Windoze licences included, Last time I paid for that was for Windows 98).
For what I read on forums of other people are attempting to use FreeCAD, it’s often a struggle, and it’s by far not as “polished” as the “big commercial names” on the market. FreeCAD has (most of?) the functionality, but it needs many more mouse clicks, and more complicated workflows. Attempting to commercialize from that start point would be very difficult.
To me FreeCAD still feels as a mishmash of separate blocks hacked together. I hope that chances once I’ve been using V1 for a while. But at the (still slow) pace I see FreeCAD evolving, I guess it would be another 5 or so years before FreeCAD starts to be competitive with “commercial software”.
Your complains are about user experience and user interface. The article mentions that ondsel changed the UX/UI.
Yea they changed it.. but it was still pretty obviously FreeCad. Nicer FreeCad, but still FreeCad. Slightly beyond lipstick on a pig.
I think that’s the code of the problem. FreeCAD isn’t a application, it’s a mashup for various modules that sort of work together, but generally are messy. I haven’t tried the 1.0 version yet. But every other version I tried before was a major disappointment. Part design sort of works, but anything beyond a simple part wasn’t really workable.
It’s a shame, as companies are paying 20k to solidworks for an annual license (for just the basic things). If they would spend some of that money on improving FreeCAD it might finally start to become something…
I’ve been using Freecad for about a year, and the weird UX is about half the problem. The other half is model breaking bugs. I have one model that I had to reconstruct from an STL export because the file stopped rendering when I adjusted a feature – and changing it back didn’t make it work again.
Usually it’s just something like stretching a part by a millimeter forces me to redo the constraints on all the sketches downstream of the change. It’s bad enough that if I was paying a drafter’s salary, an Inventor or Solidworks license would pay for itself in time savings.
I’m not trying to give unrequested advice here: I’m just saying what’s worked for me. Once I got used to how spreadsheet-based constraints worked in freecad and started designing with them as a basis, it made modeling a lot easier for me because that seemed to be more robust to propagating changes through a model.
Is there a good write up on that somewhere?
I don’t have nearly as many problems with broken constraints in any other parametric 3d modeling program I’ve used. Freecad’s developers need to ask how they can make their code work as smoothly.
There are a lot of other bugs I often run into; broken constraints are only the most common.
FWIW, something like this has been my experience too.
It doesn’t even require a full part — a single sketch can break. In my testing of 1.0 RCs, it seems like it’s all too easy to make a partially constrained sketch, interactively move some of the unconstrained geometry around, and then have it all suddenly blow up and become “over-constrained” somehow. Moving things back to where they were doesn’t necessarily fix it. It’s all very frustrating, inconsistent, and to my understanding, absolutely not how a geometric sketch solver should work.
Many of FreeCAD’s issues are “just” UI/UX, but there are clearly some fundamentals that need work as well.
(And the biggest obstacle to that might not be the code, but the generally “Stockholm-syndromed” user and developer base. So many people are just, “well, yes, you’re not going to be able to drive this car if you expect the steering wheel to actually steer, what you need to do instead is sort of wiggle the parking brake just so…”
It reminds me of the bad-old days in Blender, where reporting a problem regarding, e.g., boolean operations would all to often elicit responses to the effect of “real men don’t model with booleans”, rather than just reckoning with the fact that Blender’s boolean engine internals were, objectively, pretty crap. Blender didn’t really start maturing until it managed to overcome those kinds of attitude.)
Have you been using 0.22 or 0.21? 0.22 (now 1.0) had significant mitigations added for this kind of thing. This kind of breakage is part of the Topological Naming Problem that has been more or less mitigated in other CAD packages and now FreeCAD
I hope that FreeCAD hits its Blender Foundation point and starts to become good very quickly and eventually become arguably better than commercial tools.
Me too. This is my hope long term for FreeCAD. Ondsel’s work has been substantial in pushing it along and I think some day it’ll get there. For me, It’s my goto CAD for mechanical stuff.
Agreed. These things take time.
It’s interesting to see how many people (who think themselves of someone who’s supporting foss and against monopolies) would shut down projects in their 0.2 versions because they’re not up to their standards.
We wouldnt have a lot of great software if they got their way.
The “Ondsel” UI is available via a theme and preference pack in Addon manager. (It was actually developed during the 1.0 dev cycle and Ondsel chose to use it.) The theme and pack have a couple minor differences.
Ondsel was based on the 1.0 dev code, so things like the integrated assembly workbench have been there since it was introduced. Ondsel funded the work that added the TNP mitigation to the code base for 1.0. Lens, the collaboration bit that Ondsel added, was proprietary. Where that goes is up in the air, AFAIK ATM.
The article makes it seem like Brad Collette was just Ondsel. He was, in fact involved with FreeCAD long before he used his Ondsel company it start this attempt at commercialization. He was the original developer of the CAM workbench and remains a member of the FPA (FreeCAD Project Association).
Ondsel took venture capitol investment to launch this attempt, that in itself can have plenty of business landmines.
Thanks, that’s good to know. I started using Ondsel a little while ago and liked a lot of the tweaks they’d made. Unfortunatley I was another hobyist so not much help to them as a business. I wish the team there the best of luck for the future and hope they can find a way to spin ‘Lens’ off in a meaningful way that works for them financially. It would be great to have a thingiverse/printables type market for FreeCAD models, and could potentially help boost user numbers.
If such a marketlace would appear, what would be the absolute killer feature for you that you can’t find elsewhere?
That’s a tough one, it’s not so much a killer feature that I feel is missing out there, it’s the lack of a true community repository. There’s plenty of good resources for learning FreeCAD or getting help, but no real dedicated site to gather around and find or share what’s been made (unless I’ve completley missed something).
I’m aware that there’s the FreeCAD-library out there, but it’s not well publicised, hard to search on the internet and somewhat unwieldy. Installing requires a huge download and contributing is also barrier to entry as it requires at least some working knowledge of git and has no options regarding which license you might wish to use.
GrabCad.com is another possibility, but it’s a mish-mash of different CAD formats and by Murphy’s law the model I need is invariably in the wrong one. It certainly doesn’t promote the idea of using FreeCAD as opposed to another CAD package, if anything it pushes the undecided towards Fusion as that’s where the majority of models lay. Similarly the STL model sites occasionally have .FCStd files uploaded but there’s no guarantee and searching for them is difficult.
A dedicated FreeCAD models website would show off it’s capability as well as the talent of users in a way that would be easier to find and more approachable for newcomers.
I believe I’m blessed for having FreeCAD as the very first CAD I worked with.
There are some hard working around to many problems while designing, but once you get used to it, it works like charm.
I even produce my CAMs right out of it, I really don’t get why people complain so much about FreeCAD, but I guess that’s because they do know better and easier options… Again, I feel blessed to use it (now professionally) to create all my 3D models.
I feel the same way about learning to do woodworking with just hand tools.
Now, I could pick up a hatchet and a knife and make a table or a chair if I wanted to, but sill I would prefer to have a table saw and a planer, and a router…
Beautiful analogy. Now imagine someone who builds custom wood homes for a living (using appropriate power tools), being introduced to the equivalent of a hatchet and knife, and the knife community blaming him for not being good enough with the knife if he rejects that work flow. It’s just not a serious software project.
FreeCAD feels like it’s written by programmers who’ve never earned a dollar using CAD, and have a spiteful aversion to catering to the needs of people who do make a living designing things.
That’s exactly how I feel about GIMP as well. It gets so many things almost right but then trips on its own shoelaces at the last inch, and the users and developers seem completely oblivious to what’s wrong with it. Otherwise they would have fixed it eons ago.
Like, “Having a context-insensitive menu where every menu item in the program is just three or four hierarchy levels down in the tree, bound to your right mouse button by default, is a perfectly sensible thing to have. Everything you need is right there handy dandy – why would you need anything else?” – um, how about options relevant to the tool you’re using right now, in the context of the window you’re operating in? Why do you have this redundancy here, when you could be actually helping the user like everyone else does?
It’s a shame Ondsel didn’t work out. I do feel that they could have done a lot better building trust with the FreeCAD community.
Commercial entity showing up in an open source project is always sus.
They had a long term agenda they weren’t willing to share. They got the foundation set up and had it register the FreeCAD trademark. Some of the foundation members were anonymous so no one knew who they were working for.
I’m assuming they acted in their best interest and came to the conclusion that keeping this secret was better than having it public. That speaks volumes.
Rant over. Onsel did awesome things too. I’m sad to see them go.
I’m sorry if I sound like a jerk, but literally none of the above is true.
Ondsel did not have a long-term agenda they weren’t willing to share. The agenda was “We think collaboration is inherent to the CAD industry, let’s build on that. We don’t know everything about what we are going to do, we’ll figure it out as we go”. It was a very open agenda.
Ondsel did not set up any foundations and did not register the FreeCAD trademark. The FreeCAD Project Association was created a month before Ondsel was incorporated. None of the FPA founding members are anonymous. Brad has been the Path/CAM workbench maintainer for many years, Yorik has been one of the founding members of FreeCAD and has a private architecture practice, Chris Hennes is a maintainer and works in a library, and WandererFan is TechDraw maintainer and is retired. Everybody in the community knows who they are.
Pretty sure most of the devs for Ondsel (and the main guy) were already FreeCAD devs so trust shouldn’t have been an issue
FreeCAD is still a long way from being ready for commercial use, unfortunately.
For example, DXF export of drawings is badly broken. The output is typically unusable. Since DXF is the standard for technical drawings and almost every manufacturer will want them from you, it’s a rather significant issue.
Most manufacturers I’ve worked with happily take a PDF and an .STP. Occasionally I’ll have to send a DXF off (mostly for sheet metal), but SW’s DXF export isn’t a paragon of stability or ease-of-use, either.
DXF is typically because some of the older laser/plasma cutting or water jet cutters have proprietary front ends that only accept that format (mind which version!) and some obscure vendor specific format as input, so to save time and your money the fab house demands the file as DXF.
In my use case, every .dxf that I gave my son to laser cut, worked like a charm. I guess it depends on the use case.
Ondsel team member here. I’m slightly puzzled by the end of the post: “As also discussed on the FreeCAD forum, the Ondsel codebase will likely be at least partially merged into the FreeCAD code…”. So I’ll just clarify and be on my way :)
Between May 2024 (when we released Ondsel ES 2024.2) and now, ~150 pull requests with new features, improvements, and fixes by the Ondsel team have been submitted and merged upstream. The only two things you won’t find in upstream FreeCAD are 1) reloadable STEP files (PR pending) and 2) simulations in the Assembly workbench (PR submitted for review, scheduled after 1.0 is out). So pretty much everything is already in 1.0rc3. We mentioned all that in the goodbye blog post.
In fact, while contracts at Ondsel are still ongoing, we are still sending PRs with fixes. Since the shutdown announcement, Pierre has submitted 10 new PRs (mostly for Assembly and Sketcher), 7 of them have been merged.
As for the “ending for now the prospect of FreeCAD playing in the big leagues with the likes of AutoCAD”, I don’t think that was ever the sentiment here. It makes very little sense approaching large corporations where entire complex workflows are built around particular software. What does make sense is having business with smaller teams that are trying new ideas and aren’t married to specific software. We know some of them already use FreeCAD. So it’s still possible to make a business around FreeCAD, the first attempt failed, there are some other attempts with narrower focus and less upstream involvement.
Thanks for the work you and your teammates did to improve Freecad over the years. As a casual user of Freecad, I’ve been very interested in its progress. I hope it continues to grow and improve.
I think FreeCAD has never been stronger than today. The community is self-organizing into managing groups (design working group, cad advisory group), the FPA has been issuing grants for development (and I expect the v1.0 release to bring in more donations than usual), UX/UI issues are being tackled. Things are heading in the right direction.
Yes that ending sentence doesn’t make logical sense. I was looking in comments to see if anyone clarified it. Seems like a vestige of LLM writing there, a bunch of related words that don’t actually say something useful.
Interesting comments. I want to thank the Onsel folks for trying. I learned 2D drafting in High School. We also used slide rules in those days. So I’m old. I used Versacad (long gone) and then AutoCAD off and on over the years for 2D drawings. Had an opportunity to try Solidworks and SolidEdge but did not have enough time to learn them. Now days I’m experimenting with 3D printing and discovered FreeCAD several years ago. Struggled to come to grips with how to work in 3D and did not do much with it for a while. Partially because of it’s ‘uniqueness’ and my 2D thought processes. Recently I tried Onsel which was similar but different from FreeCAD. The differences were enough that I went back to FreeCAD to experiment with. I had a model that crashed no matter what I tried. Something in my computer was/is corrupted because a fresh download of 0.21 would not install using either install method. Three months ago I tried the weekly build and things started to function. Now I watch the weekly build closely and every time a new one is posted it gets installed. Success (mostly). It does not cause issues nearly as much but still throws errors. For instance too many fillets or chamfers and the model goes transparent or refuses the command. As for the difficulty of learning, I have found the YouTube videos helpful and as mentioned in an earlier post those by MangoJelly have been most helpful for me. It’s like learning a new language. In conclusion, the commercial 3D design programs have a more polished product but for someone who just wants to experiment the yearly license is a deterrent to their use and that is where FreeCAD has a following. I encourage the FreeCAD developers to continue their efforts.
Cool, someone else here remember Versacad!
I suspect the “too many fillets and the model goes transparent” is really a case of Freecad not being able to solve the fillet, but not having the decency to tell you what edge it can’t fillet in understandable terms.
Fillets are handled by the OCCT 3D kernel that FreeCAD uses. OCCT is owned by OpenCACADE. They have known about the issue for years. FreeCAD has little of no sway over their work. Unfortunately, OCCT is also the most capable 3D modeling engine available for free.
Versacad, Genicad, and a few more most don’t know ever existed… ;)
I’m far from familiar with CAD, but I want to be. I’ve designed hundreds of things in Tinker”CAD” but I sometimes want to be able to do more. I had decided to learn FreeCAD. It’s very confusing though. So I found a FreeCAD 0.20-0.21 tutorial but to my surprise, things looked different from my installed version. Options used in the tutorial (0.20 version) were not in the same place as in the version on my computer (0.21 version). For someone new to CAD with zero previous knowledge, this is an issue. I ended up installing a virtual machine just to be able to use the older version of FreeCAD without manually messing with dependency issues on my own machine. I eventually gave up because of constraints. It’s too much of an annoyance to work with constraints, or at least how FreeCAD does it, don’t know how other software does it. If I have time I’m going to try Onshape. Maybe I can get past the tutorial with that. I prefer to use FOSS when I can, but I don’t think that FreeCAD is the software for me.
If you sticked around, you’d see even more changes between 0.21 and 1.0 and likely even more between 1.0 and further revisions. FreeCAD’s UX is not great, changes will have to happen. It will confuse a bunch of people but ultimately it will be to a larger community’s benefit.
Yeah, FreeCAD’s UX has always been clunky, even for someone familiar with a variety of CAD systems (SW, Catia, Creo, Inventor, OnShape). I’d bet that the 1.0 release will get a lot of guides made, and those will be easily searchable.
I’ve found OnShape to be fairly usable, but its constraint system also has annoyances for someone most used to SW. Definitely more easy to learn than FreeCAD in its pre-1.0 state, though (at least IMO). I will say that once you get into assemblies, OnShape is the only CAD system that is more aggravating than FreeCAD (again IMO).
Using constraints, and with it, parametric drawing of sketches, is one of the most wonderful features of FreeCAD. Concepts are pretty simple, but learning how to use them effectively is not so easy. Especially if you come from a background of a “non-parametric” CAD program, it will take quite some adjustment. However, once you get past that it becomes very nice. You can fist “just draw something”, then add some measurements to finalize your thing. And later, if it turns out it does not fit or you need to change it, It’s often just typing some other numbers in a few of the measurements. The wonderfulness of parametric drawing is a big chunk of the reason of accepting to put up with the idiosyncrasies of FreeCAD. With this parametric drawing, I recoup a lot of the time that gets “lost” in dealing with the more cumbersome UI of FreeCAD. FreeCAD being FOSS is another part.
Unfortunately, if you come to Freecad from another parametric CAD modeler, and try things other CAD programs allow, Freecad will be absolutely maddening. It tends to “helpfully” apply extra constraints and complain the sketch is over-constrained, botches tangent constraints, and breaks the whole model if you need to go back and change a dimension you set a few features back. Parametric design can be done without all the idiosyncracies that Freecad suffers from.
Not to mention that other parametric modelers typically give you easy options to relax some specific or all constraints, or remove particular ones, and then automatically re-constrain the result once you’re done at the click of a button.
If you want to make mostly parts and can cope with not having filleting and chamfering tools SolveSpace is really quite a smooth experience. A joy to use but with a little less depth, pretty much the inverse of FreeCAD.
https://solvespace.com/
I am involved in computer graphics and cad since I was at MIT in 1973. The progress in the field is great. Unfortunately commercial projects have betrayed their loyal customers. They use the same commercial model as drug pushers, offering the product almost free in the biggining and gradually increase the cost and finally offering it as anual rent only. You can’t access your own data. When Autocad was introduced it didn’t have the capability of drawing two parallel lines. It gradually added features demanded by its users. The biggest obstacle to the success of open source software is the reluctance of the users that it tries to serve, to invest time in learning and support. They forget that they have spent years learning the alternative commercial software.
No body will try to till you about open source alternatives, because they don’t profit from that. We succeeded to use open source programs, by dedicating one of us to be the trainer. Then all of a sudden the whole team accepted the program. You need to form a local community that supports its members in learning.
Most PDM systems I’ve used have been simple on-prem databases, with the exception being Dassault 3DX, and while that wasn’t a simple database I think it was still hosted on-prem… While I believe you that CAD system developers are pushing for cloud, I think it’s a really long ways from significant industry adoption.
That said, just the licensing fees are unbelievably extortionistic.
Interesting take, but not really true overall. Commercial software succeeds because they offer big grandiose solutions for a fee that seems reasonable at the start. Customers get into it dreaming of making their own big thing then run into not being able to make parallel lines or some similar issue. But they still have that big example to work towards that they saw in the brochure. By that time they already have a sunk cost (fallacy or no it still guides people’s thoughts) and assurances from the company that they will eventually be able to make those straight lines and infinitely more! ..just give them a little more money.
FOSS struggles because everyone sees that parallel lines problem and tells you endlessly that 300 FOSS solutions exist on github and that linux has been doing that for decades. They’ll get you straight lines on a PDP 11, straight lines on a C64, straight lines input from your toaster! You can have straight colored lines, straight dashed lines, straight lines with military grade encryption. You just have to take 5-10 years researching some obscure guys website archives to learn any one of these.
How about getting some dream project done with it? Sure just hire a team of experts that know 1000 independent FOSS projects and pay these experts to coordinate. By which time you’ve vastly exceeded the cost of the commercial software. ..and somehow someone may eventually get you the ability to make that dream project IF the standards committee decides thats a valid direction for ‘the community’ to go.
What?
That’s no excuse for not having them now when the competition already does. That’s just a reason not to use your software.
This is why I hope rather than completely shuttering they try for something closer to what the Blender foundation has done, … But I don’t see the energy there for it, the release sounds like anything you’d get from a failed venture when they check out.
FreeCAD 1.0 actually has a big fat list of major improvements. The way the community manages the project has improved a lot. The energy is there alright :)
Reluctance of the user to learn FreeCAD is the biggest problem? Seriously? CAD professionals as a group are one of the most aggressively dedicated life-long learner type people in the world, and you dare accuse them of not being interested in learning?
What godlike beings are you comparing CAD professionals to that CAD professionals just can’t intellectually measure up to?
FreeCAD as it is now has severe problems and in most cases it’s utterly unfit for use in a professional environment for the variety of reasons already discussed by others here. (Kudos to those who can pay people to use FreeCAD and turn a profit doing so.)
I say that as someone who’s put a great deal of effort into learning it, and I still have a soft spot in my heart for FreeCAD and I wish I could help it get better.
FreeCad fulfills my hobby cad needs. I don’t do assemblies. Just a few small parts or panels for laser cutting or 3D printing. Not that difficult to use for that… But that is ‘my’ use case. Other people want to dive in and do complicated things which may be harder to do with FreeCad and chose a different Cad program. Nothing wrong with that.
Add me as another hobbyist user that has tried a few times to learn FreeCAD only to end up frustrated. I don’t live in the CAD world, I just like to make stuff. So it can be a bit tougher when it takes a bit longer to learn the unique and (at least to a hobbyist) not so obvious design steps. FreeCAD feels to me as more of a collection of widgets rather than a complete tool, where Fusion is more complete and thus more forthright and forgiving when I go off the rails. I may not know all the cool things Fusion can do, but it’s much more immediately clear how to at least use or maybe even misuse the fundamentals to get a working design.
Do you ever wonder if commercial products fail solely because of the name? I can think of plenty of garbage products with good names, but not many good products with garbage names. ¯_(ツ)_/¯
I have, more about company names though. Now days company names mean nothing. They use people and pet names and some meaningless string of letters and that say nothing what the company does.
I am so hopeful for what the momentum behind FreeCAD will bring. As a product designer that uses professional CAD tools routinely, I see glimmers of professional CAD “killers” in FreeCAD.
Trying to convince management to fork over huge sums of money for tools like Ansys, just so I can “try out some ideas” is a hard sell. I’m sure I’m not alone.
I needed to run some optical simulations and started looking for something I could use to quickly test some ideas. I came across Optical Workbench. I’ve tried FreeCAD before, just as a curiosity, but now I had a renewed motivation to really invest some time into it.
I too suffered from the disappearing model problems, but before that happened, I had a chance to do some prelim simulations. Super impressed with what I got before the apocalypse. I’ll come back to FreeCAD when I need to run another simulation – so in a sense, I’m now a permanent professional FreeCAD user. Simulation ability has lightened my heart when it comes to apocalyptic bugs.
If it’s not there already, I’m sure that someday FreeCAD will pull in other FOSS simulation tools for EM/Acoustics/Etc. I suggest prioritizing these efforts.
These types of things will bring a tsunami of pro users to FreeCAD, and will keep them there. More pro users, more feedback, potentially more of the types of devs you need, more user guides/blogs, etc.
P.S. I fully aim to thank FreeCAD someday by contributing somehow. I know this is super ambiguous, but FreeCAD really helped me out and I’d like to return the favor.
I use FreeCAD, and it has two main problems that can’t be fixed by muttering about “improved online experience” etc.
The first is that it is extremely difficult to work out how to get jobs done particularly if this involves multiple workbenches, notwithstanding the excellent work done by MangoJelly https://www.youtube.com/@MangoJellySolutions .
The second is that the easiest way to get many things done runs up hard against the topological naming problem, and that was brushed under the carpet for far too long.
In a commercial operation, somebody would have been able to dictate that “we /need/ a decent HOWTO (can we use ‘AI’ for this?) and we /need/ a topological naming fix: no work will be done on new subprojects until we have these or we’ll all be out of a job”.
TNP has been mitigated in 1.0. So, now it should be ok to do things the quick and dirty way most of the time.