Commit Graph

30747 Commits

Author SHA1 Message Date
wmayer
4e643dcec3 Gui: refactor and modernize code of Placement dialog 2022-10-27 00:28:55 +02:00
wmayer
4d8e61549d Gui: if an expression is set for Euler angles in the placement dialog then evaluate the expression instead of determining the angles from the rotation
See forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=72522
2022-10-26 11:27:46 +02:00
wmayer
bcc9c6654c Gui: don't make QuantitySpinBox dependent on implementation details of its base class 2022-10-26 10:54:07 +02:00
Yorik van Havre
784b25b590 Merge pull request #7635 from Jolbas/master
Draft: Accept 1 in NumberPolar parameter
2022-10-26 09:23:25 +02:00
Yorik van Havre
51d777718b Merge pull request #7616 from Roy-043/Draft-Make-Std_TransformManip-work-for-Draft_Point
Draft: Make Std_TransformManip work for Draft_Point
2022-10-26 09:21:53 +02:00
wmayer
71d0490dab Gui: don't make QuantitySpinBox dependent on implementation details of its base class 2022-10-26 00:43:33 +02:00
luz paz
219d1edd6a Spreadsheet: [skip ci] fix doxygen typo 2022-10-25 23:54:35 +02:00
wmayer
dad0c36612 Gui: in placement dialog use spin boxes for rotation axis 2022-10-25 22:56:56 +02:00
wmayer
1143275cec Gui: [skip ci] include header 2022-10-25 22:21:19 +02:00
wmayer
7c51aa9749 Gui: [skip ci] Missing reference in range-for with non trivial type (Py::Object) [-Wclazy-range-loop-reference] 2022-10-25 13:36:39 +02:00
wmayer
51698f6a4c Gui: fix possible crash in WrapperManager 2022-10-25 12:48:55 +02:00
Uwe
f1c03bc233 [PD] FeatureHole.cpp: sort counterdrill
- will be necessary to push deprecated entries to the end of the combobox in the dialog (in a coming PR)
- also fix too long code line
2022-10-25 01:09:37 +02:00
Roy-043
55510f33c5 Sketcher: Correct icon for Sketcher_CreatePointFillet 2022-10-25 00:33:28 +02:00
wmayer
7a77549ed7 Gui: cppcoreguidelines-pro-type-reinterpret-cast
Replace an unsafe reinterpret_cast with the safer static_cast
2022-10-24 17:09:53 +02:00
wmayer
845ee29a44 CMake: [skip ci] fix deprecation warning about policy CMP0072 2022-10-24 17:08:04 +02:00
wmayer
c98545b6ca PD: [skip ci] disable undo/redo for the tmp. document created by the SubShapeBinder 2022-10-24 16:50:50 +02:00
wmayer
72af60c22e App: fixes issue #7628: Crash after creating Sketch for Body
The problem is that inside Transaction::addObjectNew() a transaction object is deleted before removing it from the container. When deleting the corresponding transactional object (i.e. a DocumentObject or ViewProvider)
it can happen that it e.g. calls Transaction::addOrRemoveProperty() that now finds the dangling pointer in the container.

The safe way is to first remove the object from the container before deleting it.
2022-10-24 16:49:29 +02:00
Uwe
a346884c90 [skip CI] [FEM] equation.py: fix a tooltip
- the highest priority is computed first, the Wiki page is already correct
2022-10-24 15:21:54 +02:00
Stefan Klug
60d7b1d834 PartDesign: Add HoleCuteType "Counterdrill" 2022-10-24 15:19:24 +02:00
Stefan Klug
c7f64b12bd PartDesign: Refactor geometry creation of counersink/counterbore
The counterbore is basically a special case of the countersink
with a countersink angle of 180 degrees and applied depth.
Handling it that way elimintaes some duplicate code and adds the ability to
combine countersinks and counterbore to form a counterdrill.

The sanity check on countersinkAngle can be safely dropped as it is ensured
by a constraint on the property itself.
2022-10-24 03:42:02 +02:00
wmayer
c7b427e697 Mesh: use PropertyMaterial in view provider 2022-10-23 23:31:04 +02:00
Chris Hennes
ce74f16649 Addon Manager: Clean up tests for pip 2022-10-23 15:24:42 -05:00
Jolbas
84d6656398 Accept 1 in NumberPolar parameter
Setting the NumberPolar parameter to 1 resulted in a ZeroDivisionError.
2022-10-23 21:44:57 +02:00
Bernd Hahnebach
c5d9b8e4ed FEM: get LGTM silent 2022-10-23 21:43:04 +02:00
wmayer
e90005572b Mesh: implement PropertyMaterial 2022-10-23 19:49:46 +02:00
Haas
b7747cce26 Added 2 missing dark icons for stylesheets. 2022-10-23 12:33:15 -05:00
wmayer
25d25a0bc2 Mesh: [skip ci] add Python module with enum types 2022-10-23 18:52:33 +02:00
Stefan Klug
7ed0c36aa3 PartDesign: Remove duplicate comment 2022-10-23 09:15:17 -05:00
luz paz
2d4482cdf3 Fix source comment typo 2022-10-23 09:14:44 -05:00
Stefan Klug
cbd1963142 [Bugfix] PartDesign: Fix HoleCutDepth not being recalculated correctly
HoleCutDepth is reset to 0 to force a recalculation of te depth when
HoleCutType is set to a new value.
But the line
	pcHole->HoleCutCustomValues.setValue(false)
