Commit Graph

41712 Commits

Author SHA1 Message Date
Jackson Oursland
78360d443e CI: make daily build occur at 18:00 UTC. (#20814)
* CI: make daily build occur at 18:00 UTC.
2025-04-15 13:59:36 -05:00
Furgo
efee3a34bf Stylesheets: fix undo button arrows on FreeCAD Dark/Light themes
Co-authored-by: MisterMakerNL <marijn82@gmail.com>
Fixes: #19372
2025-04-15 20:33:45 +02:00
PaddleStroke
755cabc5ba Sketcher: Refactor SketchObject::Fillet() (#20544)
* Sketcher: Refactor SketchObject::Fillet()

* Update Geometry.h

* Update Geometry.cpp

* Update SketchObject.cpp

* Fix line-circle tangent issue

* Replace M_PI

* Update Geometry.cpp

* Update Geometry.cpp

* Update src/Mod/Part/App/Geometry.cpp

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Update Geometry.cpp

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-15 20:01:31 +02:00
Sameer Mishra
2768ce7933 BIM: Fix 'Convert to type' dialogue unhandled placeholder #20676 (#20705)
Handle %1 placeholder that was appearing in text strings
in the 'Convert to type' dialogue. This was affecting multiple
language files in the translation system.

This change improves the readability and correctness of the displayed text
in the application interface.

The dialog now dynamically shows the correct type (e.g., 'WallType', 'BeamType')
in the user's interface language.

---------

Co-authored-by: _sameer <sameer.mishra@infra.market>
2025-04-15 12:58:28 -05:00
Alfredo Monclus
2dcdd6ac01 Gui: inputfield only show invalid states 2025-04-15 13:52:33 +02:00
marioalexis
89eb6789c4 Fem: Update command FEM_SolverRun 2025-04-15 08:49:23 -03:00
marioalexis
1126723284 Fem: Add option to set data mode for SolverCalculiX 2025-04-15 08:49:23 -03:00
Jacob Oursland
c56ae33493 CMake: use job pools to restrict number of concurrent compilers and linkers.
When using Ninja build system, CMake can specify job pools for number of concurrent compilers
and concurrent linkers.  This PR employes the heuristic of max number of compilers as available
physical ram / 1 GiB and a single linker instance to prevent using excessive RAM.  Modern
linkers are multithreaded and should not be run concurrently due to risk of resource exhaustion.
2025-04-15 13:04:22 +02:00
Jacob Oursland
7b759aae1a pixi: use clang on Linux.
clang uses considerably less memory on Linux allowing more concurrent instances than with g++.
Using clang reduced build times on a machine from 63m to 32m.
2025-04-15 13:04:13 +02:00
Kacper Donat
ac02a9a39d Merge pull request #20747 from hyarion/refactor/use-toDegrees-and-toRadians
Use toDegrees and toRadians
2025-04-15 09:21:34 +02:00
Benjamin Nauck
22120fa597 Use Base::toDegrees() instead of manually converting 2025-04-15 07:16:39 +02:00
Benjamin Nauck
f932c7e4e0 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
mosfet80
5a1cdcfd11 Update sub_buildPixi.yml
https://github.com/prefix-dev/setup-pixi/releases

https://pixi.sh/dev/CHANGELOG/
2025-04-15 06:46:27 +02:00
Jacob Oursland
bc2aba9618 pixi: Use the mold linker on Linux. 2025-04-15 06:42:55 +02:00
Kacper Donat
61758e5786 Merge pull request #20713 from hyarion/refactor/tighten-up-tools
Tighten up types in Base/Tools.h math functions
2025-04-14 23:58:26 +02:00
Jackson Oursland
5875f0a90c CMake: set optimization of debug builds to -Og. (#20780)
* CMake: set optimization of debug builds to -Og.

* Update cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Fix indentation level

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-14 21:34:46 +00:00
Roy-043
31b0dbaa79 BIM: fix BIM_WPView command (#20741)
* BIM: fix BIM_WPView command

The BIM_WPView command did not work properly. This was mainly due to a faulty import.

* Updated to avoid a linter warning
2025-04-14 11:28:55 -05:00
Chris Hennes
d0f09c3f2b Merge pull request #20549 from davesrocketshop/external_manager_pr
Material: Interface with an external module
2025-04-14 11:23:53 -05:00
Roy-043
2f39daf986 BIM: fix Arch_Schedule column width handling
Fixes #20723.

The clearAll method resets the column widths of the sheet. The code now stores the old widths and restores them after calling the method.

The old problem that the method would remove the custom property no longer occurs so that code was removed.
2025-04-14 11:21:26 -05:00
Bas Ruigrok
921620ba8a Use longest edge in face for horizontal/vertical alignment (#20374)
* App: Add second direction to getCameraAlignmentDirection()

* Part: Find longest face edge for horizontal/vertical alignment

* Gui: Use longest face edge for horizontal/vertical alignment

* App: Improve horizontal/vertical alignment for Datums and LCS
2025-04-14 11:20:49 -05:00
Chris Mayo
d91b3e0517 CMake: Fix duplicating DESTDIR in Designer plugin installation path
CMake already handles DESTDIR.
2025-04-14 11:18:26 -05:00
PaddleStroke
f9f76a2516 Sketcher: Refactor DrawSketchHandler::seekAutoConstraint (#20476)
* Sketcher: Refactor DrawSketchHandler::seekAutoConstraint

* to squash

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

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

* Update DrawSketchHandler.h

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

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

* move to protected. To squash

* remove arc of ellipse forgotten if

* Update DrawSketchHandler.cpp

* Update src/Mod/Sketcher/Gui/DrawSketchHandler.h

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>

* Update DrawSketchHandler.h

* Update DrawSketchHandler.cpp

* revert hitshapedir

* Remove never used if condition

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-04-14 11:15:00 -05:00
mosfet80
71317baa52 MOD: assembly clean (#20557)
* MOD: assembly clean

clean code

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

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

* Update AssemblyLink.cpp

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-14 11:05:55 -05:00
Roy-043
9dffe0d9b4 Draft: Simplify working plane view observer callback
The old callback contained unnecessary checks that prevented the working plane from working correctly if the Tray was missing.
2025-04-14 11:01:48 -05:00
Roy-043
681d056073 BIM: HorizontalArea prop did not detect islands
Forum topic:
https://forum.freecad.org/viewtopic.php?t=95973

This was fixed by using `Part::FaceMakerCheese`.
2025-04-14 11:00:40 -05:00
David Carter
09f71cb40d Dependencies: Add lru-cache library
Adds a generic C++ based caching library to support material external
modules. This is a template based library which means there is nothing
to build or link.

The only modification is to the CMakeLists.txt file to enable
integration with FreeCAD,

Original source: https://github.com/goldsborough/lru-cache
2025-04-14 11:00:05 -05:00
Benjamin Bræstrup Sayoc
393ab112e5 TechDraw: refactor click handles for editable fields
Fixes #19387
2025-04-14 10:46:09 -05:00
Chris Hennes
7ac21c5eff Merge pull request #20649 from pieterhijma/viewprovider-toggle-visibility
[Core] Allow setting visibility toggling in the ViewProvider
2025-04-14 10:45:14 -05:00
Roy-043
04c686b1d7 BIM: BIM_Leader would create a wire with fewer than 2 points
If the BIM_Leader was escaped without clicking a point, or after cicking only 1 point, a Draft_Wire object would still be created.
2025-04-14 10:34:13 -05:00
Jackson Oursland
b8031f9205 Add cmake to Ubuntu package dependencies. (#20578) 2025-04-14 10:16:58 -05:00
tarman3
c4b1c830fe Fix typos in warning message 2025-04-14 14:20:20 +02:00
tarman3
cb9e87998a Less warning with Array DressUp 2025-04-14 14:20:20 +02:00
Jacob Oursland
d56d902045 pixi: Unset CFLAGS, CXXFLAGS, DEBUG_CFLAGS, and DEBUG_CXXFLAGS.
pixi sets a variety of environment variables, which unfortunately includes compiler optimization flags.
This PR unsets the compiler flags for parity with other environments.

A consequence of this is that debug builds are no longer build with high optimization, which is a desirable outcome.
2025-04-14 10:05:41 +02:00
Benjamin Nauck
cc40e522de Base: make our fmod require floating point values 2025-04-14 08:00:57 +02:00
Benjamin Nauck
1370c2101f Base: Make degrees and radians convertions safer and faster 2025-04-14 08:00:57 +02:00
Benjamin Nauck
16a7bf420c Base: Make sgn branchless 2025-04-14 08:00:57 +02:00
Benjamin Nauck
12fa564894 Base: Require clamp to take arithmetic values
use std::clamp internally, function should probably be removed
2025-04-14 08:00:48 +02:00
pre-commit-ci[bot]
3cd0a7d2ff [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-13 23:21:39 +00:00
jalapenopuzzle
5f2792968b CAM: Snapmaker use manufacturer's data table instead of calculating boundary offsets 2025-04-14 08:03:17 +10:00
pre-commit-ci[bot]
c7773b5d4d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-14 08:03:17 +10:00
jalapenopuzzle
9298ad8ad0 CAM: snapmaker add --quick-swap and --bracing-kit options 2025-04-14 08:03:16 +10:00
jalapenopuzzle
42636926ca CAM: snapmaker clean output_header() 2025-04-14 08:03:16 +10:00
jalapenopuzzle
7e54513e5e CAM: snapmaker add linear module lead screw pitch 2025-04-14 08:03:15 +10:00
jalapenopuzzle
5eaa6326a4 CAM: snapmaker toolheads and spindle speeds
* Removed generic snapmaker machine and toolhead configuration. The idea of running a CNC code that is not matched to the machine's abilities and work area seems dangerous.
* --machine argument is required
* --toolhead argument is required when the selected machine is compatible with more than one toolhead. When the selected machine only supports one toolhead, it is selected as the default.
* --spindle-percent defaults according to the selected toolhead capabilities. If the toolhead can do RPM, then RPM is used, otherwise falls back to percent. This option now functions as an override.
* fixed a bug in convert_spindle() when RPM is selected. The gcode was not returned.
2025-04-14 08:03:14 +10:00
jalapenopuzzle
699a25e243 CAM: snapmaker --machine is a required option 2025-04-14 08:03:14 +10:00
jalapenopuzzle
94140ab2b1 CAM: snapmaker machines separate T machines and capitalise names 2025-04-14 08:03:13 +10:00
jalapenopuzzle
c71bca3d49 CAM: snapmaker machines separate boundaries 2025-04-14 08:03:12 +10:00
jalapenopuzzle
42f40115a1 CAM: snapmaker use order {min,max} 2025-04-14 08:03:12 +10:00
jalapenopuzzle
b738118718 CAM: snapmaker unit tests fix type lint
NOTE get_gcode() can return an argparse.Namespace if something goes wrong with parsing the arguments.
This is contrary to the str specification.
2025-04-14 08:03:11 +10:00
jalapenopuzzle
1b4b36767d CAM: snapmaker unit tests fix assertTrue() -> assertEqual()
The test was NOT functioning as required.
assert True does NOT compare the expected line with the generated GCode line.
After fixing this, the expected output was updated so that the unit tests pass.
2025-04-14 08:03:11 +10:00