FreeCAD: master 97f37529
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
Abdullah Tahiri | wmayer | master | 2018-07-09 07:16:22 | master b40c1f16 |
Changeset | 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 |
|||
add - src/Mod/Sketcher/App/Analyse.h | Diff File | |||
mod - src/Mod/Sketcher/App/CMakeLists.txt | Diff File | |||
add - src/Mod/Sketcher/App/SketchAnalysis.cpp | Diff File | |||
add - src/Mod/Sketcher/App/SketchAnalysis.h | Diff File |