This is the official source code of FreeCAD
Go to file
DeepSOIC 9f821e06b5 Sketcher: Responsivity tweaks and AngleViaPoint Constraint
Solver iteration limit independent of system size (reduces hangs when
solver fails to converge).
Repaint() instead of update() to force render for every movePoint.

Sketcher: New Constraint AngleViaPoint

* Adding generic CalculateNormal() method
* Reconfiguration of GCS geometry classes: adding a base class "Curve",
that has a pure virtual function CalculateNormal().
* Initial inplementation of the new function.
* adding Vector2D class (I wanted to reuse the existing, but got wierd
compile errors, so implemented a new one... TODO.)
* Adding redirection support into GCS shapes. Adding a Copy method to
GCS::Curve.
* Automatic point-on-object
* Angle precalculation: when AngleViaPoint is added, angle is properly calculated based on
existing geometry.
* Added tangency-via-point using one.
* Implemented placement of tangency-via-point icon in 3d view. Also
affected is the placement of point-on-object icon (since it is very
similar code, it is now shared with tangency-via-point)
* Placement and moving of angle datum
Functions: calculateAngleViaPoint, isPointOnCurve,
calculateConstraintError exposed to python
* Endpoint tangency: All endpoint-to-endpoint and endpoint-to-curve tangency now works
through AngleViaPoint constraint and obsolete code clean up (most procedures
addConstraintTangentXXX2YYY)
2015-01-02 11:48:28 +01:00
cMake Fix duplicate 'optimized' when using new libpack 2014-12-28 19:04:31 -08:00
data Arch: Fixed Arch example - fixes #1789 2014-12-31 14:42:22 -02:00
package Cleaned up the dependencies in debian control file 2014-11-07 09:34:28 -02:00
src Sketcher: Responsivity tweaks and AngleViaPoint Constraint 2015-01-02 11:48:28 +01:00
.gitattributes + Shared library of Mefisto2F 2014-01-18 00:08:25 +01:00
.gitignore ignore in src build directory 2014-11-15 21:18:52 +01:00
BuildAll.bat + unify DLL export defines to namespace names 2011-10-10 13:44:52 +00:00
BuildRelease.ini + unify DLL export defines to namespace names 2011-10-10 13:44:52 +00:00
BuildRelease.py + unify DLL export defines to namespace names 2011-10-10 13:44:52 +00:00
ChangeLog.txt + update ReadMe and ChangeLog 2014-06-30 13:51:10 +02:00
CMakeLists.txt Fix OCE / OCC version detection. 2014-12-20 22:41:31 +01:00
config.h.cmake + unify DLL export defines to namespace names 2011-10-10 13:44:52 +00:00
copying.lib Fix address of FSF in copyright notice 2012-07-05 22:59:12 +02:00
README Updated forum links to the new subdomain 2013-11-11 11:42:34 -02:00
README.Cygwin + unify DLL export defines to namespace names 2011-10-10 13:44:52 +00:00
README.Linux + update ReadMe and ChangeLog 2014-06-30 13:51:10 +02:00
README.MinGW Added pySide info to MingW readme 2014-01-09 12:02:49 -02:00
README.Win32 + Shared library of Mefisto2F 2014-01-18 00:08:25 +01:00

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.

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:                        http://sourceforge.net/p/free-cad/code/ci/master/tree/

Installing
==========

Precompiled (installable) packages are usually available to you from several sources and are
described on the FreeCAD download page: http://www.freecadweb.org/wiki/index.php?title=Download

Compiling
=========

Compiling FreeCAD requires to install several heavyweight 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
offeredby 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.

Note that autotools build system can still be used but will be obsoleted soon.

The pages below contain up-to-date build instructions:

For Linux:   http://www.freecadweb.org/wiki/index.php?title=CompileOnUnix
For windows: http://www.freecadweb.org/wiki/index.php?title=CompileOnWindows
For Mac OSX: http://www.freecadweb.org/wiki/index.php?title=CompileOnMac

In this folder you will also find additional README files, specific for each platform.

Usage
=====

The FreeCAD documentation wiki contains sections for each category of users, and a manual,
which is a compilation of the most useful articles of the wiki:

For users: General FreeCAD usage: http://www.freecadweb.org/wiki/index.php?title=User_hub
For power-users: Python scripting: http://www.freecadweb.org/wiki/index.php?title=Power_users_hub
For developers: C++ FreeCAD development: http://www.freecadweb.org/wiki/index.php?title=Developer_hub

The FreeCAD manual: http://www.freecadweb.org/wiki/index.php?title=Online_Help_Toc