Commit Graph

23868 Commits

Author SHA1 Message Date
Abdullah Tahiri
b0492010d0 Sketcher: SketchObject - Add ability to diagnose constraint redundancy before addition
======================================================================================

It preserves the SketchObject properties. Therefore it does not trigger any property update, redraws, ...
2022-06-28 18:58:15 +02:00
Abdullah Tahiri
ad6576d385 Sketcher: SolverGeometryExtension and sketch parameter information improvements
===============================================================================

* SolverGeometryExtension is extended to:
- Enable to determine whether the x or the y of a point is a dependent or independent parameter
- Extend SolverExtension to provide information on individual edge parameters
- Convenience access to DoF status

* Sketch (solver interface) is extended to store geometry parameter dependency state, for these reasons:

Geometry and Constraint solver information is generated when performing a full solve() [QR decomposition + minimization(e.g. DogLeg)].

Constraint information remains in the sketch object (not SketchObject, but sketch), which is then retrieved by SketchObject.

Geometry information is incorporated to the deep copy of Geometry that the sketch object comprises. However, this information is only
available outside the sketch object, if the Geometry property of SketchObject is assigned. This is always the situation after a successful
full solve. However, it is not the case in a successful temporary minimal diagnosis (here succesful relates to conflicting/redundant constraints and
convergence).

