DeepSOIC 3838bddcdb AngleViaPoint Constraint
AngleViaPoint: fixes in UI routines + new messages

Goofed undo message in tangency via point is fixed.
Forgotten updateActive, clearSelection have been added.
New more informative error messages for tangent constraint.

AngleViaPoint: using it instead of via line tangency

* replaced the helper construction line for ellipse-to-ellipse and
similar tangency with a point. Using tangent-via-point there
* deleted tangency via line for point-to-point on
(cherry picked from commit 9e3fa8c8de0f49c0ef3c978e015eb905358dbdd9)

AngleViaPoint: internal/external tangency locking

*Added automatic tangency type lockdown for all new constraints (only
for point-wise tangency).
Tangency type is stored in the constraint datum field, as an angle value
shifted by Pi/2 (to be able to treat 0.0 as undefined type).
Added ability to switch the tangency by setting datum value from python
(can be abused by passing arbitrary angle).
Further simplified the tangency related code in Sketch.cpp.

AngleViaPoint: added license to Geo.cpp

AngleViaPoint: renames in Constraints.cpp/.h

Changed some names to increase self-explanatoryness:
bool "remapped" renamed to "pvecChangedFlag"
"ReconstructEverything()" renamed to "ReconstructGeomPointers()"

AngleViaPoint: renames in Constraints.cpp/.h

Changed some names to increase self-explanatoryness:
bool "remapped" renamed to "pvecChangedFlag"
"ReconstructEverything()" renamed to "ReconstructGeomPointers()"

AngleViaPoint: using for endpoint perpendicularity

+ direction lockdown, just as with tangency.
+ quite a lot of old code is gone because of that

AngleViaPoint: perp-ty UI routine made similar to tangent

(Git has made a very messy diff.)
The changes are:
* Perpendicularity-via-point (3-element selection) support added.
* Endpoint-to-curve and endpoint-to-endpoint supports all shape
combinations.
* a bit of code cleanup and clarifications.

AngleViaPoint: placement of perpendicular icon in 3d view

AngleViaPoint: fix: allow setDatum of perpendicular constraint

AngleViaPoint: fix: centers of ellipses are not endpoints

isSimpleVertex used to return false for centers of ellipses and arcs of
ellipses, which made them being accepted for point-to-point tangency.
Should be fixed forever, mo more changes are expected to be necessary
for new types of geometry.

AngleViaPoint: precalc with OCC (work in progress)

Work in progress (not yet working).
Using OCC's tangent to replace implementation of
SketchObject::calculateAngleViaPoint.

AngleViaPoint: fix math: normal now points inwards, where it was intended initially and goofed up.

AngleViaPoint: adding comments to the code

AngleViaPoint: using GeomCurve::closestParameterToBasicCurve for angle precalculation

AngleViaPoint: Py method: changeConstraintsLocking

changeConstraintsLocking(True) - locks/re-locks all lockable
tangency/perpendicularity constraints of the sketch (applicable to
existing sketches).
changeConstraintsLocking(False) - removes locking information from
lockable constraints

AngleViaPoint: final SketchObject::calculateAngleViaPoint

Now, finally, using OCC functionality (thanks Abdullah!), without
composing temporary Sketch object.
2015-01-02 11:48:29 +01:00
2015-01-02 11:48:29 +01:00
2014-01-18 00:08:25 +01:00
2014-11-15 21:18:52 +01:00
2014-06-30 13:51:10 +02:00
2014-06-30 13:51:10 +02:00
2014-01-09 12:02:49 -02:00
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














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%