Unless you have solidworks through your job or school, FreeCAD on mac is the way to go.
Solidworks is great until you have to buy your own license. This costs MULTIPLE thousands of dollars. You cannot purchase a "hobby" version that actually gives you the desktop version. I used solidworks up until my company license got pulled. Additionally im not a student anymore so no luck there.
I used to use Fusion - but it was never as nice as solidworks. My student edition expired and now im out of that to.
Now I use FreeCAD on Mac. Takes time to adjust and I cannot model as quickly, but saving $$$$
I recommend Ondsel as well, which is free without restrictions (they have paid tiers that have cloud features, but those aren't necessary). They should include the FreeCAD 1.0 fixes in a few days. HUGE improvement to the FreeCAD GUI, and it saves in FreeCAD format so you're not stuck.
Most of his contributions to the topology fixes got merged back into freecad now, but his enhancements to UI/behavior aren't (yet), and they make a night and day compared to ondsel too.
I didn't find any significant limitation to RealThunder's assembly3.
In any case, while far from most commercial offerings, FreeCAD is progressing and the future looks bright. I've stopped using f360/onshape in the last years for my hobby designs. Once you know the specific limitations of freecad+occt (something you learn in each cad program) and how to work them around effectively, it's already pretty powerful.
It's also worth noting that they work with FreeCAD and make pushes to them too. So using either helps both. I've been very happy with the developers and they are very responsive on GitHub.
Just to start, I want to acknowledge that the problem space is tremendously complex; the FreeCAD developers have put in a lot of effort and it's amazing that a project like FreeCAD exists at all.
Not trying to disrespect the other FreeCAD developers, but it seems like things have improved remarkably since ondsel started taking a more active role.
The project seemed to exhibit a (common) impulse to prioritize extensibility too much. The "workbench" architecture and python API let you do some really neat stuff if you're willing to dig into the weeds. But, from the perspective of a community outsider (so take it with a grain of salt), the development process seemed to be a good example of Conway's Law in action. The workbenches let everyone have their own sub-projects to manage without stepping on each other's toes. This led to a lot of resulting complexities, inconsistencies, and instabilities, which made the approach a net negative (imo) in terms of tradeoffs.
With ondsel, there's been more focus on holistic improvements and getting the individual modules working together more smoothly, which I greatly appreciate.
Agreed with all of this. Although... the extensibility (while it is the stereotypical open source trap that leads to splintering of focus and complexity) is ALSO nice, although built on a shaky platform. Once the base GUI and functionality of Freecad is fixed up, the extensibility could potentially allow more flexibility than commercial CAD packages. Lots of potential there, if the platform is improved.
Why "on Mac"? Is it required? I'm interested in trying out anything that might help to break Autodesk's monopoly, but not at the expense of having to use a Mac.
When I tried out FreeCAD on Ubuntu a couple years ago, it was an extremely frustrating experience. I was following a tutorial for new users until I got to a part with a simple instruction that involved clicking a button on the toolbar. The only problem was, the button wasn't there, and the instruction was so simple that it didn't specifically say "click this button at this location", it was more like "do this thing". It was worded in a way that made me think "it must be obvious and simple, why can't I figure this out?" After way too much time spent digging through menus, trying to configure the UI and searching online for a solution, I installed the Windows version out of frustration. The button was right there, front and center. The Linux version I had installed was just straight up missing it.
FreeCAD has come a long way since then, although it still has a pretty steep learning curve. Once you get the paradigm of it, though, it's manageable.
I use it most days, and am very happy with it. Although I'm not an actual designer and I don't have a great deal of experience with other CAD software.
You can rent a non-commercial license for $99 a year. Still sucks because it's the usual SaaS hostage situation.
They also recently raised the price of a real license by making you purchase a couple years of updates (which are typically ~worthless as a user). I was half prepared to swallow the $4k or so but that extra bump made me balk again.
There is no moderately priced, fully featured CAD on the market. Unless FreeCAD has recently overhauled their UI, it is immensely painful to do things which are 2 clicks in Solidworks.
Yes, I had a really hard time getting used to the UI. Later found the ModernUI Workbench plugin which made it a whole lot better.
https://wiki.freecad.org/ModernUI_Workbench
edit: This plugin seems unmaintained and Ondsel is probably the way to go now if you want a better organized UI.
Once they release 2024.3 I probably will! They are definitely saying all the right things. I filled out their user survey and was pleased to see UI/UX at the top of the responses. If they start delivering meaningful UI revamp I will certainly send them some money - I cannot express how much I want a KiCAD equivalent for mechanical CAD to exist.
Alibre Atom3d? I too have failed at freecad, and am a fusion360 exile. The old school "purchase your software" lifetime license model and the fact that I've not needed the "advanced 3d modeling" feature of Design pro for my 3d printing/etc needs has kept me fairly happy with it. They have a free/hobbyist version, but I just paid them for the basic atom3d (when it went on sale??) a while back.
I've been using this as well, since the feature set vs license terms and pricing were so good. But man is it slow and clunky compared to Fusion360.
Just trying to model a very basic part, I feel like I'm constantly fighting the software trying to figure out how to get it to understand what constraints I want, or why it won't accept something that feels like it should be obvious. Or jumping through hoops like linking figures across sketches rather than being able to use parts of a single sketch for separate features. Sigh.
I just picked up Plasticity earlier this week to start trying to learn it, it's been on my radar for a while. I've been using TinkerCAD for years for making my simple models, and it works really well for the basics but there are things that become painful there that Plasticity has promise of making a lot easier.
One of the first tutorials I went through was really frustrating though. Some of it may be that Plasticity is a quickly moving target right now (lots of tutorials are for v0.x or 1.4, with current being v24, for an idea).
A lot of the pain was this tutorial just didn't touch on the basics it was assuming you knew. Some of it was just getting used to the tool and figuring out what mode you are in and which you need to be in to accomplish what you need to do. I struggled a lot with just getting keyboard shortcuts and the trackpad navigation to work. I never did find a description of mouse/trackpad mappings (possibly made worse by there being ~5 themes you can select from).
It shows a lot of promise, but there's going to be a bit of a learning curve. But there was a learning curve on TinkerCAD too, I just need to keep that in mind.
Pricing is ok: free 30 day trial, $150 for a license with 1 year of updates, and $299 for the Studio license. I don't use CAD that much, like maybe a model a month or less, so it's kind of a big bite to take for me personally, especially with it being young and likely to need to spend $150/year for a while here as it's revving up. The Studio version's xNURBS feature seems like it might be really enticing, but just makes that even harder for me to bite off.
I probably should try OnShape just because they do have that free plan.
I'm also looking at OpenSCAD for doing parameterized models. I installed it last night and asked Perplexity AI to generate a model, and it made a good start at it, but couldn't quite get the tongue-and-groove right.
I actually bought Plasticity early on, but bailed, because I found the UI confusing.
I was a bit more successful with Dune3D: https://dune3d.org (see the discussion I made on Github about working through the tutorial).
That said, OpenSCAD is more my speed, and I've been using it for a long while now, and have even gotten started on a library for the new OpenPythonSCAD, Python-enabled fork: https://pythonscad.org
I like the idea of openscad and sometimes use it, but the fact that it is no good for producing drawings suitable for machinists or 2d CAM programs is too much of a limitation. I wish someone would extend the idea to be more universally useful. Also, I wish I could afford for that someone to be me.
Solidworks perpetual licensing has always had an annual maintenance fee associated with it, but they changed it a couple years ago where if you let your maintenance subscription lapse they charge you for the years you missed plus an additional fee. They also increased their maintenance prices by like 30% last year.
So we are now in the process of switching to Creo which, while being a user experience nightmare, is so much more stable and runs faster than Solidworks.
Agreed about FreeCAD, the user interface is terrible and even though Ondsel exists I just can't stand the way the program works. As much as I want to use FOSS software there really isn't much that beats the commercial products if you have access to them.
Yeah, the different, incompatible assembly plugins is why I stopped using FreeCAD a few years ago.
That's reportedly been fixed (guess they picked a winner?), but I haven't taken a look since. I probably will, at some point, but I generally have a different focus these days.
They didn't pick a winner. They (Ondsel and others) evaluated all the workbenches, chose the best ideas and built a new workbench around a new (well, new to C++) solver.
It is. The chap they hired to do port his solver has done really great motion solving work in the past (and, amusingly, had an application called "FreeCAD" before FreeCAD existed).
You just reminded me that I had tried Catia once before and that it also completely flummoxed me in how unobvious its approach was.
Now why would anyone choose that program as the one to base theirs off of, it isn't like Pro/E and SolidWorks weren't around in 2002 when they started FreeCAD.
I've been looking for a while at BricsCAD (as an alternative to VariCAD), but when you add in sheet metal folding and ability to export and import STEP, it starts getting expensive.
I just checked their site and their 20% off prices actually seem reasonable—at least before realizing they are yearly costs.. They do sell also perpetual licenses where you pay for the product of your selection and then a yearly maintenance fee, and this would perhaps make the most sense for a hobbyist, but this already feels a bit expensive.
I've been trying to get into FreeCAD, but some of my existing models seem to be a bit slow with it, not to mention the different workflow. But I'll give 1.0 a shot!
BricsCAD is ok. It's more of a direct modeler with constraint support though. It may or may not matter to you depending on the kind of work.
I tried it for a while, and while I generally liked it, also got stumped by the artificial limitation of STEP import/export, which made it a non-starter even for hobby projects. This is, IMHO, the dumbest thing they could do in terms of licensing.
Whose salaries, exactly? In most of the country, that's a couple months rent for an entire middle class family. I earn well, and I cannot imagine ever paying that much for any piece of software unless I needed it for a profit-making venture and the ROI was very obvious and very positive.
Fusion was initially (and still is to some extent) targeted explicitly at hobbyists. At one point the CEO made lots of noise about his commitment to the maker community. 'Course since then Autodesk went from a company run by a maker to a company run by a marketing dweeb and a beancounter.
Sorry, but Autodesk was always run by beancounters. They wanted their share in office products, and went lucky with CAD. Read John Walkers "Autodesk Files".
In the context of Fusion, it was the pet project of Carl Bass who is very much a maker. He constantly championed free access for hobbyists to Fusion 360. I suspect a big part of his departure was due to not having any path towards monetizing the huge cash sink that was Fusion. Bass' replacement was the chief marketing officer.
And how many of those saved weeks are being spent fighting draconian licensing software? In a past life I had a few architectural firms as clients and actually getting AutoCAD licensing shit to work was a huge pain point.
You need to balance those weeks spent fighting licensing issue (seriously?) against the time that's lost by using a piece of software that is a nightmare to use... if it doesn't crash. Which it does all the time.
Admittedly, it's been 2 years since I last used FreeCAD, but I've spent literally more than a hundred of hours with it trying to make it do what I wanted it to do only to come to the conclusion that mechanical CAD probably just wasn't for me.
And then I tried Onshape and, surprise, it wasn't me after all.
Irrelevant; such a license would be purchased by the business and wrote off as a loss on the income/loss sheet.
Needless to say, for a business a few or even several thousand dollars a year is practically nothing if it's critical to business operations and ensuring productivity.
If you're buying this for your own personal use? Yeah, you're gonna need a lot of disposable income or some really good justification. For your own small business use? Yeah, you're gonna need to justify that cost against your estimated annual income and other losses.
What's irrelevant to what? The actual market for CAD software is well funded businesses that are buying it as a productivity tool, so of course their approach to the cost is very relevant when trying to understand the pricing.
The context was the cost of a Solidworks license within the purchasing power of an average salary. Meaning the question posed was whether an employee could buy a Solidworks license.
To that, I say that is irrelevant because just like you said: It's the company that buys and pays for the license, not a singular employee on a salary.
The salary of the employee provides the basis of their cost to the company, so any tool that increases their productivity for a small portion of that cost is something they are going to consider.
I wasn't imagining that the typical person making $60k year would enjoy blowing thousands of dollars on a CAD package. This is why they aren't cheap though, because typical people don't buy CAD packages, companies do.
SOLIDWORKS for Makers is $48/year [1]. That subscription includes a proper SOLIDWORKS installation, Dassault is pushing their web stuff, but you don't need to use it. Also, it uses local files by default, unlike Fusion [2]. The subscription comes with a no-commercial-use clause and the files can't be opened in the commercial version, but I'm sure if push comes to shove the file thing will be fixed on the high seas.
Re: Mac: SOLIDWORKS runs perfectly well in Parallels on M1. I moved from Fusion and it's been great. Just having fully working G3 surfaces/constraints [3] and patterning on sketch points alone is worth the expense.
Onshape is great. I use it as well for random things.
I do expect them to do a pull-rug on the free license at some point, like fusion did, especially now that they've been bought by PTC. If they do, the commercial license is too expensive IMHO compared to other offerings for what they offer.
I had the option to use the educational license at some point, but we couldn't get to renew it (ironically, we got a dirt-cheap Creo license afterwards).
Just to keep things in mind it can go anyday from free to too-expensive.
I had a few complex designs in fusion360 I essentially lost at some points due to the price hikes. I decided to endure the pain in freecad. It's getting better.
Onshape is wonderful. Free users complained a lot about the changes to the free license years ago when they changed the rules, but I have no issue with it. TBH, I'm grateful they make it available on the terms that they do.
Solvespace is beautiful, but limited.
I spent enough time using FreeCad to get the hang of the user interface, but got enormously frustrated by it more or less randomly crashing and frequently generating bizarre shapes due to numerical issues when trying to do things like complex lofts. I have had no similar problems with OnShape.
I honestly don't know why there was so much noise about 'topological naming' in FreeCad, the stability issues I kept running into were way more frustrating than the clunky UI or counter-intuitiveness.
I did think about digging into FreeCad to fix some of the issues I was having, but once I started playing around with OnShape I totally lost interest. I am a lot more interested in designing parts than in debugging and fixing stability issues in complicated software in my spare time.
I am quite interested in trying out dune3d. It looks like the author has some expertise and interesting ideas about what's wrong with the other free CAD options.
Same boat. Onshape is so intuitive. What many people don’t realize is that onshape is free as long as you don’t mind your designs being public. All of my designs are open source so for me it’s actually a benefit.
My first experience with 3D was with AutoCAD 10 or 11 when they had "2 1/2"D. I've used ProE, Catia, Unigraphics, SolidEdge, Solidworks, Inventor, etc.
The workflows in FreeCAD are completely irregular and alien compared to those others. It's incredibly frustrating to use and I have had zero luck becoming fluent in it.
Looking forward to the day when FreeCAD is a viable and stable option for free parametric CAD. There are a few free options for direct modeling, but not for parametric design.
As far as commercial software goes, my current favorite CAD software for hobby use is Rhino[1]. It's not parametric[2], but it's stable, fast[3], can import and export a wide variety of 3D file types, and it's pay-once-per-major-release. It's not cloud-based. The marketing around it seems to emphasize design/architecture/artistic use cases, but it also works well for dimensionally-accurate mechanical parts.
For those eligible for a student license, the pricing is reasonable (cheaper still if you shop around among third-party edu software vendors). Surprisingly, the student license also allows commercial use.
I grabbed a perpetual license for the Maker edition when it first came out (free at the time) though I don't think I ever got around to really using it. ;)
> My student edition expired and now im out of that to.
There is a "personal" version of Fusion 360 which isn't tied to enrollment. It has some limitations (only 10 "active" documents; some advanced features are locked), but overall, I think that's still the most accessible entry to CAD for hobbyist makers, especially with all the tutorials for it out there.
I think that with the current state and trajectory of FreeCAD/Ondsel, they have a realistic chance of catching on. However if FreeCAD really wants to be the version that is installed (rather than Ondsel), I think they really have to get to a more regular release cadence.
That looks very limited judging by the product page. I design buildings and property plans. Will this design structures in 3D and produce elevations and floor plans from those?
No, just trying to design my own properties. The best luck I have had is SketchUp. Now I have a huge design locked up in their expensive webby software.
You can use OnShape for free as long as you're OK with the models being publicly visible. I find that fine for learning and personal projects.
I've dabbled with OnShape, FreeCAD, and SolveSpace, and of them SolveSpace is the one I've ended up using the most. OnShape was nice, the GUI was pretty intuitive, I liked the way it worked, but I just feel weird trusting anything to a free plan on a cloud service. I don't really mind the public part, but it always felt tenuous that the plan would remain free so I didn't really feel like I could trust it long term.
FreeCAD was complicated and opaque, I never really put in the time to learn it, it just felt a bit clunky, but I keep meaning to come back to it.
SolveSpace seemed a bit mysterious at first, but just a bit of learning and I found myself pretty comfortable with it. It's not nearly as fully featured as some of the others, but it clicked well for me.
Yeah, because nobody ever writes 'on Windows' or 'on Linux'. It's really only Mac users who every specify which platform they're recommending something about.
What do you mean? They are just saying that their experience is with mac, so they recommend the mac version? If anything the incredible thing is that such a normal statement can actually be perceived as something else as soon as Apple is mentioned.
I've always felt freecad being superior to most other free CAD tools.
But I can almost never get it to work for me. Every time there is a new major release I try it only to rage quit two hours later. Really hope they get someone to help them with stability and UX improvements like Blender did.
Stability is good in the latest dev builds on the Mac, though 0.21.2 is the least crashy I've seen it.
But if you mean stability in terms of model stability/robustness when changing things, that's improved a lot with the topological naming mitigations.
It's still not perfect, and I still think FreeCAD is a lifestyle choice. But I enjoy working in it a lot more.
The Mango Jelly Solutions videos on Youtube are very, very worth a watch if you feel inclined to have another go; they have been the best thing for getting my mind into how FreeCAD works as a package (in the sense that it is a "package" at all -- it's really still a collection of overlapping, macro-programmable toolsets gathered around a kernel).
I want to second the recommendation for Mango Jelly Solutions videos. I've tried FreeCAD on and off for years and those videos are the first ones that finally helped me wrap my head around some things and be able to use it for a real project.
But FreeCAD was just not that sort of project. It's a C++ and Python wrapper around a CAD kernel, supporting a set of tools -- some frustrating tools, some quite powerful or niche, like the ThreadProfile workbench or the guitar workbench -- and it has never bothered the highly technical community of users much to unify things.
They weren't really trying to make a major competitor to commercial CAD: they were trying to have the tools that they individually needed and collaborate on the problems they had in common.
The balance has markedly shifted since 0.18 and now there is that focus, and significant commercial impetus. In the time I have used it -- about three years on and off -- it has clearly become more of a focus to make a complete product.
ETA: there is no doubt that one of the major things that needs to be resolved is the duality between Part workbench and Part Design workbench flows.
There appear to be some discussions about this -- about how to either merge them or create a new, future workflow that makes better use of them.
The crux of it has always been that a section of the community thinks the Part Design feature-oriented flow is a bit of a crutch, being as it is implemented as a set of implicit booleans on top of the basic flow.
Part Design is more fun to use for a beginner, but it is definitely not faster, and one of the real problems is that once you are in the feature flow you are kind of stuck in it -- it's possible to merge in objects made in the Part flow but only in relatively basic ways (starting a PD body with a "base feature", or fusing the PD body with the non-PD stuff at the end).
I would expect future development to look at this much more seriously, but there was and is no point in getting into it in more depth until the major TNP issues are truly behind FreeCAD, because a feature-oriented flow especially relies on there not being problems there.
Yes! Sorry. It's mentioned in the comments here but it should have occurred to me to expand on it.
TNP is really a research-grade problem that all CAD packages have to mitigate -- you can I think still run into issues that stem from face/vertex naming in all CAD packages if you really push them, and there are pathological cases where the solution is only to be consistent in arbitrary choices.
But mainline FreeCAD had no solution for this. A solid proof-of-concept implementation has existed in RealThunder's fork (which was originally used for Assembly 3 development) but since the solution touches an awful lot of the code it was never ported across and got increasingly difficult to port. There was reluctance to just switch wholesale to his fork because it contains some somewhat contentious developments, and it has taken some very deliberate, considered rethinking of the organisation of mainline FreeCAD releases to get the TNP code ported, which it now is.
There are still TNP issues, and there are still things one should not hope to rely on in FreeCAD -- like building on faces generated by chamfers, drafts or thicknesses.
I also think what risks being lost is the wisdom of sometimes deliberately choosing to build some features of a part from the base planes rather than a generated face; it reduces the complexity of dependencies and allows much freer re-working.
Blender changed, FreeCAD can. Just the topology naming fix is a HUGE change that lots of people could have said a couple years ago that it would never be fixed.
Blender's got a constraint solver for IK, right? How much spaghetti code do we need to add to give it a full CAD kernel? It already does everything else!
I've honestly wished I could use it to make vector graphics sometimes, but that also needs some of the basic elements of CAD (parallel edges, radius constraints etc). It's so close to parametric modeling too, with the mesh modifiers, drivers, and now geo-nodes.
Of course, I believe there are a few CAD plugins, but I've never used them, so I can't speak to their efficacy.
There's a bit more to it than that. There's an underlying library which can support solid modelling, but Blender has (or had) such an outdated version that it just wasn't possible.
Back in 2020 someone submitted code to get it working, in order to make solid modelling possible:
Unfortunately it looks like no official Blender developer ever took the time to review it, let alone merge it.
Super unfortunate, as it was only about 15 lines changed. Probably would have needed at least one revision though, as one of the changes was just commenting out some lines. That'd likely have needed to be a better conditional instead.
There is the excellent CAD sketcher plugin for Blender; this adds a basic 2D parametric/constraint based editor into your workflow, which can convert it's output into a mesh to integrate into your blender model. For more complicated models I typically make 2 or 3 2D constraint models, and use the blender boolean tools to combine this into the final 3D model.
I'm not an expert either, but it could be compared to bitmap graphics vs. vector graphics.
3D modelers like blender (or even OpenSCAD) work with a bunch of triangles - there is often not some higher level representation of the geometry. You could put a drill hole in a part, but it ends up as just a ton of triangles that approximate that drill hole, vs. a file format which semantically encodes "there is a cylindrical drill hole at this location, with this vector direction, and this radius".
That's what things like BRep (Boundary Representation) and STEP files give you is that semantic data which describes the part "here are the edges, faces, dimensions, etc.", vs. "here's a bunch of triangles, good luck machining this"
> but it could be compared to bitmap graphics vs. vector graphics.
This is very much how I internally understand it and explain it to people, yes!
It is a good analogy for e.g. why it's often a challenge to get something milled with a CNC when you only have an STL file.
STL is like a PNG line drawing: it can be high quality, but it's not describing the drawing. STEP is like SVG: it's more effort to render it, but it contains the instructions to draw it.
Isn't the problem with that analogy that there are things like NURBS which are pretty directly analogous to vectors (and isn't a surface a boundary?)
Edit: Along with the fact that blender has a lot of non destructive workflow steps (that usually get baked out into the "bitmap", to further your analogy)
It's not a perfect analogy, and Blender does have some parts which resemble the sort of data structures you'd use in a CAD modeler.
I think with enough plugins and customizations, you _could_ twist blender into something that resembles a CAD modeler, but it's really an uphill fight compared to selecting tools which were designed with that goal in mind from the start.
I have exactly the same experience here. You can see that the software has tremendous potential with a lot of work put into it, but the UX still sucks balls. Using the mouse to select the element you want is finicky the best. It takes me 5x the time to do the same thing vs fusion or solidworks.
Then there are smaller frustrations like this confusion between "Part workbench" and "Part design workbench" and unhelpful python errors when you try to do something. But I am sure these will be fixed sooner or later. I think once the UX gets an overhaul it will be 90% there!
It is not. There are still ridiculous hoops you have to jump through to orient your sketch. The first thing I do is draw an arrow that points up in the sketch and then reorient the sketch. The reason for this is that the attachment editor just randomly picks a "random" orientation based on the "orientation" of the face or datum plane you are using. The attachment editor is fundamentally broken and needs a complete revamp.
The other part is that FreeCAD is still this "enter numbers by hand and hope for the best" CAD tool. When you perform an extrusion, there are no visual arrows to pull the extrusion along. When you do a pocket and it goes in the wrong direction you just see nothing, instead of a transparent preview of the operation that is being attempted.
I say this as someone who built a design in the Assembly 4 workbench using dozens of individual parts and probably redesigned every part at least twice. Sure the official assembly workbench is a good idea in the very long run, but they fixed none of the short term pain points I have. You know, things you run into every single damn day. Meanwhile migrating to the new assembly workbench will cost me even more time. I.e. there are switching costs but hardly any benefits.
This reminds me of iirc KiCAD 5 to KiCAD 6. Overnight it went from some weird clearly-Linux program to become a viable product, an excellent one even.
KiCAD uses FreeCAD on the backend for things.
I’d love to see FreeCAD take the same path!!!
However… when I looked at it last year the “let’s draw a cup” tutorial was so pathetically bad I closed it and went right back to solidworks without a second thought.
I think a lot of that is a Cathedral vs. Bazaar problem.
Programmers like to work on problems which are technologically interesting, and they love adding new features. Dealing with technical debt and solving UX/UI issues isn't as much fun, so in a Bazaar model they'll simply not do it. The result is a product which feature-wise is very powerful, but UX-wise an absolute nightmare to use.
But when there's a party genuinely interested in the product as a whole, they can push more Cathedral-like UX-focused development. Have a handful of devs focus on UI stuff for a year or two, and it has suddenly turned into a world-class product. Blender and KiCad have gone through this before, and it seems like Ondsel is pushing something similar for FreeCAD. Let's hope it works!
The changes from KiCAD 3 => 4 got me to finally switch off EAGLE CAD, for which I had a $1600 license, but could see the looming subscription nonsense coming with Autodesk's interest in EAGLE. IIRC that was the first release after CERN took on development and had been dogfooding it. Every release since then has been a major improvement, and we've converted several customers from Altium to KiCAD in that time.
I can make FreeCAD go, but we still have to manually create dimensioned printsets for our sheet metal shops, rather than just being able to hand off a drawing file. I feel like when we get to the point of just being able to hand off a drawing file, it'll be in a much better place.
Yeah. I have tried and quit a number times. Poor stability has always made it unusable for me. Hopefully this time is better. Still, once I can successfully make a drawing, then what? What exists for CAM posts?
I have milled some basic things using the FreeCAD CAM on a ShopBot 2416 and small custom grbl based CNC. Many years ago now, but things generally look better now. Otherwise I have exported geometry and used external CAM software like VCarve
That is our current main issue with FreeCAD, we have to manually create fully dimensioned drawings for our sheet metal shops, and they pull it into whatever they use. Can't just give them a drawing file, CAM export, etc.
Super excited about this! I hope more people will pick it up in the hobbyist space now that Fusion costs money.
I'm not sure what the popularity of these different CAD softwares are. I've seen quite a few hobbyists use OnShape recently, and a few people use OpenScad. I don't think I've seen another FreeCad user in real life though.
I use FreeCAD on a very regular basis and can understand why it's not more popular: it's very powerful but has some very sharp edges that will often have me using it in a state of near rage. Topological naming comes to mind but there are other various issues that I've hit like a brick wall (in that you can't work around the bugs/limitations so much as you must rework your design to avoid them which can be tedious and frustrating) when designing something non-trivial.
That said, each release continues to improve it just has further to go than most open source projects.
OpenSCAD is definitely very popular in the maker/microcontroller/electronics world, which is both a good and bad thing, because it is accessible but also limited/frustrating. It enables some good stuff on Thingiverse but it becomes extremely mathematics-focussed quite quickly.
I do wish more of the code-CAD people would look at Replicad, Build123D and CadQuery.
I personally like FreeCAD a lot, but I won't push people onto it; if they like TinkerCad that's fine.
I got into making all kinds of stuff because of OpenSCAD. It's just enough for 3D printing functional mechanical parts. It's still my first go-to for designs. The downside is OpenSCAD doesn't support import or export of STEP files... So I've also added FreeCAD to my toolbox. But I really wish OpenSCAD would/could do whatever refactor it needed to support STEP.
Yes -- the STEP thing was a big part of why I wanted to switch.
I actually switched via CadQuery: a few minutes with that made it clear that the bits I didn't understand (edges, faces, planes, all that stuff that freaked me out) were simple and logical and had a sort of common sense integrity, and that I might as well try to learn them in the context of FreeCAD.
Had Build123D existed at that point, or Replicad, maybe I'd have pushed on for longer. Build123D is my "fallback toolbox" at this point.
I don't think OpenSCAD can produce STEP, ever. Importing it is another matter; that's a one-way meshing operation. But creating it means having a kernel that understands more than CSG operations -- a bRep kernel like OpenCASCADE, that FreeCAD/Replicad/CadQuery/Build123D etc. use.
You can of course run your OpenSCAD in FreeCAD, but certain operations (hulls, Minkowski I think?) end up as meshes, because there is no easy equivalent. Still, that's better than every operation ending up a mesh.
Replicad is quicker to render complex things than OpenSCAD -- significantly quicker. It uses an emscripten port of OCC.
It's also embeddable as a library, which means being able to make web-based object customisers: client-side, script-driven tools that don't require CAD knowledge for the user. Like the Thingiverse customiser but on steroids. It's a fascinating project.
And I think it's not the statefulness that is the significant thing about CadQuery and Build123D. It's the access to a bRep kernel, so you can do operations with faces and vertices, you can reflect (analyse, measure) the model, etc.
Being able to do operations on a generated face or edge means not needing to know (or recalculate) the location of that face in 3D space; it saves you so much in the way of maths.
If you have very simple (or very mathematical!) models, OpenSCAD can help. But once things get complex you just have file after file of variable definitions.
Functional flows on vertexes, edges and faces created by previous operations is much closer to a code equivalent of GUI CAD.
Replicad is quicker to render complex things than OpenSCAD -- significantly quicker. It uses an emscripten port of OCC.
OpenSCAD integrated manifold into its codebase though you would need to use a development build to actually use it since the last release is in 2021. I heard manifold is significantly faster than CGAL.
> Python and stateful CAD drawings sound like a nightmare to me.
Please correct me if I’m wrong, but it doesn’t appear stateful to me. The context managers mostly make the organization of objects be reflected in the organization of the code.
They’re stateful in the sense that some bits are part of a larger assembly, but I think that’s inherent in the domain. The features of the object have to relate to each other so it knows how to stitch the object together (eg which side of a face is external and which is internal).
OpenSCAD is a counterfeit CAD! It doesn't Aid your Design so much as render one the user has to already understand. I do like it for simple
parametric changes to existing models though.
I wish we had something like it that could be used to create freeCAD macros, as in "Here's a sketch, which FreeCAD translates to OpenSCAD arrays, then runs a script that can do stuff with this model as input"
Is that really "counterfeit"? As you mentioned, CAD is Computer-Aided Design, and OpenSCAD is certainly aiding in the design process by interpreting higher level commands about where to place geometry.
I have a lot of criticisms for OpenSCAD but I wouldn't call it a counterfeit, it's just a code-based approach to constructing something vs. a GUI-based approach.
Right -- OpenSCAD is an object compiler. You give it code, it gives you an object.
Your object is not something that can then be used to iterate on, except by placing it in space and adding or subtracting other stuff to/from it.
Have you looked at Build123D or CadQuery?
Both are Python packages (different API styles, compatible underpinnings) that do OpenSCAD-type things, but using the OpenCASCADE bRep kernel, so it is less "counterfeit" -- if you want to do something based on a face or edge or vertex that was the product of a previous operation, you can. Both have some constraints support.
In many ways they are both just a prettier alternative to the FreeCAD Python APIs -- indeed there was a CadQuery workbench for CadQuery 1.x.
The problem with anything other that OpenSCAD is it's somewhat nonstandard and often has sandboxing issues.
It's like the BASH of 3D, if I'm doing anything with code CAD, it's probably trivial enough that just using what everyone else uses makes sense, even if almost any other alternative is much nicer.
I agree that it's more difficult to manage Build123D or CadQuery due to their status as Python packages with heavier dependencies. (Less of a problem with Replicad, which is a client-side JS package)
This is a little bit of why I jumped to FreeCAD from OpenSCAD -- the existence of prebuilt distributions of FreeCAD, and the realisation that I'd always be able to script FreeCAD if I needed it.
Though I think Build123D has the beginnings of momentum (I also think it's not hard to see why):
I like the idea of OpenSCAD but the language is too functional/immutable for my taste. It's interesting but having to rethink even algorithms with simple loops gets very tiring over time.
A debugger would be very helpful to be able to step through the code.
A few weeks ago I was planning to design a model I could send to a local 3d printer to replace a broken piece in the house for which I knew it would be impossible to find something that would fit exactly.
I looked around through a couple of open source/free offerings and all found them frustrating. Either the focus on easy of use was too limiting, the focus was too much on blob, clay-like modeling rather than strong parametric models (many online tools), or they were too pushy to make you pay, or the UI was not intuitive (FreeCAD).
OpenSCAD was the one which allowed me to get the model done, and I loved the code-first, parametric-first approach and way of thinking. But that said I also found POV-Ray enjoyable to play around with around the 2000s. Build123D looks interesting as well, thanks for recommending that.
The major advantage of Build123D for your use case -- sending it to someone else to fabricate it -- is STEP output support.
This really expands your options for what you can make and who you can ask to make it. There are now some online fabrication places that will do CNC from mesh formats, but really the only way to have proper control is sending them a STEP file.
I know they've been obnoxiously chipping away at the features available in their Personal edition and introducing artificial limitations. But my free installation still works and I haven't seen any indications that it's going away.
Fusion as a CAD engine is great. I've not used the CAM side, and while I used to use Eagle a lot I've tried to invest more energy into Kicad. The online limitations are frustrating though. Randomly and inconsistently not being able to export STLs because of a "translation service error" (when it could 2 minutes ago), or the inability to make drawings with the free edition. I mostly use it because there isn't anything else half as good for OS X that works offline.
I used it to do some sheet metal modeling, then sent the models off to a laser cutting/bending service that shipped me the pieces. Then I went back to Fusion to 3d print some brackets/scaffolding using the same sheet metal models as a reference, to assemble the pieces into the finished product. This was during a 3 month leave from work, starting from zero knowledge beforehand. It was probably the most fun I've had in years, and mostly thanks to how slick Fusion is and how many tutorials there are out there.
There are some export formats that it uses cloud machines for, which I think is silly and arbitrary. It's probably done that way to upsell their premium product for faster wait times or unlimited quota. For my uses I was able to select formats that didn't require the cloud.
Fusion is much more polished compared to FreeCAD and so I'm not sure if I'll ever end up making the switch. But I'm glad to see a free alternative, just in case.
Most of the common translation options should work offline (ie Fusion is capable), but Fusion sometimes gets stuck in a weird state where it insists it needs connectivity. Perhaps it's a quota thing but I've never found it to be consistent. This happens fairly often with STLs for 3D printing.
Once it's gotten into that hole it will often refuse to export any other format until connectivity is restored, even if the app is restarted. It's known behaviour, for example the official guidance is that changing binary to ascii might help, or you shouldn't export directly to a slicer when offline, or don't use certain menus. But it seems like a wontfix.
Fusion 360 CAM is great for me (hobbyist doing CNC with wood and other materials). It's handled some pretty tough jobs, like a full topo map of california. It's why I pay for the product. I tried the electronics stuff in Fusion and decided not to use it because it didn't work nearly as well as Kicad.
I'm also happy for this. I'm an EE with limited MCAD experience, so I usually hop onto Onshape when I need a custom trinket to 3D print. I did use FreeCAD for a small fixture for my day job earlier this year and I was pleasantly surprised. For someone with no experience, it worked very well and when I lose access to Onshape I'll definitely pick up more with FreeCAD.
Hope that the new changes make freecad a little more accessible. Coming from Fusion I really tried to make it work for me but the UI is so awkward and abstruse I quickly gave up.
OpenSCAD's main problem is when you get to code of any complexity. I'm ok with the language itself (it looks procedural but is really somewhat declarative), but I keep hitting up against a brick wall with the CSG processing.
Note, however that their nightly builds are much faster, if you enable Manifold (a replacement CSG library that is much faster). In fact, a current design I'm working on wouldn't be possible if I hadn't switched to their nightly builds.
Sadly, the UX is still pants compared to Shapr3D or Fusion. Yes, it looks slightly better and there are improvements, but still very far from being enough to match either of them in terms of actual workflow.
My biggest gripe is that it still feels like a bit of a bag of squirrels (changing workbenches can still lead to unpredictable results and importing STEP is still buggy).
I personally consider FreeCAD very far from stable. All I need to do is to open random example projects to speedrun to some warning/error/exception/segfault.
I knew I was in for a bad experience when I opened it up for the first time and I couldn't even select some components of the screen because the high resolution DPI monitor made some things unclickable because the pixel boundary box was impossibly small.
If you ever rage quitted FreeCAD then give OpenSCAD a try. It's completely different workflow and I love it. It perfectly clicked with the way I work and think.
For real, because I am way more productive with FreeCAD. FreeCAD allows to work in term of topological features like surfaces, edges, etc which is, in practice, very cumbersome with OpenSCAD.
I would say the most significant things for most hobby CAD users are:
* topological naming issue mitigations -- this is mostly solved enough that you can rely on it, though there are definitely still times when it makes more sense to use sketches offset from the base planes
* the new integrated Assembly workbench (and solver) though I've not dabbled with this myself
* really significant improvements in the sketcher (easier dimensioning, curved slots, polar arrays and improvements to the array tools controls, offset/scale, automatic midpoint constraints)
* support for bodies with multiple non-overlapping solids in Part Design
* useful subtle improvements to Part Design array tools
* some support for operations (pads/revolves/pockets) on only selected shapes from a sketch in Part Design
* I don't do CNC yet but I think there are improvements in the CNC workbench that would benefit hobbyists.
I would put the UI improvements somewhere lower down the list, frankly, than they do, because I find them often confusing and regularly frustrating on laptop screens, but:
* the new dark theme is really nice
* OpenTheme's dark theme works well
* quick transparency toggling is helpful
* and the optional tab bar for workbench switching helps make various disparate workbench tools just that much quicker to get to, somehow, making it all feel a little closer-knit
IMO the biggest thing is the auto-dimension tool. Instead of remembering 10 different keyboard shortcuts or constantly having to click on the toolbar, I just need to remember a single shortcut.
Fixing the topological naming issue, in the mainline, what a game changer.
I am using Freecad for Actual Real Things. I learned to work around the topological naming issue, but it cost me time, and it can make parametric models quite brittle (ie. a minor change can break the model).
Yeah I am very much looking forward to that. Over the last 10 years I have made a couple of hundreds of designs in FreeCAD that I have manufactured in smal scale - with FDM/SLA/SLS 3d printing, CO2/fiber laser, and CNC milling in woods/plastics/metals. So it has been plenty productive. But quite often doing workarounds for the topological naming problem, either preemptively or corrective. Maybe I will start to teach it again to others :)
I can't believe people aren't mentioning solvespace. Basically my cad journey started with openscad. Which I quickly discarded for cadquery. Which I used for a bit. And now I use solvespace. Imo they all suck. Solvespace has serious issues with anything round. It's basically a no go to design anything that is round in it. I wanted to design a simple pen like structure with a slot, turned out to be impossible. Perhaps I'll get so annoyed I go back to cadquery...
Have you considered, perhaps, trying the FreeCAD 1.0 release candidate? It should be very quick to make this. Part Design -> sketch -> draw your pen shape -> revolution to make it round; then sketch -> pocket to make the slot.
+++ for build123d. Just finished TTT tutorial models and it was quite fun. There are some issues with non-regular fillets and 3d offsets but they are minor comparing to FreeCad crashes. Build123d algebra mode is fantastic, especially after your find out how to compose faces from custom line chains. Documentation is good, though many tricks how to get non-trivial tangent points could be found only in examples.
Does anyone have any good resources on learning FreeCAD? I didn’t exactly find the interface approachable. Typically I use OpenSCAD for my basic 3D modeling needs.
My first tip for most people would be to start with the Part Design workbench, although if you're coming from OpenSCAD, you might prefer the Part workbench. FreeCAD has many different workbenches for handling various use cases, such as architectural models, surface trimeshes, 2D machine shop drawings, and so on. The various workbenches do mostly work together well, but for a beginner it's intimidating to have so many options.
"Part Design" is probably the most familiar approach for people coming from high-end CAD programs like SolidWorks; it uses the 2D sketch + extrude workflow. The similarly-named Part workbench is for people who prefer to think in terms of boolean operations on solids, which is generally the OpenSCAD way.
I make some pretty basic things to 3d print with FreeCAD and everything I've learned came from YouTube.
Typically for me it just new
part, new spreadsheet, part design, sketch with dimensions parameterized from spreadsheet. Pad or some other boolean of solids, repeat starting at new sketch.
Not freecad related, but if you like programmatic cad like openscad, you may like cadquery even more. A lot of operations are way more natural and you can export step, not just stl.
Super stoked for this, used to a mechanical engineer and I mainly use solidworks maker or fusion 360 to scratch my itch when I design stuff around the household. As “old school” as the UI is, it has a lot of parallel with catia v5. It’s kinda like vim/emacs, you don’t get it until you do.
I once had to deliver multiple DB Catia environments to multiple groups of designers's PCs. We used a chained series of Novell (as was) Zenworks apps (bundles these days). The environments are largely defined through env vars.
So, an app to deliver the various versions of the code, followed by an app to set the env vars for the job in hand, followed by an app to tweak, say drive letters and other things and finally another one to start the interface. All of that lot is defined within a GUI. You could capture the env vars through a "snapshot" - basically a diff. from before and after an application installation on a test machine. Nowadays you'd probably use Ansible and a lot of guesswork and farting around.
I'm a sysadmin but I have been trying to get to grips with FreeCAD for years. Mind you, I once got my parents to buy me a 80287 maths co-pro. so I could run a dodgy copy of AutoCAD 2(?) I gather that the FreeCAD kernel can now deal with a lot of weird stuff and not go mad when you make ill-advised constraints.
As for emacs/vim - not for me mate! I compiled emacs on a Pentium II and decided against it after a while. I tolerate vim because it is ubiquitous, but then so is dandruff.
Yup, a lot of things show when you use software that was first released from 1998. The first company I worked for that used catia has about 10 seats. A special sysadmin we hired that specialized in CAD admin wrote a special powershell script to set everything up. He was awesome and taught me how to write my own vba macros. I now work for a major automaker and they have these precompiled binaries that does everything for you. It’s kinda crazy to think you need a team of engineers to write and maintain an in house codebase just to make sure everything is installed correctly.
From what I hear of FreeCAD, it sounds like it's going to be awesome and widely used, but not for 5-10 years. Anyone have enough experience to back that up?
I have 100s of hours of FreeCAD experience from my day job designing injection molded parts for toys.
For some background, for about ~3-4 years (~5 years ago) I started using FreeCAD 1.18.1 in my job (and even more before that for hobby use). I am used to using open-source software with bad UI, so that's not my major complaint. As long as you stick mostly in the Part Design, Part, and TechDraw workbenches, you should get used to the UI. I used the main branch of FreeCAD up until 1.19.1 but then switched to RealThunder's LinkBranch [2]. I switched for the topological naming fixes (some introduced in this 1.0), assembly workbench (not the same as in this 1.0), and other many quality of life fixes (multiple solids per body and 3D offsets for most Part Design boolean operations). It was never great but it got the job done. As long as you never need complex organic 3D surfaces, FreeCAD can work - or at least the LinkBranch did for me, I'll have to test 1.0.
However, my biggest complaint is with the CAD engine FreeCAD uses: OpenCASCADE (OCCT) [1]. As with most CAD engines, this thing is OLD. It does not like to make NURBS surfaces with true tangency to other faces, and it really doesn't like when fillits cross edges into other faces. You will spend hours adjusting cosmetic geometry so that dress up features like fillits and chamfers will apply. Unless some group of PhDs with some hardcore C/C++ experience come along or the company that develops OCCT gets some major funding, I don't think FreeCAD will improve enough for day-to-day design of complex parts for a long time.
Nowadays, I use Fusion 360. I prefer SolidWorks but Fusion is all my job offers me currently. For a CAD package, and coming from years of FreeCAD, Fusion 360 just works. I have tools for making arbitrary complex surfaces (could still be better), I can create fillets that cross into other faces (most of the time), and I can go back in history and edit features and my model will rebuild itself (to a limit, but even the FreeCAD LinkBranch had more issues than Fusion even though it was better than vanilla 1.19.1 and 1.20 FreeCAD). Fusion also has a proper assembly system, which is essential! You can cheat and create parts in FreeCAD by linking sketches to geometry in other parts, but it can only get you so far before you need to go back in time and everything breaks upon a rebuild.
I hate to say it, but FreeCAD has a lot of work to do other than the UI. I want to use FreeCAD but it wastes too much of my time for professional work. I would still use it for simple hobby projects.
I've heard people compare FreeCAD to KiCad (a PCB design tool). KiCad has been usable for a long time but it's only recently gotten good enough where you might choose to use it over the other choices because it's so good. I've heard FreeCad still has a ways to go before you might choose it over Fusion or something like that.
Just wanted to share my experience with combining OpenCAD and some AI models for small-scale 3D printing projects. So far, it's been a real game-changer. The precision and accuracy have been impressive.
Has anyone else taken this combo to the next level? I'm curious to know if there are any brick walls I'm not seeing yet. Are there limitations or challenges that come with scaling up this approach? Would love to hear about others' experiences with OpenCAD + AI in 3D printing.
I got a printer recently, tried Blender bc it was what I knew, then FreeCAD, OpenSCAD, CadQuery, and Build123D. The last two are Python frameworks built on the same OpenCascade kernal that powers FreeCAD, and I really reccomend them to software folks looking to work in version-controlled plain-text.
Oh wow, super excited to see this posted. Will be on the lookout for updated tutorials. If anyone has good suggestions there, I'm game to check them out.
It is C++/Qt/Python/OpenCASCADE, runs on Linux, Windows, Mac.
Pretty low compromise in terms of portability; surprisingly good on Mac, has ARM support. I think on FreeBSD/OpenBSD as well via ports.
It is a bRep GUI CAD system with 2D drafting, 3D CAD, a technical drawing workbench, FEM, mesh tools etc., and now a core CAD assembly tool. It has a "workbench" (think GUI plugins for specific task) approach, supports macro recording of Python macros, has many third-party workbenches, It is constraints-based and fully parametric: designs recompute and reflow when underlying measurements change.
It's also a 20 year labour of love by a bunch of CAD users.
If you are familiar with QGIS, it's really a lot like that but for CAD. It's less like GIMP than some people say, but it is a bit like GIMP (and like GIMP, is in a long battle with a core architectural problem; FreeCAD 1.0 includes a big victory over its worst core problem)
Thank you, that's all very good information. I was just a little frustrated because none of that was discoverable either in the announcement linked from HN, or their home page.
Apologies, it appears the error is mine. Since there wasn't a link to the home page on the announcement, I edited the link to remove everything after the site. But that took me to the blog home, not the site home.
Ah, that explains it. Yeah, the next version of the website will integrate the blog into the main website. So navigation shouldn't be a problem anymore.
> Yes, that part's obvious just by the name. But what OS does it run on, or does it run in the browser?
The 'download now' button is right on the home page above the fold. When you click it, you see three huge icons for window, linux and macos. Not sure how you could've missed that, but it's there.
Neither Fusion nor SolidWorks mention supported operating systems on their respective homepages. That doesn't seem to present an issue, eh? :)
As for your other points, FreeCAD's homepage does explain what this software can do. It says what this software is right on the first screen. You can scroll down past the first screen to see more info. Even more info is on the Features page that is right in the main menu at the top.
I mean, we can argue about the amount of information, but the basics are all right there for you, in very obvious places, no?
Incidentally, a new (and better) website is in the works.
Solidworks is great until you have to buy your own license. This costs MULTIPLE thousands of dollars. You cannot purchase a "hobby" version that actually gives you the desktop version. I used solidworks up until my company license got pulled. Additionally im not a student anymore so no luck there.
I used to use Fusion - but it was never as nice as solidworks. My student edition expired and now im out of that to.
Now I use FreeCAD on Mac. Takes time to adjust and I cannot model as quickly, but saving $$$$