Commit Graph

34593 Commits

Author SHA1 Message Date
Abdullah Tahiri
468f79b84d Base: templates for type checking
=================================

Original idea of Werner:
https://github.com/FreeCAD/FreeCAD/pull/10643#issuecomment-1712966545

I really liked this syntax to avoid repetition and even explicit consideration of Types when type checking.

I thought it would be a pitty to get it lost.
2023-10-07 23:12:46 +02:00
David Carter
b724c39c4d Material: Update Python tests to work with other locales
Update Python tests to work with other locales

This fixes issues #10917 and #10924

Numeric values were beign compared to strings that did not take into account localizations. The test was modified to work regardless of localization.

There is still a known issue when working with pt_BR.UTF8. The default encoder for this localization is not UTF8 resulting in an error working with a parameter that returned the UTF character for the Greek letter mu in its units.
2023-10-07 19:44:13 +02:00
marioalexis
32c34fd34a Fem: Remove markers from scenegraph - fixes #10438 2023-10-07 14:09:20 +02:00
Abdullah Tahiri
c7b99b9fbb Sketcher: Fix segfault when activating a tool in a different view
=================================================================

When in Sketcher edit mode, a tool button is activated, while the view has been changing to view of a different type, it segfaults.

This commit checks the pointer of the view to ensure correct type before activation, and refusing to activate if not of the correct type.

fixes #10809
2023-10-07 09:00:06 +02:00
Paddle
2ea27064d5 Create makeAngleBetweenTwoLines and Create Create calculateAngle to remove duplicates 2023-10-07 07:43:39 +02:00
wandererfan
16dd8fc239 [TD]fix fail on unmeshed shape 2023-10-06 20:39:38 -04:00
sliptonic
747c2b86f8 Merge pull request #9521 from AgCaliva/User/Document/Feature_level_units_selection_#7746
Adding "ProjectUnitSystem" support to project files.
2023-10-06 07:56:59 -05:00
sliptonic
06809beb60 Merge pull request #10935 from marioalexis84/Fem-force
Fem: Force constraint overhaul
2023-10-05 12:12:06 -05:00
wmayer
6e87ce12c6 Base: replace calls of printf() with Console().DeveloperWarning()
and remove the assert(0) statement as this is an indication of a problem in the code but not serious enough to crash the application
2023-10-05 14:06:37 +02:00
mwganson
58e9a4d513 [MacroExecuteDialog] set keyboard focus to LineEditFind 2023-10-05 10:35:32 +02:00
wmayer
a7a9923e04 Part: add unit tests for empty face 2023-10-05 08:15:33 +02:00
wmayer
607add75d9 Part: add unit tests for empty edge 2023-10-05 08:15:33 +02:00
Florian Foinant-Willig
a922be727f Part: fix crash with null face 2023-10-05 08:14:50 +02:00
Florian Foinant-Willig
bd2898725a Part: fix #10868 crash with null edge 2023-10-05 08:14:50 +02:00
wandererfan
06460ef171 [TD]upgrade WeldSymbol icone 2023-10-04 20:27:46 -04:00
wmayer
d6e6847038 Clang-tidy: enable check google-explicit-constructor
Currently this check isn't enabled but when pushing a PR then the lint checker warns about non-explicit constructors which is
a bit annoying because the PR must be updated to fix the warning or in most cases it won't be fixed at all.

By enabling this check the developer already sees the warning before pushing a PR.
2023-10-04 18:09:58 -05:00
marioalexis
6f0986757f Fem: Set default force to 1 N in FEM_ConstraintForce command 2023-10-04 17:09:53 -03:00
Uwe
edf3367346 Fem: Update force values in test .inp files 2023-10-04 17:06:47 -03:00
Uwe
a4bf3ef80a Fem: Fix force values in examples 2023-10-04 17:03:28 -03:00
Uwe
af684644ab Fem: Change ConstraintPressure::Force property to App::PropertyForce 2023-10-04 17:03:28 -03:00
sliptonic
bb97f4e4f3 Merge pull request #10923 from marioalexis84/FEM-pressure
FEM: pressure constraint overhaul
2023-10-04 14:30:05 -05:00
AgCaliva
3ac69993c0 merge master via cli 2023-10-04 13:28:48 -03:00
AgCaliva
f431a02534 solving new error related to cmake 2023-10-04 13:18:20 -03:00
Roy-043
02a088466c Draft: Update the Plane class (step 2)
Related issue:
#5603.

Previous PRs:
#10766
#10838

The remaining Plane class functions have been processed (some are unchanged):

`setup`
* Updated to use new functions.
* The `direction` etc. arguments are never used AFAICT.
* Added `from draftutils import gui_utils`.

`reset`
* Unchanged.

`setTop`
* Calls `super().set_to_top()`. That function does not use `align_to_point_and_axis` but specifies exact vectors for improved accuracy.
* `import FreeCADGui` already happens at the top of the file.
* The code block after `if FreeCAD.GuiUp:` was kept for now.

`setFront`
* Idem.

`setSide`
* This function sets the WP to the left side position, and not to the right side postion as in the Draft_SelectPlane command.
* Idem.

`getRotation`
* Revised.
* The function has an akward name as it returns a Placement.
* The special code for Arch active container is obsolete (was already commented out in other functions).

