Stefan Tröger 89bbb81521 Extension: Fix order-of-initialisation crash
FreeCADs property system utilises some pointer math to calculate the offset between
property and base class. Due to virtual inheritance of th ePropertyContainer the memory
layout has been changed to rather random, which has lead to crashes dependend on the
order of object initialisation.

The solution is to not make PropertyContaner virtual but a class below, Base::Persitance.
Then the memory layout is random for Persistance, but it is perfectly aligned for the
base class chains from PropertyContainer onwards as well as from Extension onwards.
Hence the proeprty system was changed to take the offset always from those two.
2016-10-08 12:48:34 +02:00
2016-09-27 13:04:47 -03:00
2015-10-09 08:19:23 +02:00
2014-01-18 00:08:25 +01:00
2016-08-01 13:16:58 -03:00
2014-06-30 13:51:10 +02:00

FreeCAD

screenshot

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.

Home page: http://www.freecadweb.org

Documentation wiki: http://www.freecadweb.org/wiki/

Forum: http://forum.freecadweb.org/

Bug tracker: http://www.freecadweb.org/tracker/

Git repository: https://github.com/FreeCAD/FreeCAD

Installing

Precompiled (installable) packages are available for Windows and Mac on the releases page at https://github.com/FreeCAD/FreeCAD/releases

On most Linux distributions, FreeCAD is directly installable from the software center application.

Other options are described at http://www.freecadweb.org/wiki/index.php?title=Download

Build Status

Master 0.16
Master 0.16

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 convenience 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:

For Linux: http://www.freecadweb.org/wiki/?title=CompileOnUnix

For Windows: http://www.freecadweb.org/wiki/?title=CompileOnWindows

For Mac OSX: http://www.freecadweb.org/wiki/?title=CompileOnMac

For Cygwin: http://www.freecadweb.org/wiki/?title=CompileOnCygwin

For MinGW: http://www.freecadweb.org/wiki/?title=CompileOnMinGW

Usage & Getting help

The FreeCAD documentation wiki contains a lot of documentation on general FreeCAD usage, python scripting, and development. The following pages might help you get started:

Getting started: http://www.freecadweb.org/wiki/?title=Getting_started

Features list: http://www.freecadweb.org/wiki/?title=Feature_list

Frequent questions: http://www.freecadweb.org/wiki/?title=FAQ

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

Scripting: http://www.freecadweb.org/wiki/?title=Power_users_hub

Development: http://www.freecadweb.org/wiki/?title=Developer_hub

The FreeCAD forum at http://forum.freecadweb.org is also a great place to find help and solve specific problems you might encounter when learning to use FreeCAD.

Description
No description provided
Readme LGPL-2.1 7.9 GiB
2026-02-27 16:25:02 +00:00
Languages
C++ 51.5%
Python 45.8%
C 1.3%
CMake 0.8%
NSIS 0.2%
Other 0.2%