Commit Graph

10836 Commits

Author SHA1 Message Date
Abdullah Tahiri
f41c1a9696 Sketcher: Python SketchObject support 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
103260872c Sketcher: Diameter support for Sketch Object 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
1e2df1054c Solver: Support for Diameter constraint 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
424d68085e GCS: Diameter constraint emulation through ConstraintEqual 2018-07-30 00:47:19 +02:00
Abdullah Tahiri
dcdb664709 GCS: Extension of ConstraintEqual to allow for a proportionality factor 2018-07-30 00:47:19 +02:00
Abdullah Tahiri
4ae2692fe2 Sketcher: Diameter Constraint Python support 2018-07-30 00:47:18 +02:00
Abdullah Tahiri
4bbc7ea786 Sketcher: New Sketcher Constraint Diameter 2018-07-30 00:47:18 +02:00
wmayer
8ef330d19a add missing export macro 2018-07-29 15:53:56 +02:00
Abdullah Tahiri
1899987e89 Sketcher: Add command to delete all constraints to menu 2018-07-29 13:44:09 +02:00
Abdullah Tahiri
74a5a066c9 Sketcher: UI command to delete all the constraints at once 2018-07-29 13:44:09 +02:00
Abdullah Tahiri
cd5aa8975e Sketcher: Python command to delete all the constraints at once 2018-07-29 13:44:07 +02:00
Abdullah Tahiri
0024d1b0c4 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
527c814ddc 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
3dfb202380 Sketcher: Make use of Sketch Analysis for Sketch Validation - refactoring 2018-07-29 13:44:06 +02:00
Abdullah Tahiri
de9e7cc942 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
97f375296b 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
b40c1f16b5 add a missing check for OCC version 2018-07-29 11:50:08 +02:00
tomate44
3c049e44f1 cleanup of defeaturing in Part Gui 2018-07-29 11:50:07 +02:00
tomate44
d5db3ff588 add OCC defeaturing to PartWB Gui 2018-07-29 11:50:07 +02:00
tomate44
1f63d6a103 add python binding of OCC defeaturing 2018-07-29 11:50:06 +02:00
tomate44
4a0ea3c0ec add OCC defeaturing to TopoShape 2018-07-29 11:50:06 +02:00
Eivind Kvedalen
c2ada8eacd Fix for issue #3541: Normalize xDir vector for Hole feature to correct hole diameter. 2018-07-29 01:03:17 +02:00
luz.paz
23b30518b9 PartDesign: fixes for Qt 5.11
Similiar to changes made in 7e63a33b8b
CC @efferre79
2018-07-28 15:32:43 +02:00
wmayer
61a6fbe6d2 fix -Wunused 2018-07-28 12:56:31 +02:00
wmayer
c2ab3f02cd remove undesired dependency of Mesh to Part module 2018-07-28 11:58:39 +02:00
wmayer
039e972a4b implement fast mesh rendering for Qt5 port (7x faster) 2018-07-28 11:08:03 +02:00
Yorik van Havre
db4f47cf28 Arch: other small bugfix in IFC exporter 2018-07-27 17:07:44 -03:00
Yorik van Havre
ee154d9203 Arch: Fixed storey height bug in IFC export 2018-07-27 16:41:20 -03:00
luz.paz
0576524144 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
4c188ec0f5 Fixed DAE export of groups including sub-groups and sub-parts 2018-07-27 10:39:00 -03:00
wandererfan
e267eac7bb Fix #3329 globalPosition in Stl export 2018-07-27 10:37:06 -03:00
Yorik van Havre
e45a3674f0 Arch: bugfixes in IFC exporter 2018-07-26 19:23:48 -03:00
wandererfan
c28f95d9f5 Export DocObjectPy/TopoShapePy to Dxf (Import module) 2018-07-26 10:02:25 -03:00
wmayer
6cc1524a0d 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
98af9aabd9 Draft: Snap to BuildingPart base points 2018-07-25 20:25:11 -03:00
Yorik van Havre
78fea67043 Arch: bugfix in IFC exporter 2018-07-25 20:24:50 -03:00
wmayer
d3ef6905ff + add option to switch off precompiled header 2018-07-25 20:17:11 +02:00
wmayer
08fcd58e9d + raise exception instead of crashing when trying to access curvature info via Python 2018-07-25 20:12:55 +02:00
wmayer
b7ac2807fe Merge branch 'master' of https://github.com/FreeCAD/FreeCAD 2018-07-25 18:01:02 +02:00
wmayer
65879dfe63 + Improve mesh selection (precompute projection matrix and use polygon bounding box) 2018-07-25 18:00:42 +02:00
Yorik van Havre
2b04db09e3 Merge branch 'master' of github.com:FreeCAD/FreeCAD 2018-07-25 12:56:20 -03:00
Yorik van Havre
d034c0083c Draft: Added variable to be able to start Move command in copy mode 2018-07-25 12:55:55 -03:00
Yorik van Havre
f6fdad4d07 Part: Fixed wording in ShapeBuilder messages 2018-07-25 12:55:27 -03:00
wmayer
806ad88c5a + 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
Yorik van Havre
1885036139 Arch: Added preference option for screen helpers color (axes, grids, etc...) 2018-07-25 10:56:12 -03:00
Yorik van Havre
111c0496b4 Draft: Minor bugfix 2018-07-24 17:10:18 -03:00
Yorik van Havre
64c760f537 Added Standard Code property to all components 2018-07-24 11:58:55 -03:00
Yorik van Havre
4394862794 Arch: Reorganizing structural profiles + added eurocode timber sizes 2018-07-24 11:58:34 -03:00
Yorik van Havre
7bac2a610a Arch: minor bugfix 2018-07-23 21:13:14 -03:00
Yorik van Havre
acf18c193c Arch: Minor fixes in Materials 2018-07-23 19:43:04 -03:00