Commit Graph

18813 Commits

Author SHA1 Message Date
Patrick F
d6a82ec731 [PATH] Improved deburr 2021-02-13 15:49:27 +01:00
Patrick F
9266d0a1c2 [PATH] Added basic support for arcs in deburr op 2021-02-13 15:49:27 +01:00
Abdullah Tahiri
c8f9197bf0 Sketcher: Fix external geometry ellipse projection in parallel plane
====================================================================

When the ellipse to be projected and the sketch plane are parallel, the original code
by shermelin provided for a translation of the original ellipse, which would be the best solution
if it weren't because the Sketcher, internally, works under the assumption of a normal vector to the
sketcher plane being (0,0,1). If the original ellipse is parallel to the sketch plane, but the sketch
plane is not the XY plane, the copy and translation would result in a ellipse not in the XY plane of the
Sketcher. Then the sketcher internals will not properly consider its dimensions.

The solution applied here is to default to the general method for non-parallel planes.

It solves:
https://forum.freecadweb.org/viewtopic.php?f=3&t=55284#p477522
2021-02-13 15:18:34 +01:00
wmayer
ac6d06dd84 Draft: fix syntax errors 2021-02-13 12:14:12 +01:00
Abdullah Tahiri
30a93b648b Sketcher: Coverity fix in Sketch::analyseBlockedGeometry
========================================================

Users chennes and hyarion made me aware of this covereity issue:

Fixes Coverity: geoit can be end() when dereferenced
https://github.com/FreeCAD/FreeCAD/pull/4429/files#

When analysing the block where the dereferrencing appears, it
appears that it is a left-over that no longer makes sense:
- The algorithm classifies block constraints into those that are
not affected by any other driving constraint and those that are
affected by other driving constraints.
- The offending block deals with internal aligned geometry, thus
per definition has a driving internal alignment constraint, for which
the previous block already set the need of post-analysis.
- No matter what, the geometries, the complex one and the internal one
will have at least the driving internal alignment constraint, so they
cannot become "not affected by any other driving constraint".
- If the geometry had a block constraint on it, it was already added for
post-analysis in the previous block. If it did not have one block constraint,
the fact that it is internal aligned geometry is an irrelevant consideration.

Probably there was a point during development when this made sense, but with
the current post-analysis, it does not appear to make sense anymore. So the
block was removed.

This commit adds a unit test for blocked geometry (new block constraint).
2021-02-13 11:44:06 +01:00
Chris Hennes
16b8e02969 Correct minimum distance calculation in SplitFacet
Found via LGTM.
2021-02-12 21:59:50 +01:00
David Osterberg
bff55def04 PartDesign: Fix hardcoded through all distance in ProfileBased
Before the throughall distance was 10 m, which is not enough for
many applications. The fix is to use the bounding box of the base shape
together with the sketch profile to calculate dynamically a large enough
length.
2021-02-12 18:37:56 +01:00
David Carter
20930eaa2e Add rocket workbench addon 2021-02-12 18:12:49 +01:00
0penBrain
aa44e700cd [SpreadSheet] Fixes #4563 exported range issue 2021-02-12 18:06:07 +01:00
David Osterberg
ec51691a43 PartDesign: Fix broken outdated icon filenames
This fixes some cases that were missed in commit 1814270d53afd1c51c
2021-02-12 17:46:27 +01:00
wmayer
a800920791 TD: [skip ci] use setAutoCloseOnTransactionChange for balloon and dimension task dialog 2021-02-12 17:43:31 +01:00
wmayer
0b0bd8b806 TechDraw: [skip ci] avoid to trigger a slot in constructor of TaskBalloon 2021-02-12 16:55:39 +01:00
wmayer
2824acedda TechDraw: fixes for dimension feature:
* reimplement ViewProviderDimension::setupContextMenu() to show menu item to start editing it
* fix TaskDimension::accept() and TaskDimension::reject()
2021-02-12 15:55:26 +01:00
wmayer
77c6eb91e3 TechDraw: [skip] fixes for balloon feature:
* reimplement ViewProviderBalloon::setupContextMenu() to show item to start editing it
+ fix TaskBalloon::accept() and TaskBalloon::reject()
2021-02-12 15:36:21 +01:00
Yorik van Havre
0de8cceb53 Updated ts files 2021-02-12 14:47:37 +01:00
Yorik van Havre
abee35f38a Draft: Fixed broken translations everywhere 2021-02-12 14:44:58 +01:00
wmayer
0df2105ad8 PD: [skip ci] fix ViewProviderPrimitive::getIcon() after renaming of icon files 2021-02-12 13:20:16 +01:00
wmayer
d50dbf184d Part: [skip ci] code-refactoring in DlgPrimitives class 2021-02-12 12:41:45 +01:00
David Osterberg
7a9ecbdaa9 FEM: Improve Gmsh log, when Gmsh is not installed 2021-02-11 21:03:43 +01:00
Alex Young
7fa21b7319 LGTM: Removes unused import in PathPropertyBagGui.py 2021-02-11 13:12:49 +01:00
Alex Young
5a8c58dc75 Path: Removes unused imports from PathToolBit.py
lgtm.com showed unused imports in PathToolBit.py.  This patch removes them.  The tests in TestPathApp still pass.
2021-02-11 13:10:52 +01:00
donovaly
bcadbe3b1b [PD] rename icons to match Wiki files
For the What#s this feature we need to have a uniform naming of the features and its icons. For some PD icons this is not the case and since we are in feature freeze, this is the right time to address this.
(I see the same is already done for Mesh.)
2021-02-11 12:47:25 +01:00
bitacovir
78bc6e6ad8 [UI] Replacement of 3 SVG icons for OpenSCAD commands 2021-02-11 12:07:09 +01:00
bitacovir
2349d77832 Fix MeshPart icon names 2021-02-11 11:57:56 +01:00
Chris Hennes
6b16e12d7c [OTHER] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Chris Hennes
a7522c384e [DRAFT] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Chris Hennes
9d1958475e [ARCH] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Benjamin Nauck
92a479bf01 Sketcher: Fix uninitialized scalar field in ctor
Fixes Coverity issue:
CID 316539 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member lastHasPartialRedundancies is not initialized in this constructor nor in any functions that it calls.
2021-02-11 11:48:19 +01:00
Abdullah Tahiri
ab758374a8 Sketcher: Bug fix / improve B-Spline knot support
=================================================

