Commit Graph

32883 Commits

Author SHA1 Message Date
Abdullah Tahiri
e9187412d9 Sketcher: Example new type checking template function usage
===========================================================

Just two small refactor examples of how to use the type checking template functions.
2023-10-07 23:12:46 +02:00
Abdullah Tahiri
e19ef9b8ce 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
b1a7ca4054 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
05e28cf550 Fem: Remove markers from scenegraph - fixes #10438 2023-10-07 14:09:20 +02:00
Abdullah Tahiri
96efff81c7 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
37b68f3931 Create makeAngleBetweenTwoLines and Create Create calculateAngle to remove duplicates 2023-10-07 07:43:39 +02:00
wandererfan
772bd03cff [TD]fix fail on unmeshed shape 2023-10-06 20:39:38 -04:00
sliptonic
aa82948b27 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
5f14ef7656 Merge pull request #10935 from marioalexis84/Fem-force
Fem: Force constraint overhaul
2023-10-05 12:12:06 -05:00
wmayer
95f1e3c038 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
579d4278de [MacroExecuteDialog] set keyboard focus to LineEditFind 2023-10-05 10:35:32 +02:00
wmayer
13cd3b7379 Part: add unit tests for empty face 2023-10-05 08:15:33 +02:00
wmayer
82c7427da9 Part: add unit tests for empty edge 2023-10-05 08:15:33 +02:00
Florian Foinant-Willig
afe8e70b86 Part: fix crash with null face 2023-10-05 08:14:50 +02:00
Florian Foinant-Willig
74a31d1473 Part: fix #10868 crash with null edge 2023-10-05 08:14:50 +02:00
wandererfan
d72478ade2 [TD]upgrade WeldSymbol icone 2023-10-04 20:27:46 -04:00
marioalexis
5482699fad Fem: Set default force to 1 N in FEM_ConstraintForce command 2023-10-04 17:09:53 -03:00
Uwe
ce860e2f34 Fem: Update force values in test .inp files 2023-10-04 17:06:47 -03:00
Uwe
9f90558d6a Fem: Fix force values in examples 2023-10-04 17:03:28 -03:00
Uwe
f9930d883d Fem: Change ConstraintPressure::Force property to App::PropertyForce 2023-10-04 17:03:28 -03:00
sliptonic
878fce7bb0 Merge pull request #10923 from marioalexis84/FEM-pressure
FEM: pressure constraint overhaul
2023-10-04 14:30:05 -05:00
AgCaliva
2212e68a30 merge master via cli 2023-10-04 13:28:48 -03:00
AgCaliva
7af1ec589c solving new error related to cmake 2023-10-04 13:18:20 -03:00
Roy-043
c2484914f2 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
919f6e78e0 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
ca204f7013 Fem: Use lower camel case in TaskFemConstraintPressure methods 2023-10-03 17:45:51 -03:00
Uwe
a6b0cf3b79 Fem: Update pressure values in test .inp files 2023-10-03 17:45:46 -03:00
Uwe
58ada81594 Fem: Fix pressure values in examples 2023-10-03 17:45:17 -03:00
Uwe
6845cb66f8 Fem: Change ConstraintPressure::Pressure property to App::PropertyPressure 2023-10-03 17:44:31 -03:00
wandererfan
ed72c03df3 [TD]fix sketch location in view 2023-10-03 13:35:36 -04:00
wmayer
255e9eb434 Part: move CmdSelectFilter and friends from core to Part module 2023-10-03 19:26:28 +02:00
wmayer
77f88d39c3 Part: handle Part_SectionCut in WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
6b6229e352 Part: handle Part_SectionCut in WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
f48e79cd04 Part: add WorkbenchManipulator to Part module 2023-10-03 19:26:28 +02:00
wmayer
ac342af190 Gui: integrate WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
690b892536 Gui: add class WorkbenchManipulator 2023-10-03 19:26:28 +02:00
wmayer
3fb37a6075 Import: Extend OCAF browser 2023-10-03 15:55:22 +02:00
wmayer
b42b2c85b4 Import: Support of colors of the glTF format 2023-10-03 15:42:30 +02:00
Florian Foinant-Willig
c214ca3dd9 TechDraw: Fix #10919 crash at geometry deletion 2023-10-03 09:01:42 -04:00
wmayer
826194e0bc Imoprt: move ExportOCAF2 to own source files
and move global functions to Tools class
2023-10-03 08:13:27 +02:00
Vincenzo Calligaro
d8636dd058 [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
Chris Hennes
6d37ef6609 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
f02a1bb755 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
885212d7d4 TD: fix compiler warning about unused class member (-Wunused-private-field) 2023-10-02 13:54:39 -04:00
Florian Foinant-Willig
60da0b80f7 TechDraw: fix extension lines of projected dimension 2023-10-02 13:53:01 -04:00
Florian Foinant-Willig
c8313874e4 TechDraw: Implements projected Length dimension 2023-10-02 13:53:01 -04:00
sliptonic
047334fd50 Merge branch 'master' into patch-5 2023-10-02 12:16:55 -05:00
sliptonic
fe2829aa26 Revert "Add G43 tool height compensation to centroid post" 2023-10-02 12:12:37 -05:00
FEA-eng
d9090d45da Merge branch 'master' into patch-5 2023-10-02 18:29:38 +02:00
sliptonic
3ce68745dc Merge pull request #10509 from LarryWoestman/staging
Path:  Major refactoring of the export_common function.
2023-10-02 11:26:24 -05:00