The lightweight solution is to keep a (shallow) copy of the SolverGeometryExtensions (shared pointer) to be retrieved by GeoId, which is what is provided.
2022-06-28 18:57:17 +02:00
Roy-043
732489de2d Draft: Fix default fillmode in DraftGui.py 2022-06-28 15:42:28 +02:00
tomate44
63733dcaa2 Part: add method to project point on curve 2022-06-28 12:58:49 +02:00
wmayer
2c3ef52dba Part: move BiArcs algorithm to its own class 2022-06-28 12:42:15 +02:00
wmayer
523d364c92 Part: fix GeomBSplineCurve::toBiArcs
If tangent of start and end point are parallel then also check a tangent in between to make sure that it can be considered a straight line
See https://forum.freecadweb.org/viewtopic.php?f=8&t=69710
2022-06-28 11:26:35 +02:00
mosfet80
c86f0ce670 Remove old msc ver. Freecad 0.20 require 64 bit and windows 7 or higher. For this reason, msc libraries less than 1800 will no longer be used. (#7036)
* remove msc<1800
2022-06-28 00:42:33 +02:00
sliptonic
32e6d9facc Merge pull request #7096 from sliptonic/bug/camotics
[Path] Fix import error if camotics not installed.
2022-06-27 08:53:26 -05:00
Yorik van Havre
29f5e2cc83 Update src/Mod/Draft/draftguitools/gui_selectplane.py
Co-authored-by: 0penBrain <48731257+0penBrain@users.noreply.github.com>
2022-06-27 11:51:51 +02:00
Roy-043
a574cdb6b2 Draft: Fix align working plane to DatumPlane bug 2022-06-27 10:26:59 +02:00
Uwe
5f5ae2fe4a [FEM] fix point filter initialization issue
- on opening the task dialog of existing point filter, the point value must be displayed
2022-06-27 01:07:36 +02:00
Uwe
5ca796a162 [TD] fix linker error with MSVC
patch by @wwmayer: https://forum.freecadweb.org/viewtopic.php?p=605472#p605472
many thanks!
2022-06-26 22:38:49 +02:00
sliptonic
d652ee48b2 Also check that the module imports correctly 2022-06-26 14:09:28 -05:00
Mikael Ågren
5db753ae0a Restore drilling op retract value to user supplied Retract Height
Restores the retract behaviour to pre f7b73e8. After f7b73e8 Retract
Height is no longer used.
2022-06-26 19:43:00 +02:00
wmayer
e84f1ef14e TD: minor fixes:
* remove superfluous semi-colons
* if a method is declared override then the keyword virtual should be dropped
2022-06-26 15:51:43 +02:00
wmayer
bfbf23d698 Draft: handle the absence of the Drawing module in the unit tests 2022-06-26 12:07:48 +02:00
Abdullah Tahiri
d6fcce96b1 Sketcher: Fix warning not all enum handled in switch 2022-06-26 06:39:10 +02:00
Abdullah Tahiri
ad23b275a1 Sketcher: Constraints - add ability to generate constraint type string 2022-06-25 19:18:15 +02:00
sliptonic
ee66417a57 Merge pull request #6760 from Russ4262/fix/dressup_leadinout
Path: Fixes #6693 - Add Z and K values to arc commands
2022-06-25 12:10:48 -05:00
Abdullah Tahiri
088ca8ee03 Part: Geometry - Add Ellipse minor radio convenience function 2022-06-25 19:03:11 +02:00
Abdullah Tahiri
30f46d3a34 Part: Geometry - function to get the conic axis direction 2022-06-25 19:03:11 +02:00
wmayer
2628fb0350 App: fix memory leaks in Enumeration class and simplify code 2022-06-25 18:18:57 +02:00
wmayer
71aa31f9fa Draft: handle the absence of the Drawing module in the unit tests 2022-06-25 18:05:23 +02:00
wmayer
1459fd61a4 cppcoreguidelines-special-member-functions
* disable move constructor and move assignment for several core classes
2022-06-25 17:46:48 +02:00
sliptonic
abc41e5102 Fix import error if camotics not installed. 2022-06-25 10:25:08 -05:00
wmayer
223de8f60f cppcoreguidelines-pro-type-union-access
According to https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Ru-pun using union for type-punning is undefined behaviour.
  See also https://en.wikipedia.org/wiki/Type_punning#Use_of_union. Replace it with std::memcpy.
2022-06-25 17:17:04 +02:00
Uwe
68b02d0641 [PD] re-add accidentally removed code in commit 7bdad502 2022-06-25 16:44:44 +02:00
Uwe
61edc1c0d8 [PD] Hole initialization bugfix
- by default there is no hole head cut and therefore its parameter must be initialized as read-only (will be enably when user sets a head cut)

- also fix a typo

- also fix a UI file issue (automatically done by Qt Designer)
2022-06-25 16:36:50 +02:00
Wanderer Fan
7d39177c67 [TD]remove build depend on DrawingWB 2022-06-25 10:22:30 -04:00
wmayer
960318a8ca Part: re-add dropped parameter (7bdad5023c1) 2022-06-25 16:14:14 +02:00
Kuzemko Alexsandr
5090bdb203 [Part] Fix display "labelfillet" name for Chamfer and Fillet (#7083)
* Fix display "labelfillet" name for Chamfer and Fillet
* Synchronize options name with PartDesign_Chamfer. Proposed by  @Roy-043
@Roy-043 https://github.com/FreeCAD/FreeCAD/pull/7074#issuecomment-1165303970
2022-06-25 15:04:15 +02:00
andrea
c66aadeb60 removed references to OCC<7 2022-06-25 14:29:24 +02:00
wmayer
d5340a82ab Gui/Mod: replace several reinterpret_cast with static_cast 2022-06-25 11:36:55 +02:00
Uwe
814de93e36 [PD] Hole dialog fixes
- when there is no profile the change of the hole cut type was not handled
- for the deprecated hole cut types it must also be possible to use custom values
2022-06-25 03:31:27 +02:00
wmayer
6e80ffaec3 Fem: remove some superfluous const_cast 2022-06-24 19:43:33 +02:00
wmayer
5b708b1ba1 TD: fix possible dangling pointer in QGIHighlight 2022-06-24 17:39:33 +02:00
wmayer
8b9484c82f App: add pure virtual methods to PropertyGeometry to delegate it to the geometry of sub-classes
Following the law of Demeter add some wrapper methods to PropertyGeometry and implement them in sub-classes. As a side-effect this makes some const_cast obsolete
2022-06-24 16:15:02 +02:00
wmayer
76af01f482 Part: [skip ci] remove superfluous const_cast 2022-06-24 16:10:09 +02:00
Wanderer Fan
db89eec8e3 [TD]implement navigation styles 2022-06-24 10:03:02 -04:00
wmayer
f5235a8057 cppcoreguidelines-pro-type-union-access
According to https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md using union for type-punning is undefined behaviour.
 Replace it with std::memcpy
2022-06-24 14:29:50 +02:00
Yorik van Havre
a0807918a0 Merge pull request #7071 from Roy-043/Draft-Fix-Placement-in-make_sketch
Draft: Fix Sketch Placement in make_sketch (issue #7058)
2022-06-24 13:53:33 +02:00
Yorik van Havre
4c34ae7398 Merge pull request #7067 from Kuzma30/add_ts
Crowdin Add "new" WB to translations.
2022-06-24 13:50:43 +02:00
Benjamin Alterauge
b7ab1dc895 GeomBSplineCurve: Add interpolate without tangents
Now with description

Periodic selectable
2022-06-24 02:25:55 +02:00
mosfet80
c48a569696 Boost version <=1.60 is never used in freecad 0.20 (#7038)
* Boost version 1.60 is never used in freecad 0.20
2022-06-24 02:20:26 +02:00
Ajinkya Dahale
09b63e12c1 [Sketcher] Use more segments while drawing splines
B-Splines can have an arbitrary number of pieces. Using the same number of
segments to draw a multi-piece spline can make the curve blocky.

This commit only changes the behavior in edit-mode.
2022-06-23 14:35:33 +02:00
marioalexis
eaf01ab0c6 Part: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
marioalexis
44da7b7c0b Import: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
marioalexis
74c168a082 Mesh: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
marioalexis
15923813d4 PartDesign: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
marioalexis
b10f73b571 Path: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00