also forces a recalculation. So the depth was recalculated with the old
value in HoleCutType which was not expected behaviour.
2022-10-23 04:10:18 +02:00
wmayer
f88305e93b Mesh: support to add transparencies to a mesh 2022-10-22 23:31:12 +02:00
Bernd Hahnebach
062f9f6616 FEM: Python pep8 code formatting 2022-10-22 23:05:51 +02:00
wmayer
4c6e123c00 Gui: create modal color dialog on the heap if its parent widget is used in the property editor
For more details see: https://forum.freecadweb.org/viewtopic.php?f=23&t=70655
2022-10-22 21:42:21 +02:00
wmayer
c5a7654285 Gui: create modal dialog on the heap if its parent widget is used in the property editor
For more details see: https://forum.freecadweb.org/viewtopic.php?f=23&t=70655
2022-10-22 18:36:52 +02:00
wmayer
916891c3fc App: simplify code in Application::newDocument 2022-10-21 21:15:21 +02:00
Abdullah Tahiri
bffb82d531 Sketcher: Solver - Improvement of popularity contest and bug fix
================================================================

Master has a problem in that internal alignment constraints are suggested to the user for removal.

This is fundamentally wrong, as an internal alignment constraint are an inherent part of the geometry. They cannot be the ones suggested for removal.

The popularity contest algorithm is an heuristic algorithm that determines which redundant/conflicting constraints should be proposed for removal.

Basically, the algorithm works on groups of redundant/conflicting constraints detected via the QR decomposition. A constraint may belong to more than one group.

The algorithm runs some heuristics, each constraint scoring a value, the one constraint from each group scoring the highest is proposed (is more popular and wins the contest).

This PR documents the algorithm, and adds a further condition, that internal alignment constraints are never proposed.

As the solver works with solver constraints as opposed to the sketcher, which works with sketcher constraints, information about whether a solver constraint originated from a
sketcher constraint that is internal alignment is necessary. So the solver constraint is extended to accomodate this piece of information.

As a bonus, it fixes a bug. Solver constraints carry information of the ID of the corresponding sketcher constraint in their tag. Knots are not currently implemented as constraints.
However, the tag index was not being update. This caused the popularity contest to provide wrong suggestions despite good detection.
2022-10-21 19:54:51 +02:00
wmayer
804d0426a4 Gui: fix crash when accessing PySide wrapper after the underlying QObject has been destroyed 2022-10-21 17:05:55 +02:00
Paddle
a46bed1a78 Sketcher: remove select DOF. 2022-10-21 09:47:07 -05:00
0penBrain
4c6ba8ed4d Sketcher: remove unneeded flag 2022-10-21 15:15:43 +02:00
wmayer
4fff36b550 App: [skip ci] fix string literal 2022-10-21 13:43:26 +02:00
wmayer
dc02c3f1dd Part: [skip ci] fix German translation 2022-10-21 13:31:36 +02:00
wmayer
ee0a0817f9 Sketcher: fix possible crash when closing the sketcher
For more details see the forum thread: https://forum.freecadweb.org/viewtopic.php?f=13&t=72774
2022-10-21 10:23:53 +02:00
Kuzemko Alexsandr
63174d487f [App] Fix of untranslated first document's name (#7156)
* Change no need function newDocument("Unnamed") call to variant without parameter. "Unnamed" set in App newDocument function instead.
* Refactor New Document command to run without parameter.
* Translate new document's userName. Internal name = "Unnamed".
* Crowdin Add to updatets.py App.ts. Create new file App.ts
* Fix error where document name is set with one function parameter. In this situation set internal and user name to string variable. For default function call (without parameter) set internal name to Unnamed, userName = translate ("Unnamed")
2022-10-20 21:35:09 -05:00
wandererfan
02fbf1334d [TD]fix check of wrong variable
- replace check of pages in selection with check of
  pages in document
- fix mixed {} conventions
- fix fail to exit on user cancel
2022-10-20 21:28:04 -04:00
adrianinsaval
ceab81593d Use Std_New for new document creation at startup
so it uses the translated string
2022-10-20 19:58:16 -05:00
wmayer
4f6f600a1f Gui: [skip ci] refactor PropertyModel::buildUp 2022-10-21 02:24:42 +02:00
0penBrain
0a12d435a2 [Bugfix]Spreadsheet: fix multi-screen management of QtColorPicker
+ set parent when instantiating
2022-10-20 16:08:01 -05:00
Zheng, Lei
5fcc1c3d03 Spreadsheet: fix cell span handling
When undo/redo, copy/paste, and removing row/column
2022-10-20 16:03:20 -05:00
Zheng, Lei
05e0aba701 Spreadsheet: fix cell span synchronization with SheetTableView
Also, allow merge cell with overlaps, by auto split overlapped cells
first
2022-10-20 16:03:20 -05:00
wmayer
9ba9599629 Gui: ignore recursive call of PropertyView::onTimer() 2022-10-20 23:00:50 +02:00