Commit Graph

38104 Commits

Author SHA1 Message Date
Kacper Donat
88141d6dce Part: Add midpoint attachement mode
This adds midpoint attachement mode to Attacher. It works just like
method for finding placement of JCS in Assembly.
2025-01-04 16:32:52 +01:00
Kacper Donat
49ff7b8bf0 Part: Use TopoShape instead of TopoDS_Shape
This changes Attacher to use more our own TopoShape class which is more
information rich.
2025-01-04 16:32:52 +01:00
Kacper Donat
23bdfeb672 ServiceProvider: Use std::string as key for services map
This fixes potantial crash that can happen on certain platforms like
macOS due to `typeid(T).name()` returning different pointers to string
which does not happen on all platforms.
2025-01-04 16:32:47 +01:00
Kacper Donat
878dd55ed0 ServiceProvider: Better naming of methods
This commit renames methods of ServiceProvider to be easier to
understand. It also replaces the misleading singleton with more correct
here global instance of class.
2025-01-04 16:32:47 +01:00
Roy-043
19b4470ce9 Draft: comment out 3 test files with only dummy tests
Some Draft test files contain only dummy tests (`aux.fake_function`). Running them will just open a new file and then immediately close it. This can result in issues with code that is called with a delay. See #18679. Disabling these tests by commenting them out avoids this.
2025-01-04 12:20:33 +01:00
Roy-043
2b35ad2281 Draft: Minor cosmetic changes to test files 2025-01-03 22:11:05 +01:00
Roy-043
28d177a725 Add another missing import 2025-01-03 20:32:17 +01:00
Roy-043
4ba16cebb7 Add missing import 2025-01-03 20:10:47 +01:00
Roy-043
4d37256877 Update CMakeLists.txt 2025-01-03 19:56:20 +01:00
Roy-043
0bc9737ca6 Draft: Introduce base classes for Draft tests
To avoid code duplication.
2025-01-03 16:51:42 +01:00
Zheng, Lei
89ec079fbf Toponaming: import code related to ElementMapVersion from LS3
*Imported original code
2025-01-03 14:15:19 +01:00
Roy-043
c7630ac065 Draft: Make test_modification tests independent of fillmode
Fixes #18315.

In the issue discussion the more obvious solution (change the MakeFace property of the Draft_Wires) was missed.
2025-01-03 11:38:51 +01:00
wmayer
7cfa0df4ad Gui: Remove migration warning 2025-01-02 13:34:26 +01:00
wmayer
ad314fea7e Core: Fixes #18717
Neither in #18332 nor in any of the referenced issues a reason is given why the placement of the coordinate axes must be changed.
Only doing it to make the client code look more consistent is not a valid reason.

This change breaks forward and backward compatibility and with #18717 we already have a hard to solve issue. Furthermore, at this
point of time it's not even clear what other collateral damage the change may cause.

So, this commit hides all the implementation details of the DatumElement and restores the original placement for the axes.
This commit makes the line migration code obsolete
2025-01-02 13:27:54 +01:00
wmayer
90d8c34631 App: Fix const correctness 2025-01-02 13:24:57 +01:00
wmayer
b3a1fd9676 App: Add methods to get base and direction of datum element
Add the methods DatumElement::getBasePoint() and DatumElement::getDirection() to hide implementation details and guarantee consistent behaviour.

Using the methods fixes several regressions in:
* Constraint::getDirection
* PolarPattern::getTransformations
2025-01-02 13:24:57 +01:00
marioalexis
604a764a6f Fem: Use property constraints on mesh netgen object 2025-01-01 11:21:44 -03:00
marioalexis
96aea8545b App: Assign constraints for integer and float properties using dictionary 2025-01-01 11:21:37 -03:00
wmayer
cbd116b451 Gui: Use bitmask instead of three booleans in setTemporaryVisibility to improve readability 2024-12-31 13:29:01 +01:00
Kohei Takahashi
cc77739c6d Base: Expanded FindAttribute() to get rid of frequent constant transcode 2024-12-31 10:30:23 +09:00
wmayer
63088a29a9 Gui: Reduce cognitive complexity of ViewProviderCoordinateSystem::setTemporaryVisibility 2024-12-30 19:03:58 +01:00
wmayer
8d4ddac85e Gui: Reduce code duplication in ViewProviderCoordinateSystem 2024-12-30 18:42:50 +01:00
wmayer
72cfd14768 Gui: const correctness in ViewProviderPlane 2024-12-30 17:44:04 +01:00
PaddleStroke
e977eb49e3 Core datums: Rework to improve new sketch 2024-12-30 09:05:44 +01:00
Joao Matos
11af126717 CMake: Use Coin3d CMake target directly if one exists. 2024-12-28 20:49:01 +00:00
Roy-043
9b8b962f56 Draft: Remove unnecessary CamelCase names
The related functions were introduced in V0.19. They should not be also available under CamelCase names.
2024-12-26 12:06:29 +01:00
Kohei Takahashi
f032b44f44 Base: Added helper macro for caching transcode-ed string literal 2024-12-26 17:16:45 +09:00
Paul Lee
6bb424b5d1 [ArchStairs] Regression-fix : EnsureBase preventcreation
Stairs can do without Base.  Base validity is tested in code.

