Commit Graph

1299 Commits

Author SHA1 Message Date
Abdullah Tahiri
3d000b2615 Sketcher: ViewProvider representation of the Diameter Constraint 2018-07-30 00:47:23 +02:00
Abdullah Tahiri
174c96dca8 Sketcher: Double arrow label for Diameter Constraint 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
49a71e9399 Sketcher: Python SketchObject support 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
76993592ab Sketcher: Diameter support for Sketch Object 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
b320f15909 Solver: Support for Diameter constraint 2018-07-30 00:47:20 +02:00
Abdullah Tahiri
e54c33d585 GCS: Diameter constraint emulation through ConstraintEqual 2018-07-30 00:47:19 +02:00
Abdullah Tahiri
7270446ff9 GCS: Extension of ConstraintEqual to allow for a proportionality factor 2018-07-30 00:47:19 +02:00
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
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
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
hokieengr
faf9278500 Fixed default HideUnits option to FALSE 2018-07-23 12:44:26 -03:00
hokieengr
9066b354c5 Added code to strip units from display string 2018-07-23 12:44:26 -03:00
hokieengr
315a64db90 Updated hide units GUI option with more text 2018-07-23 12:44:26 -03:00
hokieengr
0fb8306380 WIP. Moving to other machine. 2018-07-23 12:43:46 -03:00
hokieengr
504e75d441 WIP. Added logic to not hide non-base units. 2018-07-23 12:43:46 -03:00
hokieengr
8662d1af1b WIP. Moved code to hide units to seperate function 2018-07-23 12:43:46 -03:00
Bob
785770e66e Add getPresentationValue function prototype 2018-07-23 12:41:14 -03:00
hokieengr
2a2324d7f5 WIP. Added logic to hide units on distance dimensions.
More of a prototype than anything else right now. Will find a better way to add this functionality to the rest of Sketcher.
2018-07-23 12:41:14 -03:00
hokieengr
341b90a33d Added option to hide units in sketch
Currently not hooked up to anything just yet.
2018-07-23 12:41:14 -03:00
JimStar
8a8348e72b Extended global marker size to be used for Sketcher 2018-07-11 21:22:28 -03:00
Abdullah Tahiri
6a4cd63510 Sketcher: Fix deleteall crash 2018-06-10 19:57:42 +02:00
wmayer
5ff103615f fix -Wmaybe-uninitialized 2018-06-09 12:05:19 +02:00
Abdullah Tahiri
2c89860a38 Sketcher: Wrong DoF reported - Fixes #3503 2018-06-09 11:11:46 +02:00
wmayer
8472bcba15 msvc2013 doesn't support default arguments in lambda expressions 2018-06-09 11:09:29 +02:00
Abdullah Tahiri
eacb14c3d4 Sketcher: Python interface to solveraid 2018-06-09 11:02:53 +02:00
Abdullah Tahiri
ce31cecc95 Sketcher: Ability for SketchObject to create a list of dependent geometric elements 2018-06-09 11:02:43 +02:00
Abdullah Tahiri
f8d90fc6db GCS: Improved point symmetry constraint
=======================================

The original implementation won't work when the point is already on the line. See:
https://forum.freecadweb.org/viewtopic.php?f=3&t=29115#p237397

The new implementation works on the projections of the vectors linking the two first points with the symmetry point on the vector linking the two first points.

This assures that there is no stability problem when the point is already on the symmetry axis.
2018-06-09 10:50:05 +02:00
Abdullah Tahiri
a6fa514665 GCS: Add convenience point constructor 2018-06-09 10:49:55 +02:00
Abdullah Tahiri
0b4a2d2937 Sketcher: Do not update point height when highlighted i.e. (pre)selected 2018-06-02 16:44:57 +02:00
Abdullah Tahiri
8ebb8ce90b Sketcher: Empty list means all geometry for Python addCopy addRectangularArray and addMove 2018-05-31 14:36:21 +02:00
Abdullah Tahiri
fbf5114073 Sketcher: New tool bar icon under the copy command to move 2018-05-31 14:35:54 +02:00
Abdullah Tahiri
6c871bf95f Sketcher: move icon art 2018-05-31 14:35:14 +02:00
Abdullah Tahiri
93843aee9f Sketcher: Python support for moving Geometry 2018-05-31 14:34:58 +02:00
Abdullah Tahiri
cd8a5310e3 Sketcher: Moving Geometry Support 2018-05-31 14:34:31 +02:00
Abdullah Tahiri
3eb5759da5 Sketcher: Improved B-Spline creation 2018-05-31 14:33:58 +02:00
Abdullah Tahiri
f8e3f0ce3e Sketcher: Extend existing rendering order for lines to points 2018-05-31 14:31:29 +02:00
Abdullah Tahiri
278c8266cd Sketcher: Optional extended naming for constraints widget giving first-second-third information 2018-05-31 14:29:00 +02:00
wmayer
d6bf698d28 suppress warning C4996 2018-05-31 13:42:35 +02:00
wmayer
37411e0a7b fix string 2018-05-31 13:27:38 +02:00
wmayer
ed0642e308 fix const correctness 2018-05-31 13:15:31 +02:00
wmayer
443dde8d6c fix const correctness 2018-05-31 12:49:23 +02:00
Abdullah Tahiri
29f87ca6cd Sketcher: error message when trying to increase the degree of not-a-bspline fixes #3471 2018-05-31 11:42:24 +02:00