Commit Graph

14185 Commits

Author SHA1 Message Date
Abdullah Tahiri
831e455e50 Sketcher: Diameter Constraint Python support 2018-07-30 00:47:18 +02:00
Abdullah Tahiri
5b9a794228 Sketcher: New Sketcher Constraint Diameter 2018-07-30 00:47:18 +02:00
wmayer
bc5a84cb09 add missing export macro 2018-07-29 15:53:56 +02:00
Abdullah Tahiri
f7c827cd23 Sketcher: Add command to delete all constraints to menu 2018-07-29 13:44:09 +02:00
Abdullah Tahiri
d78b5874da Sketcher: UI command to delete all the constraints at once 2018-07-29 13:44:09 +02:00
Abdullah Tahiri
9f969e558c Sketcher: Python command to delete all the constraints at once 2018-07-29 13:44:07 +02:00
Abdullah Tahiri
6e865aa3e5 Sketcher: Python SketchObject implementation
Exposure of all the functionality in the previous commits to Python
2018-07-29 13:44:07 +02:00
Abdullah Tahiri
d91f338a1a Sketcher: SketchObject adaptation to Sketch Analysis
Apart for the inclusion of the Analysis functionality, SketchObject has been improved to provide:

- A fast painless deleteAllConstraints() function

- A fast painless constraint group deletion, delConstraints(std::vector<int> ConstrIds, bool updategeometry)
2018-07-29 13:44:07 +02:00
Abdullah Tahiri
e8e1f13e57 Sketcher: Make use of Sketch Analysis for Sketch Validation - refactoring 2018-07-29 13:44:06 +02:00
Abdullah Tahiri
f809d67685 Part: Improvement to closest parameter determination when the projection does not exist in the trimmer curve 2018-07-29 13:44:06 +02:00
Abdullah Tahiri
8431385b44 Sketcher: Sketch Analysis tool and autoconstraining algorithms
A series of algorithms to detect missing constraints and create them.

Each of the algorithms is divided in different steps for maximum flexibility:

    /// There is a first type of routines, simple routines, which work in the following order:
    /// Detect - (Analyse) - [Get] - [Set] - Make
    ///
    /// The Detect step just identifies possible missing constraints.
    ///
    /// The Analyse, which is not available for all the routines, operates in detected constraints of the same routine, to
    /// look for alternatives. For example, a general pointonpoint detection leads to a search for coincident constraints, which
    /// can be later run via Analyse if it is intended to convert endpoint coincidence to endpoint perpendicular and tangent constraints.
    ///
    /// The Get retrieves the result of the analysis as a vector of ConstraintIds, indicating the suggested constraints. This step is intended
    /// for enabling the user to check the result of the analysis, rather than applying it. If only applying is intended, this step is not necessary
    /// as the Make will operate on the result of the Detect - Analyse directly.
    ///
    /// The Set changes the detected result. It modifies the SketchAnalysis object. It only modifies the SketchObject as far as the SketchAnalysis is changed.
    /// It does not apply any changes to the sketch. It is intended so as to enable the user to change the result that will be applied.
    ///
    /// Neither the Detect, nor the Analyse, nor the Get steps modify the Sketch geometry.
    ///
    /// Make applies the constraints stored internally in the SketchAnalysis object.

It includes an automatic constraining algorithm for coincidences, horizontals/verticals and equality:

    /// A second type of routines, complex routines, are thought for running fully automatic and they Detect, Analyse and Make.
    /// They may also apply a variaty of types of Constraints.