Knot position is not calculated by the solver, but by OCCT when updating the
b-spline to conform to given pole positions, as mandated by the solver. Before
this commit, all constraints driving and non-driving operating on the knots required
and extra solve (from advanced solver dialog, or from the Python console), or a recompute
to be recomputed.

This commit introduces transparently re-solving at Sketch.cpp level if B-Splines are present,
so that when the Sketcher mandated solve returns, the geometry is fully solved.
2021-02-10 18:53:52 +01:00
sliptonic
5baaa08fab Merge pull request #4417 from Schildkroet/adaptive_improve
[0.19][PATH] Added onDocRestore method for adaptive op
2021-02-10 10:08:38 -06:00
Abdullah Tahiri
2be7f8cbcb Sketcher: fix malformed constraint on nurbs conversion
======================================================

Coincident on midpoint cannot be supported by a bspline.

Fixes:
https://forum.freecadweb.org/viewtopic.php?p=476410#p476410
2021-02-10 06:41:16 +01:00
Chris Hennes
3bb03af723 [Part] Coverity: dtors can't throw 2021-02-09 23:58:09 +01:00
Abdullah Tahiri
4c55d91093 Sketcher: Fix geometry state synchronisation routine 2021-02-09 20:22:30 +01:00
UR-0
f79cef0e8a [FEM] Clipping plane: Fix handling of shapeless document objects 2021-02-09 20:20:49 +01:00
Chris Hennes
e7e794753a [PD] Add missing ctor variable init (Coverity)
The "angle" variable was not being initialized in any of the
constructors for the CutDimensionSet, and nothing was being initialized
by the default constructor. This commit adds angle as an optional final
argument to the parameterized constructors, defaulting to 0.0, and adds
default values to the default constructor using the first of each enum
and 0.0 for the angle. The default constructor is required elsewhere in
the code so cannot be trivially removed. Issue identified by Coverity.
2021-02-09 20:19:38 +01:00
luz paz
19e5c1f334 Sketcher: Add 'Sketcher B-spline tools' to translation [skip ci]
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=34&t=55381  
and several whitespace fixes
2021-02-09 20:18:16 +01:00
bitacovir
cc02ebb57f Fix mesh icon names of 3 SVG files 2021-02-09 20:10:24 +01:00
luz paz
7eabc1fce1 TechDraw: expose TechDraw_Decorate function tooltip to translation
Forum thread https://forum.freecadweb.org/viewtopic.php?f=34&t=55382
2021-02-09 20:09:36 +01:00
luz paz
2ce2759350 TechDraw: Expose strings in Workbench.cpp to translators
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=34&t=55382
2021-02-09 20:09:36 +01:00
Chris Hennes
c5c419e55a LGTM: Eliminate float-to-double overflow warning
LGTM complains if this calculation is done from inside the sqrt() call
because it sees the explicit cast to float and assumes that sqrt() is
intended to take a double. By adding an intermediate step it should be
clear to LGTM that the float version of sqrt is intended.
2021-02-09 20:01:13 +01:00
Patrick Felixberger
0bec69f3e3 [PATH] Added onDocRestore method for adaptive op 2021-02-09 18:41:07 +01:00
Yorik van Havre
97379e035a merged crowdin translations 2021-02-09 16:12:18 +01:00
wmayer
2a86b5b153 Mesh: [skip ci] use a more appropriate icons for cross sections 2021-02-09 13:29:13 +01:00
wmayer
2ce88f2fe9 MeshPart: [skip ci] use correct icon for Mesh cross-section dialog 2021-02-09 12:21:31 +01:00
Yorik van Havre
2ded7a3f95 Merge pull request #4402 from luzpaz/ArchSchedule
Arch: update tooltip reference to LibreOffice version within ArchSchedule
2021-02-09 12:06:58 +01:00
bitacovir
5983f5d87b Fix mesh icon names of 9 SVG files 2021-02-09 11:57:41 +01:00
Abdullah Tahiri
26c060f64f 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
40c99417bd [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
luz paz
8eec5d56dd Arch: update tooltip ref. to LibreOffice version within ArchSchedule
Ref: https://crowdin.com/translate/freecad/6766/en-en?filter=basic&value=0#6576778
2021-02-08 12:56:53 -05:00
sliptonic
a8bd33ed1c 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