I have had a need for doing 3D CAD work in Linux but I don’t have the budget to invest in any high dollar software to hobby around. FreeCAD fit the bill. It’s a free and open source 3D CAD modeler but it does a bunch of other things too. Although I could probably run something through Wine or in Virtual Machine, I don’t want to get further locked into proprietary software that doesn’t support Linux. The CAD package I am most familiar with is PTC Creo, formally Pro/Engineer and Wildfire. It is a fine piece of software that I am very adept and creating whatever I can dream up.
The problem with Creo is, even if I could afford to purchase a license, the software doesn’t run on Linux. PTC used to support Linux but does not any longer, which is very unfortunate.
After trying a few things, I have settled on FreeCAD as my open sourced software of choice. At the time of writing, I am running FreeCAD v 0.17. FreeCAD is written in C++ and Python and is extensible so it allows for you to create functions in Python. This is a 3D CAD, BIM, FEM modeler. At this time, I only do Mechanical CAD (Computer Aided Drafting) work with it but am interested in BIM (Building Information Modeler) and FEM (Finite Element Method) modules as well. More on those at another time.
Installing FreeCAD in openSUSE is can be done using the 1-Click method or my favorite method, through the terminal:
sudo zypper install FreeCAD
I wasn’t completely vanilla in using FreeCAD as I used it as a part viewer for years but I hadn’t taken the time to create any any parts in it. After watching a video from Sudo Sergeant on using FreeCAD, I was able to see how too use the different functions. I was rather inspired to try it myself.
Running FreeCAD for the first time you are welcomed with a pleasant start center. Since I am most focused on part design, that was the Workbench that I selected.
My only initial displeasure with the usage of FreeCAD was the color gradient of the background.
I am quite sure it is the most acceptable default for most but it is a bit too bright for me. I like everything to be dark. This is easy enough to fix by opening the preferences dialog box.
Edit > Preferences…
Select Display then the Colors Tab where you can change your gradient however you like.
The Combo View pane is real nice at guiding you through the process of designing parts the way FreeCAD wants you to do it. I find this to be just a bit better than how Creo does it. Unless you KNOW how to use Creo, you won’t know where to get started. FreeCAD, on the other hand will begin guiding you after you select Create body you can begin with your first sketch.
From here you can select to Create sketch or Start Boolean from the Task tab, the menu or the toolbar icons. Thankfully, FreeCAD doesn’t have the silly Ribbon interface. You can move your icon groups around any way you like.
When starting a sketch FreeCAD will create your 3 basic datum planes, immediately. You just have to determine the default orientation of your part you are designing. It should be noted, those that are more accustomed to video game 3D think of the X and Y of the screen with Z being depth through the world. With engineering, you swap the Y and the Z axis. Z is the height of the part while Y goes “into the screen” as it were.
For my purposes, I am going to build this part as though I was looking down at it on a table. This is, of course, design intent dependent.
In going through the process of constraining the sketch, the picks and clicks are a bit different then Creo but the concepts are the same. One area where FreeCAD shines is the listing of constraints in the Left-panel Combo view. I would appreciate this feature in Creo.
Once the sketch is complete, the next step is to “pad” the sketch into the 3rd dimension which is nothing more than selecting the pad tool and setting the depth and direction of extrusion.
As the model grows in complexity, you can take advantage of some of the other padding tools, such as to pad to a selected face of the part. A similar feature I use frequently in Creo, though, named differently.
The next task is to add rounds or fillets to the part. For FreeCAD the process is a bit different than what I’m used to but still makes perfectly logical sense. Select the edges you want to add rounds and select Fillet tool.
It is possible to add multiple edges and later edit the feature to change references or values.
I do appreciate, again, the left-side panel that displays valuable information when you are going through the process.
The process for adding chamfers is the same as fillets. FreeCAD also respects the practice of rounds and chamfers following along tangent edges.
Although I am used to an extrude feature that is either adding or removing material, FreeCAD separates out similar functions, one for adding, the other for removing material. In this case, I want to create a “pocket” from a sketch. The options for how to remove material does what I need. You can do a blind cut at a depth of your choosing, through all, to a selected surface and so forth.
For this part, I want a through hole
Then I want a chamfer around the hole… just because.
What I like
This is very easy to use, stable and quite feature rich. There are a few things I cannot do with FreeCAD that I would like but that is just another reason to get involved in the project.
FreeCAD is built using the Qt toolkit so it just looks great and respects my KDE Plasma Theme. Everything has that fine Qt polish that really makes for a great user experience. I don’t like light-in-color user interface so this alone makes FreeCAD nicer to work with than Creo.
What I don’t Like
There is no assembly module that I could get to work, however, there is a module that is actively being worked on. I have not yet been able to get it to work for me but it is only a matter of time before I’ll have it working. It is likely that this module will be included in the future releases as well.
FreeCAD is a fine piece of software that is easy to use. You really just have to get into it and play around a bit. This is a fine parametric modeler. There are a few “niggles” about the application but I have yet to use any piece of 3D design software that doesn’t have it’s own flavor of niggles.
The only thing I can’t do, at this time, with FreeCAD is create an assembly. It is being actively worked on so it is only a matter of time before it is possible without having to fiddle with the software.
I have started to use FreeCAD for all my little side projects instead of the commercial software from my employer. It is just as easy to use, well, maybe easier to use, actually, since FreeCAD guides you through the process very nicely. I hope to see this project continue to grow and improve. Although I have only scratched the surface of what FreeCAD can do, I am already impressed.
For more information or to get involved check out their site at FreeCADweb.org
If you find this to be useful software and would like to support the project you can do so here.
I really encourage you to check it out. It’s available for Linux, Windows and a slightly dated version for MacOS here.
openSUSE 1-Click Install for FreeCAD
FreeCAD on GitHub
Sudo Sergeant FreeCAD video