Commit Graph

31813 Commits

Author SHA1 Message Date
Benjamin Nauck
b9ee64792d Part: use empty() and isEmpty() instead of count() where possible 2025-05-03 22:22:10 +02:00
Benjamin Nauck
e69c372056 Material: use contains() and isEmpty() instead of count() where possible
# Conflicts:
#	src/Mod/Material/App/ModelLibrary.cpp
2025-05-03 22:22:10 +02:00
Benjamin Nauck
4bf7048534 Import: use contains() instead of count() where possible 2025-05-03 22:19:51 +02:00
Benjamin Nauck
dd2172e463 CAM: use contains() instead of count() where possible 2025-05-03 22:19:51 +02:00
pre-commit-ci[bot]
3ef7ba2d9d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-05-02 07:29:09 +00:00
Stefan Tröger
ce25de290e FEM: Fix typos in python post processing code 2025-05-02 09:25:57 +02:00
Stefan Tröger
0304faa2bc FEM: Handle python vtk user installs that conflict with FreeCAD VTK 2025-05-02 09:25:57 +02:00
Stefan Tröger
96e9e7a17a FEM: Fix test with new python filter and other small fixes 2025-05-02 09:25:56 +02:00
Stefan Tröger
d51d5a3b0b Fem: correctly handle python filters if vtk python is not available 2025-05-02 09:25:56 +02:00
Stefan Tröger
0217a2176e Fem: make python filter build process more elegant 2025-05-02 09:25:56 +02:00
Stefan Tröger
491923e41e Fem: Implement basic python filter functionality and glyph example 2025-05-02 09:25:56 +02:00
marioalexis
2fdc7e91bc Fem: Use string format to round Elmer quantity values - fixes #20938 2025-05-01 20:23:19 -03:00
marioalexis
37b988ec00 Fem: Move code from Elmer electrostatic writer to proxy class 2025-05-01 20:23:18 -03:00
David Carter
ffb7ab779b Materials: External Module Support
The final PR for the external module feature that allows materials to
be stored in an external datastore, webservice, etc.

This includes the final material manager classes, and the UI support in
the form of commands and preference pages.
2025-04-29 19:06:16 -05:00
wandererfan
a925595232 [TD]Lint brushing 2025-04-29 09:22:11 -04:00
Ralf Habacker
21a5261345 BIM: Fix Python syntax error
Due to the use of an incorrect exponentiation operator the following
exception was triggered when changing attributes of a wave profile:

TypeError: Unsupported operand type(s) for ^: 'float' and 'float'

