FreeCAD and BIM FAQ

A couple of FreeCAD architecture/BIM related questions that I get often:

Is FreeCAD ready enough to do serious BIM work?

This is a very complex question, and the answer could be yes or no, depending on what's important to you.

It of course also depends on what is BIM for you, because clearly enough, there isn't a universal consensus about this. I'll explain it in my own terms: BIM is above anything else, the "meaning" that you give to a 3D model.

That is an architect's point of view of course, other areas will have other opinions and needs. What differentiates a BIM model from any "agnostic" 3D model, is that elements are not bare geometrical elements, but they carry a whole layer of meaning. For example, a wall is not just a rectangular shape, it is a wall, which means, for example, that it has a material, and it separates two different spaces, and many more implications. Same for all other elements of a BIM model. They all carry a layer of "meaning".

You often hear saying that "Only Revit or ArchiCAD are true BIM applications". If you believe that, of course, FreeCAD will never be ready to do serious BIM work for you. But if you consider BIM as I explained above, a large quantity of applications could do BIM. If you were able to add that layer of information on top of SketchUp models, for example, you would be able to do BIM in SketchUp (there are many plugins trying at that, by the way). As many say, in BIM, the "I" (information) is the key.

The people behind the IFC format spent a great deal of effort in trying to organize these meanings, and to catalog the different components of a building. You quickly find flaws and things that don't work perfectly, but it has the great merit to exist, and we certainly must not consider it as a finished format, but as a constant work-in-progress. Defining a building in a text-based computer format is no simple task.

