Commit Graph

30761 Commits

Author SHA1 Message Date
Abdullah Tahiri
bad35fe26c Sketcher: GeometryFacade - new static function to check for internal alignment 2022-10-29 20:25:34 +02:00
marioalexis
5fe254e6f1 TechDraw: Improve code in Python DrawViewPartPy class 2022-10-29 09:01:52 -04:00
Chris Hennes
51f54bd3a0 TechDraw: Windows compilation fix 2022-10-29 08:49:16 -04:00
Chris Hennes
c6c1c46ca0 CI: Switch to QtWebEngine instead of QtWebKit 2022-10-28 15:03:14 -05:00
wandererfan
86b5000451 [TD]fix missing include for CI 2022-10-28 08:47:45 -04:00
wandererfan
99f67b8a40 [TD]SectionView/ComplexSection - preview, direction selection
- add preview/live update to TaskSectionView & TaskComplexSection
- add view direction selector to uis
- use SectionNormal as Direction.  Make Direction read-only
- simplify section line end point calculation
- section group command in toolbar
- make section and complex section icons consistent
- fix compsolid cutting tool
- terminology: single/piecewise to offset/aligned
2022-10-28 08:47:45 -04:00
wandererfan
5ddc6ce789 [TD]Complex Section - initial implementation 2022-10-28 08:47:45 -04:00
wmayer
9d32c892f0 Gui: [skip ci] refactor QuantitySpinBox::apply 2022-10-28 00:46:37 +02:00
mosfet80
8c6e02ac90 Delete fc.sh
Delete unused file
2022-10-27 23:51:46 +02:00
Connor Worrell
7cd01505fc Gui: Quantity Spin Box changed to use the expression parser (PR #7124) 2022-10-27 23:17:02 +02:00
wmayer
5cc9bae455 Gui: bind spin boxes of Placement dialog when opening it via menu 2022-10-27 19:30:24 +02:00
sliptonic
39b28c8a27 Merge pull request #7653 from sliptonic/bug/tagdressup
Fixes #7652  Tag creation bug
2022-10-27 09:55:46 -05:00
Uwe
978642d03e [PD] remove deprecated holes
- as discussed in https://github.com/FreeCAD/FreeCAD/pull/7642 the backwards compatibility for deprecated holes was already lost since FC 0.19
- this PR removes the deprecated types and transform holes created with FC 0.19 or 0.20 to the corresponding countersinks/counterbores.

- also add Counterdrill for translations
2022-10-27 14:24:32 +02:00
wmayer
4e643dcec3 Gui: refactor and modernize code of Placement dialog 2022-10-27 00:28:55 +02:00
sliptonic
e196490c4c Fixes #7652 2022-10-26 17:04:54 -05: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