fixes #21048
2025-04-29 07:14:17 -05:00
Roy-043
56d75c2c06 Draft: store 3 ShapeString parameters and remove font from prefs (#21054)
* Draft: store 3 ShapeString parameters and remove font from prefs

With this PR 3 ShapeString parameters are stored:
* ShapeStringFontFile: this replaces the old FontFile parameter.
* ShapeStringHeight
* ShapeStringText

The ShapeStringFontFile is just the last selected font file and not exposed in the Preferences editor.

Additionally:
* Changed the label of the text input box from "String" to "Text".
* Changed the label of the point reset button to sentence case.

* Remove faulty docstring
2025-04-29 07:13:17 -05:00
Stefan Tröger
4479fd4d2d FEM: correct typos 2025-04-28 20:52:47 -05:00
wandererfan
ee2b3cae4e [TD]Add check for invalid section coordinate system 2025-04-28 19:15:58 -04:00
wandererfan
c33fe5f274 [TD]improve ComplexSection handling of bad section normal choice 2025-04-28 19:15:58 -04:00
Stefan Tröger
2c40c8291c FEM: Post task dialog opens transaction only if none is pending. Fixes item 4 in #20263 2025-04-28 18:45:05 +02:00
Stefan Tröger
95e3c08840 FEM: Add post pipeline for check analysis type. Fixes #20936 2025-04-28 18:45:05 +02:00
Stefan Tröger
c5c38a4a12 FEM: Ensure finite frame values only. Fixes #20933 2025-04-28 18:45:05 +02:00
Stefan Tröger
6cc83f470e FEM: Fix post object load of unsupported VTK data type 2025-04-28 18:45:05 +02:00
tetektoza
8d6547d519 BIM: Allow CurtainWall to have Window being assigned upon Remove/Add ops
Currently user has no possibility to insert Window to the host, if the
host is a Curtain Wall.

Solution is simple - just populate the array of acceptable hosts that
haven't been extended.

NOTE: Although this feels wrong, I've noted to change it as having some
kind of an internal flag allowing for add/remove for the host, since
extending this array looks like a really bad approach.
2025-04-28 18:20:16 +02:00
Graic
8d2cb99712 Gui: Added classic trackball orbit style (#20535)
* Gui: add classic trackball orbit

* Gui: add rounded arcball orbit
2025-04-28 11:12:53 -05:00
Ajinkya Dahale
350a416708 Sketcher: Avoid an unnecessary geometry update when trimming 2025-04-28 11:11:57 -05:00
Roy-043
ea6a30efba Draft: Add Global mode to ShapeString task panel
This PR adds the Global mode option to the ShapeString task panel.

Additionally:
* Rounding of coordinates caused by reading values from the task panel is avoided.
* Improved task panel layout: Height input above String input.
* Some code reformatting.
2025-04-28 17:57:41 +02:00
João Neves
0d38b2f7c5 Core: Fixed a bug where an empty document disappears (#20554)
* Core: Fixed a bug where an empty document disappears

Created a flag named autoCreated to distinguish an autoCreated
document created in the startup from a manually document.
Implemented a setter and a getter for this new flag.
Added a codition that verifies if a document is autoCreated
when opening another document to close it in the correct case.
Implemented unit tests for theses cases. Fixes #19868.

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>

* Tests: Fix failing auto-created document tests

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>

* Tests: moved created tests to the existing Document test framework.

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>

---------

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>
2025-04-28 10:46:52 -05:00
Furgo
9c1e3d8bc5 BIM: BIM_TDView, add tooltip info on how to insert the view on a particular page (#20932)
* BIM: add tooltip info on how to insert the view on a particular page

* Fix typo

* BIM: split tooltip comment for better code readability

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

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-28 17:46:09 +02:00
J-Dunn
28620363fd CAM: Remove comment (#20931)
* Update helix.py

* [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>
2025-04-28 10:39:57 -05:00
tarman3
b9ed43f222 CAM: Fix array warning 2 2025-04-28 10:38:24 -05:00
David Carter
a6ffcf63b6 Materials: Model Manager External Interface (#20825)
* Materials: Model Manager External Interface

Implement the ModelManagerExternal class for the external Materials
interface.

This is part of the ongoing merges of code to support external material
interfaces. In this PR the ModelManagerExternal class is implemented,
along with changes to supporting classes required for this class.

* Apply reviewer feedback
2025-04-28 10:29:04 -05:00
muezabdalla
56d3ca7b72 making the buttons of the temperature constrain expandable (#20894) 2025-04-28 10:11:40 -05:00
paul
ed85cd3a5d [ArchStairs] ArchSketch Support and Refactoring Phase 2 (#21025)
* [ArchStairs] ArchSketch Support and Refactoring Phase 2

Phase 2 Subsequent to https://github.com/FreeCAD/FreeCAD/pull/20069

FC Forum Discussion:-
https://forum.freecad.org/viewtopic.php?p=814274#p814274

ArchSketch Support, PropertySet, and Refactoring to enable more complex Stairs shape.

* [ArchStairs] ArchSketch Support and Refactoring Phase 2 - Typo fix

* [ArchStairs] ArchSketch Support and Refactoring Phase 2 - Clean up Tab
2025-04-28 10:04:40 +02:00
Roy-043
0d6a07728a BIM: Update working plane related code
Some code stemming from the old BIM external workbench still used `FreeCAD.DraftWorkingPlane`.
2025-04-28 10:01:35 +02:00
Luz Paz
4619ab1bff Misc: Fix various typos
Found via codespell
2025-04-27 19:32:19 -05:00
tetektoza
b138276a15 Core: Introduce PDF Import-Export dialog (#20860)
* Core: Introduce PDF Import-Export dialog

Currently, we only have hardcoded exporting to one pdf version, which
leads to (as in one of the below issues) to problems, such as
non-transparent layers, which are by default not supported in PDF/A-1b.

So, this patch adds an option to the user to select their preferred PDF
version by introducing new dialog under Import-Export in Preferences,
and allowing to update that version before exporting.

* Core: Add informational messages regarding selected PDF format

* Gui: Handle Qt < 6.8 unsupported PDF format

* Gui: Switch PDF export prefs dialog to use tr()

* Gui: Remove center alignment of PDF version description

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-04-27 19:31:34 -05:00
bofdahof
1155f0d752 Base: simplify UnitsSchemas management
Fixes: Maintaining schemas is difficult and error-prone

- Facilitate easy schemas add, remove, change, etc.
- Remove 14 files containing approx 2,190 lines of if/else code and data
- Place data in one file (UnitsSchemasData.h) using a normalized structure (including special functions)
- Isolate and simplify data operations (code)
- Remove schemas enum to keep data independent of code
- Separate responsibilities: Specifications, data, schemas, schema
- Add schema data 'isDefault'
- Add schema data name
- Prefer algorithms to raw loops
- Add schemas unit tests
- Tweak quantity unit tests
2025-04-27 00:45:54 +02:00
Ladislav Michl
ef6f60510a Test: fix MaterialTestCases failing on unicode character output 2025-04-27 00:45:54 +02:00
bofdahof
fc729762b0 Test: fix typo in UnitTests 2025-04-27 00:45:54 +02:00
bofdahof
ab4ede8b6d TechDraw: refactor DimensionFormatter 2025-04-27 00:45:53 +02:00
bofdahof
30fd8d6d60 Sketcher: refactor EditModeConstraintCoinManager::getPresentationString 2025-04-27 00:45:53 +02:00
Kacper Donat
f2cd99c50a Material: Replace dynamic_cast with qobject_cast 2025-04-26 14:23:25 +02:00
Kacper Donat
c704622605 Sketcher: Replace dynamic_cast with qobject_cast 2025-04-26 14:23:25 +02:00
Kacper Donat
119dc079c1 Spreadsheet: Replace dynamic_cast with qobject_cast 2025-04-26 14:23:25 +02:00
Kacper Donat
216166d853 TechDraw: Replace dynamic_cast with qobject_cast 2025-04-26 14:23:25 +02:00
Kacper Donat
d586447a7d Sketcher: Use freecad_cast whenever possible 2025-04-26 14:23:25 +02:00
Kacper Donat
4487dc84a0 Fem: Use freecad_cast whenever possible 2025-04-26 14:23:25 +02:00
Kacper Donat
ecdadf7955 Part: Use freecad_cast whenever possible 2025-04-26 14:23:25 +02:00