What the Arch module of FreeCAD does, actually, is to allow you to add this layer of meaning to your models. It is not fundamentally made to offer you modeling tools (although they already work more or less well), rather to allow you to model with other FreeCAD tools, or even with other applications such as Blender or SketchUp, and add BIM meaning on top of it. It generally follows IFC definitions, while trying to stay as broad as possible too. For example, all structural objects in FreeCAD are gathered under a generic structural element. That you can further define as a beam, a column, a slab, if you want to, but you can also keep generic. The idea is to allow you to define your own meaning. You could have a project with a structural element that is not a beam nor a column (yes, that's you, Zaha Hadid, you avid reader of this blog). In FreeCAD we want to allow that as much as possible.

This actually gives you powers unavailable in other BIM apps, any object can become a valid, meaningful BIM object. You can take the Blender monkeyhead object, import it to FreeCAD, and turn it into a wall. It will behave exactly like any other wall, with the same properties.

However, many people already use commercial BIM software, like Revit or ArchiCAD. They will often compare FreeCAD to their usual software, and in 99% of the cases, find that FreeCAD doesn't offer the same level of comfort, and therefore deem FreeCAD unfit for the job.

This is a recurrent issue with all open-source tools, when they get compared to similar commercial solutions, not only FreeCAD.

Open-source software doesn't have the same goals as commercial software, and they don't fight in the same category either. Commercial software is expensive, and counts on hundreds of full-time developers. Open-source software counts on a handful of part-time voluntary developers. Obviously, there are things in terms of polishing, of agreement and comfort for the end-user, that take an absurd amount of work to achieve, and that are not a priority for open-source developers, that prefer to spend their available time on things like efficiency and stability.

On a more general level, extracting yourself from your comfort zone will always require a somewhat painful effort, being for an open-source solution or not.

But you must also consider the other side: Open-source software like FreeCAD also gives you advantages unavailable with commercial solutions: The file format of FreeCAD is open (it is actually a zip file), your data is never lost or prisonner. If someday you don't use FreeCAD anymore, it will always be possible to extract all the data from the files and convert it to something else. The development of the application is also something you can have a say in. If you find a bug, and can narrow it down to the exact steps that make it happen, chances are very high to see it fixed in no time. Try that with Revit There is also the fact that it doesn't cost you anything, I probably don't need to remind you how much costs a Revit license... And finally, as explained above, the most important point for me, in FreeCAD we have a space to define our tools, our workflow, the way we want it. Not the way a billionaire multinational firm tells us...

If you reformulate the question in: Is FreeCAD capable of delivering valid BIM models, openable in other IFC-aware applications, the answer is definitely yes.

Be prepared to a bit of effort, though, and to have to find workarounds for the features still missing in FreeCAD. But the community is there to help...

How to start with FreeCAD?

If you are ready to try, you will quickly find that FreeCAD has a rather steep learning curve. There are two big reasons to this: The complexity of the tasks it can perform, and the lack of tutorials and documentation oriented to beginners.

FreeCAD is nowadays catering for a very wide range of users: mechanical engineers, architects, home-3D-manufacturers, civil engineers, electronic engineers, and many more. Each of these specialities require specific tools. So the application has become huge and complex. We recently counted that the FreeCAD source code contains almost 500 icons. Not each icons is a tool, of course, but nevertheless that tells you something about the complexity. Another problem is that each of these specialities has its own jargon, its own terms to designate stuff, so FreeCAD is full of unusual wording and concepts.

So one of the biggest difficulty you'll meet when discovering FreeCAD, is to understand what are the tools you need, where they are, and how they work.

The main concept you need to cope with is how the FreeCAD interface is divided in workbenches. Workbenches are collections of tools aimed at a specific task or family of tasks. For example, there is a "Ship" workbench that contains tools to work on ship hulls, an "Arch" module to work on architectural models, etc.

When changing of workbench, you are just changing the tools displayed to you in the FreeCAD interface. The 3D document and the objects you're working on, stay the same. You can do an operation on one object with one workbench, then another operation with another workbench.

There are more generic workbenches (Part, that contains generic 3D tools such as boolean unions and subtractions, or Draft, which contains basic 2D tools such as line or circle), and more specific ones. Usually, you will never have enough with just one workbench. You will need tools from different workbenches.

The FreeCAD wiki has a pretty complete documentation about all those workbenches, what they do, what tools they contain:

http://www.freecadweb.org/wiki/index.php?title=Workbench_Concept

There is also a page that shows (almost) all the tools at once:

http://www.freecadweb.org/wiki/index.php?title=New_homepage&oldid=108393

A first thing you might want to do, is to browse through that documentation, and see what does what, and what is located where. Specially, find the most generic ones, that everyone needs, for exampe basic 2D tools like Line, Rectangle, or common operations like Move or Rotate, or 3D operations like Extrude, Union or Subtract. Once you have a good picture in mind of where are the tools you need, you will find that a very big part of the difficulty has been overcome.

Once you know your tools, FreeCAD offers you many way to change the contents of your workbenches and add tools from other workbenches, so your speed and efficiency will better over time.

The second problem, the lack of tutorials for beginners, is only apparent. Certainly you will not find many on the FreeCAD official website, or on the forum. The place you need to look to is youtube.

Many members of the FreeCAD community are prolific video publishers, and a simple search for "FreeCAD" on youtube will give you many hours of learning material, some of very high quality:

https://www.youtube.com/results?search_query=freecad

Some users even started to build collections:

https://www.youtube.com/playlist?list=PLg0NyxHKYXpSng4ssmD9U13X6dwxR_eZ1

You will notice, however, that very few of those videos are generic introductions, most are about a specific tool, subject or workbench. But this one, made by Bejant, a long-time FreeCAD veteran, is a very good overview of how FreeCAD works:

https://www.youtube.com/watch?v=zeQrGj5hiOA

You might e saddened by the fact that most videos are dealing with FreeCAD in a generic way, and not centered on architectural work. At the moment this is true, unfortunately, but it might also be an opportunity to rethink your approach to BIM modelling, and consider it in a more generic way...

We also have an in-depth, written tutorial about the Arch module. However it is more made to walk you through all the functionality of the workbench, rather than actually teach you stuff step-by-step. Consider reading it rather than trying to reproduce it closely:

http://www.freecadweb.org/wiki/index.php?title=Arch_tutorial

Once you begin to put your hands in FreeCAD, you'll certainly meet specific problems: How do I do this, how do I do that. That is when you'll discover the true power of the FreeCAD community. Most of these questions, if precisely formulated, will receive numerous, fast and deep answers on the forum (make sure you do some search to see if your question hasn't been answered before):

http://forum.freecadweb.org