This is the official source code of FreeCAD
Go to file
Abdullah Tahiri 19c840e1ab Sketch: Solver: Extended Advanced Solver configuration
========================================================

This is an advanced setting just for allowing increased choices to power users that have problems with a given sketch and want to
test different flavours of DogLeg algorithm.

This commit does not change the default behaviour of FreeCAD. It is only intended to give more options to power users.

The advanced solver configuration is extended to support three different Gauss-newton steps for DogLeg:

FullPivLU => h_gn = Jx.fullPivLu().solve(-fx);
LeastNormFullPivLU => h_gn = Jx.adjoint()*(Jx*Jx.adjoint()).fullPivLu().solve(-fx);
LeastNormLdlt => h_gn = Jx.adjoint()*(Jx*Jx.adjoint()).ldlt().solve(-fx);

This setting is applied only to DogLeg. It is applied to DogLeg as normal or redundant solver, if DogLeg is the selected solver.

Selecting a solver different from DogLeg for both normal and redundant disables the setting.

We have been told:
https://forum.kde.org/viewtopic.php?f=74&t=129439#p346104

that our default Gauss-Newton step in DogLeg may not be adequate in general (we generally deal with underconstraint systems
unless we have a fully constraint sketch, and even then it is many times overconstraint at least for redundant solving).

We have been told that maybe these LeastNorm options are more suitable for us (performance set aside). This enables you as power
user to test if it works fine with FreeCAD.
2015-11-28 13:08:31 +01:00
cMake + fix error message in PySide check macro 2015-10-10 10:08:24 +02:00
data Arch: Fixed Arch example - fixes #1789 2014-12-31 14:42:22 -02:00
package Fixed screenshot URL in Gnome appdata file - fixes #2179 2015-07-03 18:48:22 -03:00
src Sketch: Solver: Extended Advanced Solver configuration 2015-11-28 13:08:31 +01:00
.arcconfig add config for arcanist 2015-10-09 08:19:23 +02:00
.gitattributes + Shared library of Mefisto2F 2014-01-18 00:08:25 +01:00
.gitignore Better PDF generation script 2015-03-21 17:45:08 -03:00
.log_errors Travis: run FreeCAD and check log against .log_errors 2015-09-23 10:06:19 +02:00
.travis.yml Travis CI: Add internal tests 2015-10-01 12:18:28 +02: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 + fixes #0002329: remove the 2 now obsolete Pivy versions distributed with FreeCAD source code 2015-11-05 21:26:05 +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.md Fixed git link in readme 2015-08-06 11:11:04 -03: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 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 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 to 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 that you might encounter when learning to use FreeCAD.