`getPlacement`
* The `rotated argument` is ignored now. It was only used in the context of the old `placement_from_face` algorithm. See `DraftGeomUtils.placement_from_face` for the new implementation.
* Calls `super().get_placement()`.

`getNormal`
* Basically unchanged.

`setFromPlacement`
* Revised to call `super()` functions.

`inverse`
* Unchanged.

`save`
* Unchanged.

`restore`
* More compact code, but basically unchanged.

`getLocalCoords`
* Calls `super().get_local_coords()` which does not rely on Draft code, but creates a matrix and returns `mtx.inverse().multVec(point)`.

`getGlobalCoords`
* Calls `super().get_global_coords()` which creates a matrix and returns `mtx.multVec(point)`.

`getLocalRot`
* Calls `super().get_local_coords()`.

`getGlobalRot`
* Calls `super().get_global_coords()`.

`getClosestAxis`
* Calls `super().get_closest_axis(vec)` which translates the vector to the WP coordinate system and then finds the closest axis by comparing the absolute coordinates of the vector.

`isGlobal`
* Not used anywhere AFAICT.
* Calls `super().is_global()` which also checks the `position` attribute.
* As before the function works without any tolerance.

`isOrtho`
* Not used anywhere AFAICT.
* The original algorithm did not work properly (there was a comment). All angles were measured relative to the global Y axis. If the WP was randomly rotated around that axis the function would still return `True`. The new algorithm, `super().is_ortho()`, uses rounded Yaw, Pitch and Roll angles to check for orthogonality.

`getDeviation`
* Not used anywhere AFAICT.
* Unchanged.

`getParameters`
* Calls `super().get_parameters()` which uses the local `_get_prop_list` function.

`setFromParameters`
* Calls `super().set_parameters()` which uses the local `_get_prop_list` function.

`_get_prop_list`
* Function used internally. Returns a list of attribute.
2023-10-04 14:40:33 +02:00
Roy-043
44e01fac12 Draft: importSVG: handle viewBox in mm
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81696
2023-10-04 11:03:36 +02:00
marioalexis
ef0865ebaa Fem: Use lower camel case in TaskFemConstraintPressure methods 2023-10-03 17:45:51 -03:00
Uwe
e932134c1f Fem: Update pressure values in test .inp files 2023-10-03 17:45:46 -03:00
Uwe
be34b52d30 Fem: Fix pressure values in examples 2023-10-03 17:45:17 -03:00
Uwe
d115018b94 Fem: Change ConstraintPressure::Pressure property to App::PropertyPressure 2023-10-03 17:44:31 -03:00
wandererfan
5b65757404 [TD]fix sketch location in view 2023-10-03 13:35:36 -04:00
wmayer
c4f355ad8d Part: move CmdSelectFilter and friends from core to Part module 2023-10-03 19:26:28 +02:00
wmayer
3c8f245e67 Part: handle Part_SectionCut in WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
09148fa617 Part: handle Part_SectionCut in WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
6e12bbf79a Part: add WorkbenchManipulator to Part module 2023-10-03 19:26:28 +02:00
wmayer
9429d6a44a Gui: integrate WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
29eadb7e1f Gui: add class WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
dc771fca63 Import: Extend OCAF browser 2023-10-03 15:55:22 +02:00
wmayer
b2be356609 Import: Support of colors of the glTF format 2023-10-03 15:42:30 +02:00
Florian Foinant-Willig
aab4962b5b TechDraw: Fix #10919 crash at geometry deletion 2023-10-03 09:01:42 -04:00
wmayer
39d8f90cba Imoprt: move ExportOCAF2 to own source files
and move global functions to Tools class
2023-10-03 08:13:27 +02:00
Vincenzo Calligaro
283961539d [Feature Request] [Core] [Preferences] [UI/UX] Buttons to reset default values of Pages/Groups (#10688)
* Gui: added buttons to restore the default values of the selected Tab or Group
 * reformatted texts for better translations
 * Morphed buttons from QPushButton to QToolButton
 * added code to resize items list and buttons on language change

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2023-10-02 16:14:29 -05:00
Jacob Oursland
be85c50c62 Update conda development dependencies. 2023-10-02 16:59:55 -03:00
Chris Hennes
8595b07b76 Merge pull request #10844 from ppphp/remove_redundant_definition
[cmake] some definitions do not matter now
2023-10-02 14:20:49 -05:00
sliptonic
9e0291747f Merge pull request #7488 from FEA-eng/patch-5
PartDesign: change default behavior of Thickness tool to inwards
2023-10-02 13:13:40 -05:00
wmayer
59cfed08de TD: fix compiler warning about unused class member (-Wunused-private-field) 2023-10-02 13:54:39 -04:00
Florian Foinant-Willig
2d27b84686 TechDraw: fix extension lines of projected dimension 2023-10-02 13:53:01 -04:00
Florian Foinant-Willig
ed87ce0af0 TechDraw: Implements projected Length dimension 2023-10-02 13:53:01 -04:00
sliptonic
2eeeff1bdd Merge branch 'master' into patch-5 2023-10-02 12:16:55 -05:00
sliptonic
0b875c1ecf Merge pull request #10897 from FreeCAD/revert-10857-centroid-g43
Revert "Add G43 tool height compensation to centroid post"
2023-10-02 12:15:34 -05:00
sliptonic
ce585f4344 Revert "Add G43 tool height compensation to centroid post" 2023-10-02 12:12:37 -05:00