Commit Graph

18767 Commits

Author SHA1 Message Date
bitacovir
2b5bc5d99d Fix mesh icon names of 9 SVG files 2021-02-09 11:57:41 +01:00
Abdullah Tahiri
36fdbc460a Sketcher: Geometry state synchronisation
========================================

The geometry state stored in the geometryFacade is modified following a mutable model
(without setting the Geometry property on Constraint change), in order to avoid coupling
the addition/removal of a constraint with a change of the Geometry Property.

This design decision however interferes with the ability of the Geometry property to restore
the correct geometry state upon redo/undo.

While such a situation is rare in the case of Internal Alignment geometry, because constraint
addition/removal is performed with the corresponding geometry addition/removal (within the same
transaction. That is not the case with the Block constraint (or another future general case where
the geometry state may be applied).

This commit leverages the synchronisation mechanism already in use for non-properties (e.g. external geometry or
vertex indices) to check and synchronise geometry state upon undo/redo and restore.

Bonus:
- addGeometryState is refactored to separate the checking logic from the setting logic.
2021-02-09 08:14:36 +01:00
Chris Hennes
41a40c1c31 [PD] Catch Python exceptions in dtors (Coverity)
In some PartDesign task dialogs, the destructors call functions that may
throw exceptions. If that occurs and the exception is uncaught, this
will ususally end up terminating the program. This commit adds try-catch
blocks around each instance of that (identified by Coverity) and handles
the Python exception in the normal reporting workflow.
2021-02-08 21:30:22 +01:00
sliptonic
15068d7dc6 Merge pull request #4383 from mlampert/feature/path-hide-ops-by-default
[Path]: Set operation Visibility to False, and turn it back on while editing.
2021-02-08 11:12:41 -06:00
sliptonic
911a3b8e1e Merge pull request #4253 from J-Dunn/master
[Path]: fix several minor bugs in arc slot ops
2021-02-08 09:44:30 -06:00
sliptonic
ec0cc86ead Merge pull request #4393 from mlampert/bugfix/issue-4557
[Path]: bugfix/issue 4557
2021-02-08 09:41:57 -06:00
bitacovir
73b8995c7b Fix mesh icons names of SVG files 2021-02-08 16:40:58 +01:00
Chris Hennes
15d4cac123 LGTM: Remove superfluous conditional 2021-02-08 16:39:40 +01:00
Yorik van Havre
298004a39c Updated master TS files 2021-02-08 16:35:41 +01:00
Yorik van Havre
97dcb24c80 Merge pull request #4341 from hyarion/feature-error-handling-get_svg
[0.19] [Draft] Add better error message in get_svg for direction
2021-02-08 16:08:18 +01:00
Yorik van Havre
4e3a269906 Merge pull request #4386 from marioalexis84/draft-clone
Draft: Fixes #0004113: When Clone is used in Draft/Scale, the cloned part placement is always set to origin whatever is the reference point
2021-02-08 16:07:35 +01:00
bitacovir
5323de3d0b [UI] Add SVG icon for Mesh SplitComponents 2021-02-08 10:53:18 +01:00
donovaly
ef14a561bd [FEM] save icons as plain SVG
without Inkscape specials, just plan SVG 1.1

we frequently have problems that some of our SVGs cannot correctly be displayed by other programs like the Chrome browser. In most cases the reason is that the SVG were created with old Inkscape versions that added stuff that are not in the SVG specs. The clean way to avoid this for the future is to save as "plain SVG" from within Inkscape

THis PR does this only for those SVG for which I got DPI warnings and for some also git warnings about inconsistent line endings.
2021-02-08 10:51:07 +01:00
Chris Hennes
081cc4d9eb Remove extra comma in Asymptote surface color definition
Found via LGTM.
2021-02-08 10:50:18 +01:00
Chris Hennes
05dd6c287c Silence incorrect LGTM warning. 2021-02-08 10:48:17 +01:00
Markus Lampert
394a885929 import DraftTools if Snapper isn't loaded yet (before using it) 2021-02-07 12:39:21 -08:00
David Osterberg
a3fb41502b FEM: Fix svg icons that causes warning messages
I opened the icons in InkScape, converted the text to a path, and saved.
2021-02-07 19:07:39 +01:00
Zheng, Lei
ea2e46dccb Part: allow TaskAttachmentEditor to install attacher extension on demand 2021-02-07 15:39:12 +01:00
luz paz
3423e72679 LGTM: remove redundant variable assignment
ref: ddeaa48851/files/src/Mod/Spreadsheet/App/Spreadsheet_legacy.py (x687bc63f783c60bd):1
2021-02-07 13:42:55 +01:00
wmayer
4719bb703d Mesh: [skip ci] fix MeshPy::trim 2021-02-07 13:12:23 +01:00
marioalexis
7c8c5892d0 Draft: Correct the placement in scale_with_clone - fixes #0004113 2021-02-06 23:42:22 -03:00
Markus Lampert
9dce167073 Set operation Visibility to False, and turn it back on while editing. 2021-02-06 16:45:26 -08:00
Zheng, Lei
db9525e7d7 Mesh: minor change to exporter based on suggestion 2021-02-06 17:13:36 +01:00
Zheng, Lei
ea61253c67 Mesh: refactor mesh exporter for better support of Link 2021-02-06 17:13:36 +01:00
wmayer
13927b2465 [skip ci] Do not throw plain C string as exception 2021-02-06 15:52:21 +01:00
David Osterberg
3e2780a511 PartDesign: Fix sign error in Helix 2021-02-06 08:22:37 +01:00
Abdullah Tahiri
727dc9fa9e Sketcher: Fix wrong diameter reference constraint value when blocked
====================================================================

Fixes:
https://forum.freecadweb.org/viewtopic.php?p=474276#p474276
2021-02-06 06:22:30 +01:00
Aapo
9318c4c1f2 [TD] ShapeExtractor.cpp: Fix linked View source bug, link targets were translated but not scaled in TD. 2021-02-05 22:41:09 +01:00
David Osterberg
692900d085 PartDesign: fix regression in Helix 2021-02-05 20:55:34 +01:00
Aapo
75dee2ff7d [TD] Fix XSource handling of sub-objects of links to another document(s) in TD Views. 2021-02-05 19:19:24 +01:00
David Osterberg
8efbe8861f PartDesign: [Helix] Fix helix starting point bug 2021-02-05 19:17:00 +01:00
donovaly
2ac84872ec [PD] make pointers to the UI std::unique_ptr
Same as PR #4293, just for PartDesign

as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for all PartDesign dialogs that don't already use a unique_ptr.
2021-02-05 18:01:57 +01:00
sliptonic
a544951dcd Merge pull request #4333 from Russ4262/remove_feature_expand_profile
[Path] Remove `Expand Profile` feature from Profile op
2021-02-05 10:47:43 -06:00
wmayer
99c686f061 Part: [skip ci] fix -Wreorder 2021-02-05 17:26:47 +01:00
donovaly
603cbdbfd5 [Part] make pointers to the UI std::unique_ptr
Same as PR #4293, just for Part

as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for all Part dialogs that don't already use a unique_ptr.
2021-02-05 17:16:20 +01:00
donovaly
65656f6d22 [Sketcher] make more pointers to the UI std::unique_ptr
addendum to PR #4362

(Same as PR #4293, just for Sketcher

as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for all Sketcher dialogs that don't already use a unique_ptr.)
2021-02-05 17:14:24 +01:00
wmayer
9c3c562f7b Surface: re-implement closed() in TaskFilling 2021-02-05 16:37:00 +01:00
Yorik van Havre
aa52a3f55c Merge pull request #4215 from hyarion/feature-spreadsheet-equal-prefix-for-expressions
[Spreadsheet] Only evaluate cell values when prefixed with '='
2021-02-05 13:29:57 +01:00
donovaly
21dc72ed10 [TD] make more pointers to the UI std::unique_ptr
addendum to PR #4293

(as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for remaining TD dialogs that don't already use a unique_ptr.)
2021-02-05 13:24:21 +01:00
Yorik van Havre
4cdef79531 Merge pull request #4356 from luzpaz/LGTM-ArchPanel
[0.19][ARCH] Arch: Fix LGTM warning of missing param for translate() in ArchPanel.py
2021-02-05 13:19:00 +01:00
Amritpal Singh
d9e7ee46e6 Draft: Fix bug in getCubicDimensions function 2021-02-04 22:57:31 +05:30
wmayer
656c4919bc Qt4: [skip ci] fix build failure 2021-02-04 15:31:06 +01:00
wmayer
5903ff4426 FEM: add basic support of Nastran-95 2021-02-04 13:56:15 +01:00
ceanwang
3ad8367b5e Changed comment for free format CTETRA element 2021-02-04 13:25:13 +01:00
ceanwang
172d2d8a27 Added readNastran95() 2021-02-04 13:25:13 +01:00
ceanwang
67ee247c0c Added readNastran95() 2021-02-04 13:25:13 +01:00
David Osterberg
59ec3cb141 PartDesign: New features AdditiveHelix and SubtractiveHelix
These features, based on the code for the Pipe class, allow the user
to simply create a helical sweep within PartDesign workbench.

Sample application is threads, springs, coils, augers, etc.

Also, remove needless requirement for positive cone angle on helixes.

Thanks to @bitacovir for helping with the icons
Thanks to @chennes for review
Thanks to @vosk for review
Thanks to @wwmayer for review

Enforce that links stay within scope for ProfileBased features
This also ensures that the Body itself is not used for creating features within
the body, causing a "Graph not a DAG" error.
2021-02-04 13:01:12 +01:00
Pierre LeMoine
7999536858 Transform patterns can be created from multiple base features
The infrastructure/piping seems to have been in place for a long while.
Not tested for all variations of pattern transforms.
The major enabler was removing the `break`.
Some extra piping added to let the code at call-site decide if to select multiple features or not.
2021-02-04 11:58:47 +01:00
Greg V
ce7b57a08f Sketcher: [skip ci] fix computing of hotspot of sketcher icons on Wayland
Restrict the hotspot multiplication on unix platforms to X11 (xcb platform)
2021-02-04 10:45:33 +01:00
donovaly
28c66fc501 [Sketcher] make pointers to the UI std::unique_ptr
Same as PR #4293, just for Sketcher

as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for all Sketcher dialogs that don't already use a unique_ptr.
2021-02-04 10:37:44 +01:00