From Open Source Ecology
Jump to: navigation, search


I have spent about 20 to 30 hours of the past few weeks in order to test the current capabilities of FreeCAD and also in order to learn the basics of FreeCAD. My impressions are that the FreeCAD team has accomplished a few things that only large teams of full time programmers have accomplished in the past. The conclusion I came to after doing my best to familiarize myself with all of the tools that are available in the latest release of Free-CAD is that until FreeCAD releases their planned "assembly module", designing a machine with multiple parts may not currently be a good fit for FreeCAD.

Right now FreeCAD would be my preferred open source program to design an accurate 3d parametric model of a part for printing or machining and for opening step files for some basic inspection. (the measuring tool seems to have limited ability to measure between lines and faces of parts only measuring from point to point) The latest version has even added the ability to make 2d drawings with title blocks and projections of 3d models. The sketching and extruding/cutting tools seem to be very powerful, but without using some fairly complex work-arounds, it's my opinion that it would not be possible to design individual parts based on the geometry of other individual parts in a reasonable amount of time.

I am very interested to see what the FreeCAD development team comes up with in the next few years. I was going to try to model a small assembly to show how freeCAD could help design a functional box whose parts could be exported to a lasercutter; but it became evident that, while possible, it would have required a few work arounds and more time than I currently have at my disposal. --Rob B (talk) 06:58, 19 May 2014 (CEST)-



Ok, first FreeCAD:

As they say themselves, it is still in the early stages of development. I (Conor) have searched for documentation, and apart from the getstarted [1] there are 2 nice articles from December (so version 0.9, which btw. is in Lucid already). The funny thing is that for some reason, both are in... Polish! I understand you have polish origins, so maybe you speak Polish. Otherwise just google translate. They give you examples and a better idea of what it is right now capable of. [2] [3]

So I propose the following: you try to reproduce the steps in the articles, so you get a feeling for it. But then regardless stick with Blender a bit longer, and try FreeCAD again when version 0.11 or 0.12 comes out.

Undo doesn't work

Using FreeCAD 0.13.1828 on Windows.

  • Situation: I draw a box and modify it's size. Then I hit Ctrl+Z (or Redo from the menu).
  • What happens: Box is deleted :-(
  • Expected: Box returns to old size.

July 2012

What is the Assembly module? I presume you are thinking of an assembly module for freeCAD. We (my employer (Vanderbilt/ISIS)) may be situated to provide such a thing.


Should we move the OSE CAD Stuff to some sort of dedicated page; this page seems a bit cluttered?

--Eric (talk) 1:16, 4 August 2020 (UTC)

I saw Marcin's inquiry here about large files.

Here are options for assembly handling. Assembly3 and Assembly4 appear to be the best options now. I'm a big fan of constraints, with fully constrained sketches, and using the solver to place parts in global space, so I like Assembly3. In looking at FreeCAD 101 videos Marcin doesn't appear to like constraints so much beyond initial placement, maybe he'd prefer Assembly4.

When using such assemblies you can freeze them. As described here:

links. This means you can use one single part, e.g. a screw multiple times in an assembly (at different places) without duplicating geometry.

external links. It is possible to have a freecad document that only contains an assembly and not parts. All parts could be in single files. The files even could be in a library or anyhwere else in the file system. The only requirement is that the file must be loaded when the link is made. After the link is made, the file must be open to make updates to the links involving the file. Assembly3 solves this by opening files in the background as required.

assembly freeze. As the CPU can handle only so many concurrent constraints in real time, to freeze an assembly allows to use constraints even for large assemblies. By freezing finished assemblies or constraints that are not required to remain dynamic (e.g. welded, bolted or glued parts) those are excluded from update calculations and considered fixed geometry by the Assembly3 solver.

From my understanding when a subassembly is an external link, and frozen, it is minimally loaded. It is read-only in this state, but the geometry visible and navigable within the parent assembly. A quote from realthunder:

"The freeze function is helpful to detach part history from assembly. Say you have a part made by PartDesign containing hundreds of historical features. You can add this part into an assembly, right click the assembly item in the tree view and select 'Freeze'. The assembly will copy the part shape without history. You can then link to this assembly in your main assembly file. Next time you open the main assembly file, the sub-assembly file will be partially loaded without the history.

Please note that once an assembly is frozen, it cannot be modified. So before you freeze it, you should figure out all the constraining elements that is going to be used by any higher level assembly, and add them to the 'Element group'. You can follow this tutorial to get some idea."

Back in 2019 I tried various means of getting a complicated STEP model into FreeCAD. By using different approaches, the filesize on disk changed, and memory usage changed. It had 205 unique parts and about 260 rendered parts (many parts with multiple instances).

Without Assembly3: 2.8 GB memory usage from 43.3MB on disk (default file compression setting of 3).

With Assembly3: 1.7GB memory usage and 20MB on disk (with ReduceObjects=true option)

Assembly3 did a much better job importing the STEP file, I saw duplicate instances were linked instead of copied. IIRC I saw a further memory decrease from 1.7GB to 1.2ish by freezing the top level assemblies but didn't write about it.

When the solver runs there may be a large jump in memory usage.

realthunder and others have put a lot of effort into things since these observations so I think things may be improved.

--Andrewusu (talk) 23:52, 4 January 2021 (UTC)