========================================================= fixes #3084 fixes #3061 (at least what it is understood in the analysis as being a bug, the visualization left). Basically when deleting a feature, if it is the base feature (feature with which it will merge or cutout), the dependent objects' base feature is made to be the base feature of the object being deleted. This code pre-existed at body level, but was not being called (see below). Additionally, if the visible object is not the one being deleted, we leave that one visible. If the visible object is the one being deleted, we make the previous object visible. Deletion from the tree of a feature is handled by Document.removeObject, which has no clue about what a body is. Therefore, Bodies, although an 'activable' container, know nothing about what happens at Document level with the features they contain. The Deletion command StdCmdDelete::activated, however does notify the viewprovider corresponding to the feature (not body) of the imminent deletion (before actually doing it). Consequently, the only way of notifying a body of the imminent deletion of one of its features so as to do the clean up required (moving basefeature references, tip management) is from the viewprovider of the feature being deleted.
FreeCAD
FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialties. It is 100% Open Source (LGPL2+ license) and extremely modular, allowing for very advanced extension and customization.
FreeCAD is based on OpenCASCADE, a powerful geometry kernel, features an Open Inventor-compliant 3D scene representation model provided by the Coin 3D library, and a broad Python API. The interface is built with Qt. FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and Linux platforms.
Installing
Precompiled (installable) packages are available for Windows and Mac on the Releases page.
On most Linux distributions, FreeCAD is directly installable from the software center application.
Other options are described at the wiki Download page.
Build Status 
| Master | 0.16 | Translation |
|---|---|---|
Compiling
Compiling FreeCAD requires installation of several libraries and their development files such as OpenCASCADe, Coin and Qt, listed in the pages below. Once this is done, FreeCAD can be simply compiled with cMake. On Windows, these libraries are bundled and offered by the FreeCAD team in a convenient package. On Linux, they are usually found in your distribution's repositories, and on Mac OSX and other platforms you will usually need to compile them yourself.
The pages below contain up-to-date build instructions:
Usage & Getting help
The FreeCAD wiki contains documentation on general FreeCAD usage, Python scripting, and development. These pages might help you get started:
The FreeCAD forum is also a great place to find help and solve specific problems you might encounter when learning to use FreeCAD.