It also includes some helper functions, like autoRemoveRedundants
2018-07-29 13:44:06 +02:00
tomate44
32db13241b add a missing check for OCC version 2018-07-29 11:50:08 +02:00
tomate44
eae378431c cleanup of defeaturing in Part Gui 2018-07-29 11:50:07 +02:00
tomate44
30cac3716a add OCC defeaturing to PartWB Gui 2018-07-29 11:50:07 +02:00
tomate44
8d177f3caf add python binding of OCC defeaturing 2018-07-29 11:50:06 +02:00
tomate44
607a6c122b add OCC defeaturing to TopoShape 2018-07-29 11:50:06 +02:00
wmayer
8943dc5fdf expose methods to Python to change navi cube settings 2018-07-29 11:32:54 +02:00
Eivind Kvedalen
5670ef0e2a Fix for issue #3541: Normalize xDir vector for Hole feature to correct hole diameter. 2018-07-29 01:03:17 +02:00
wmayer
a3a15e5b8e fixes #0003538: MacOSX 10.13 not in the 'About FreeCAD' dialog 2018-07-28 16:06:15 +02:00
luz.paz
323d5db720 PartDesign: fixes for Qt 5.11
Similiar to changes made in 7e63a33b8b
CC @efferre79
2018-07-28 15:32:43 +02:00
Przemo Firszt
f9d643aac6 Change method of counting commits
The count of commits in unshallowed copy should always match the actual
number of commits in the master repository, so the is no need for
workarounds.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2018-07-28 15:25:35 +02:00
Przemo Firszt
7c6fdd91cc Add libspnav to fedora spec 2018-07-28 15:25:34 +02:00
wmayer
25456c08de fix -Wunused 2018-07-28 12:56:31 +02:00
wmayer
5e75f3bc97 remove undesired dependency of Mesh to Part module 2018-07-28 11:58:39 +02:00
wmayer
424c78d451 implement fast mesh rendering for Qt5 port (7x faster) 2018-07-28 11:08:03 +02:00
Yorik van Havre
e37225a578 Arch: other small bugfix in IFC exporter 2018-07-27 17:07:44 -03:00
Yorik van Havre
b920b38b85 Arch: Fixed storey height bug in IFC export 2018-07-27 16:41:20 -03:00
luz.paz
9bd704d320 Misc. code comment typo fixes
Found via `codespell -q 3 -I ../fc-word-whitelist.txt --skip="*.ts,*.po,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./.git,./src/zipios++"`
2018-07-27 10:39:43 -03:00
Philipp Tenbrock
8b54584752 Fixed DAE export of groups including sub-groups and sub-parts 2018-07-27 10:39:00 -03:00
wandererfan
e1e5ca413b Fix #3329 globalPosition in Stl export 2018-07-27 10:37:06 -03:00
Yorik van Havre
6ca4d89cce Arch: bugfixes in IFC exporter 2018-07-26 19:23:48 -03:00
wandererfan
6005da2464 Export DocObjectPy/TopoShapePy to Dxf (Import module) 2018-07-26 10:02:25 -03:00
wmayer
170708a4f1 Mesh improvements:
+ support of Simple Model Format (smf)
+ improve reading of STL files (reduce by ~70%)
2018-07-26 13:19:35 +02:00
Yorik van Havre
90a047b5e8 Draft: Snap to BuildingPart base points 2018-07-25 20:25:11 -03:00
Yorik van Havre
cd1fc63b06 Arch: bugfix in IFC exporter 2018-07-25 20:24:50 -03:00
wmayer
013e8108c0 add option to drag at cursor instead of view center 2018-07-25 22:36:35 +02:00
wmayer
bf7867a6e6 add brnading option to show full version number in splash screen 2018-07-25 22:26:54 +02:00
wmayer
b34fe95808 minor changes 2018-07-25 21:49:21 +02:00
wmayer
446029adc4 add url handler to handle certains protocols differently 2018-07-25 21:48:55 +02:00
wmayer
0260370b65 + add option to switch off precompiled header 2018-07-25 20:17:11 +02:00
wmayer
4c8e7fc7d0 + raise exception instead of crashing when trying to access curvature info via Python 2018-07-25 20:12:55 +02:00
wmayer
f0a13f0530 fix possible crash in Quarter viewer 2018-07-25 19:50:25 +02:00
wmayer
ed7a734bd1 Merge branch 'master' of https://github.com/FreeCAD/FreeCAD 2018-07-25 18:01:02 +02:00
wmayer
989274a331 + Improve mesh selection (precompute projection matrix and use polygon bounding box) 2018-07-25 18:00:42 +02:00
Yorik van Havre
00b1d11940 Merge branch 'master' of github.com:FreeCAD/FreeCAD 2018-07-25 12:56:20 -03:00
Yorik van Havre
2d0432d711 Draft: Added variable to be able to start Move command in copy mode 2018-07-25 12:55:55 -03:00
Yorik van Havre
8b33e6829b Part: Fixed wording in ShapeBuilder messages 2018-07-25 12:55:27 -03:00
wmayer
a1309f1b66 + move implementation of Base::ifstream and Base::ofstream to header and remove export macro.
This is needed for VS 2013 to avoid that it exports methods of the base class and thus causing linker errors for modules that link FreeCADBase
2018-07-25 17:50:30 +02:00
wmayer
cc8948983e minor fix 2018-07-25 17:49:28 +02:00
wmayer
7dc1dd21fb + implement a faster method to multiply vector with matrix
+ add convenience method to transform a point array
2018-07-25 17:31:11 +02:00