EnsureBase() is remarked out.
2024-12-24 13:54:54 +01:00
Tobias Frost
5957a9118e Fix compilation issue if KuKa files have been removed.
(Background is issue #18622)

CMake errors out when the Kuka files are removed with:

```
CMake Error at cMake/FreeCadMacros.cmake:79 (ADD_CUSTOM_COMMAND):
  ADD_CUSTOM_COMMAND called with wrong number of arguments.
Call Stack (most recent call first):
  src/Mod/Robot/CMakeLists.txt:47 (fc_target_copy_resource)
```

The problem is that while the CMake code checks whether /src/Mod/Robot/Lib/Kuka is there befor setting Robot_Resources, but then later still uses the variable, even if it hasn't been set.

The patch just guards the failing fc_target_copy_resource with another if that checks whether the variable has been defined.

CMake install would also fail when Lib is empty, so another guard is required for the `INSTALL( DIRECTORY Lib` … section.
2024-12-24 07:00:48 -05:00
Tobias Frost
7fb80448f2 Remove unused ifndefs for GL_MULTISAMPLE
(found while searching for the build error on armhf/armel on Debian
buildds, once resolved will make an additional PR for that.)

$grep -r GL_MULTISAMPLE src/
yields:

 src/Mod/Sandbox/Gui/Overlay.cpp: #ifndef GL_MULTISAMPLE
 src/Mod/Sandbox/Gui/Overlay.cpp: #define GL_MULTISAMPLE  0x809D
 src/Mod/Sandbox/Gui/GLGraphicsView.cpp:#ifndef GL_MULTISAMPLE
 src/Mod/Sandbox/Gui/GLGraphicsView.cpp:#define GL_MULTISAMPLE  0x809D

-> The defines are defined, but never used in the compilation unit
2024-12-24 10:41:40 +01:00
WandererFan
abb50a4daa [TD]Long and link dim refs (fix #13375) (#18641)
* [Meas]Changes for TD dimension refs for links

* [TD]App changes for dim refs to links

* [TD]Gui changes for dim refs to links

* [TD]fix 2 lint messages

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-23 17:36:22 -05:00
FEA-eng
0d128517de FEM: Update checksanalysis.py 2024-12-23 18:50:10 +01:00
wandererfan
8e653ca7fb [TD]fix highlight style preference 2024-12-23 12:32:19 -05:00
Chris Hennes
8edb649d97 Addon Manager: Add fallbacks for PySide to WidgetFilterSelector
Ensure that this part of the Addon Manager can be tested outside
FreeCAD by falling back to explicit PySide imports.
2024-12-23 18:24:37 +01:00
wmayer
9cd919d0b9 Gui: Fix copying elements in the tree view by holding CTRL key
In older versions it was possible to copy elements with drag and drop by holding the CTRL key. Since v0.20 or v0.21 this wasn't possible any
more so that elements are always moved.

Note: Copying is only allowed for elements that have a parent object.
2024-12-23 12:21:12 -05:00
Mark Ganson TheMarkster
c0210c2d3c [Spreadsheet] fix isValidAlias() (#18567) 2024-12-23 14:18:30 -03:00
WandererFan
300f3bca4c [TD]Section line and rotation fix 17831 (#18663)
* [TD]fix SectionLine colour (fix 17831 part 1)

* [TD]fix wrong rotation in Section task (fix 17831 part 2)
2024-12-23 11:03:31 -06:00
Chris Hennes
9bab070632 Merge pull request #18608 from marioalexis84/fem-netgen_log_verbosity
Fem: Add preference entry to set Netgen (new implementation) log verbosity and number of threads for meshing
2024-12-23 12:02:32 -05:00
Chris Hennes
9ef57818be Addon Manager: refactor process_string_to_datetime (#18492)
* Addon Manager: Refactor utilities tests to remove filesystem use

* Addon Manager: Move process_date_string_to_python_datetime to utilities

Also add unit tests and modify the exception type

* Addon Manager: Add tests for other date separators

* Addon Manager: Refactor to reduce duplication

* Addon Manager: add explanation of why the function exists

* Addon Manager: use exception chaining

* Addon Manager: Remove unused test files
2024-12-23 18:01:02 +01:00
Roy-043
b7cae54666 Part: remove rogue margins from ui file 2024-12-23 11:59:34 -05:00
Chris Hennes
5688e81ed4 Measure: Pass empty arg to QStringLiteral macro
Silences compiler warning about missing expected macro argument (MSVC warning C4003).
2024-12-23 17:55:15 +01:00
mwganson
9db4e89467 [PythonEditor] Make converting tabs to spaces the default 2024-12-23 11:53:05 -05:00
wmayer
4ba6e8e150 App: Fix possible crash when postponing the destruction of a removed property
Fixes #18601
2024-12-23 11:49:38 -05:00
Ladislav Michl
c0f0376ac6 Base: Quantity: use std::nan 2024-12-23 17:48:42 +01:00
Ladislav Michl
4d6ed9d531 Base: UnitsSchema: return std::string 2024-12-23 17:48:42 +01:00
Ladislav Michl
2ea8a633ac Base: Quantity: return std::string 2024-12-23 17:48:42 +01:00
Ladislav Michl
c11b37e312 Base: Units: remove unused defines 2024-12-23 17:48:42 +01:00
Ladislav Michl
0907c7bfda Base: Units: return std::string 2024-12-23 17:48:42 +01:00
Ladislav Michl
6b6e1fbd26 Base: Units: reimplement getTypeString() using container 2024-12-23 17:48:42 +01:00
Ladislav Michl
2d0ce24496 Base: Units: hide internals 2024-12-23 17:48:42 +01:00