This is the official source code of FreeCAD
![]() Fix AngleViaPoint to support new derivative calculation technique. OpticConstraints: Adding Snell's law. Fix AngleViaPoint to support new derivative calculation technique. Snell's law constraint added to GCS, but not yet exposed and cannot be tested. Since the way CalculateNormal() returns derivatives had changed, AngleViaPoint constraint needed modifications. Nothing serious. OpticConstraints: SnellsLaw progress Addable through python. Fix math. Some quick-and-dirty visual stuff to get rid of hangs and to see the constraint in action. OpticConstraints: SnellsLaw: flipping logic fix OpticConstraints: SnellsLaw progress Added toolbar button. Allowed editing a datum by doubleclick. New error message approach during constraint creation. OpticConstraints: SnellsLaw OpticConstraints: SnellsLaw: list label improvement OpticConstraints: SnellsLaw: fix after rebase OpticConstraints: SnellsLaw: expose helper constraints Snell's law internally is made of three constraints: point-on-object, coincident and the Snell's sin/sin. They were all buried under one UI constraint. Exposing them allows to construct reflection and birefringence on the point (attempting to do so used to result in redundant constraints and was often not functional at all). This commit breaks compatibility with older files. OpticConstraints: SnellsLaw: small refactor of math Placing the duplicated code of error and gradient calculation into a private method. OpticConstraints: SnellsLaw: fix datum edit unit OpticConstraints: SnellsLaw: fix datum edit bug After previous fix, the dimensionless value was not accepted (the constraint's value did not change, the changes were ignored). |
||
---|---|---|
cMake | ||
data | ||
package | ||
src | ||
.gitattributes | ||
.gitignore | ||
BuildAll.bat | ||
BuildRelease.ini | ||
BuildRelease.py | ||
ChangeLog.txt | ||
CMakeLists.txt | ||
config.h.cmake | ||
copying.lib | ||
README | ||
README.Cygwin | ||
README.Linux | ||
README.MinGW | ||
README.Win32 |
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