Commit Graph

42068 Commits

Author SHA1 Message Date
David Carter
25aea8e142 Materials: Set array quantity format (#21647)
* Materials: Set array quantity format

When setting quantity formats, the default format is not actually the
default. Instead fixed format is, which causes issues for very small
and very large values. This was fixed for C++ but arrays created in
Python were not setting the format correctly.

* Apply suggestions from code review

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-04 16:27:37 +00:00
Benjamin Nauck
92bf6e5f2a Merge pull request #21147 from 3x380V/units
Units rework II
2025-06-04 15:58:00 +02:00
wmayer
d1e9c7b013 Base: Fix size in array 2025-06-04 14:14:20 +02:00
wmayer
a4d971020d Base: Fix typo 2025-06-04 14:14:20 +02:00
wmayer
2fe7b30ee9 Base: Remove weird error parameter from encode 2025-06-04 14:14:20 +02:00
wmayer
231680c9ce Base: Allow to also throw exception by given Python type 2025-06-04 14:14:20 +02:00
wmayer
2c60e83f25 Base: Improve Python exception handling
If the Python profiler is activated then transporting the dict as
exception object is broken where InteractiveInterpreter::runCode()
fails to restore it.
To fix the problem use Exception::setPyException() instead inside
the macto PY_CATCH and the generated wrapper code.

This also improves exception handling in command line mode.
2025-06-04 14:14:20 +02:00
Benjamin Nauck
e0027daf3b Merge pull request #21749 from kadet1090/qss-aware-checkbox-property-panel 2025-06-04 12:31:49 +02:00
Ryan Kembrey
52de054154 Fem: Fix typo in VTK module warning: 'then' -> 'than' (#21752)
Co-authored-by: Ryan Kembrey <ryan.kembrey@student.uts>
2025-06-04 07:22:20 +02:00
PaddleStroke
1384da4d7a Sketcher: Fix #21646 (#21739) 2025-06-04 06:13:44 +02:00
Chris Hennes
30aee57880 Merge pull request #21659 from 3x380V/gui_fixes
Gui: random fixes
2025-06-03 19:23:21 -05:00
Kacper Donat
a85cba3802 Gui: Ensure width and height of QAbstractView checkboxes 2025-06-03 23:43:39 +02:00
sliptonic
44faed9248 Cam: Add Ondsel SVG post processor (#21743)
* Ondsel SVG post processor

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

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

* Update src/Mod/CAM/Path/Post/scripts/svg_post.py

* Update src/Mod/CAM/Path/Post/scripts/svg_post.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-03 21:37:20 +00:00
wmayer
d09055501d Gui: Implement validator for ExpressionLineEdit
As requested in issue 21426 a leading '=' shouldn't be allowed in the edit field. The validator now explicitly disallows a leading
'=' in the text. In the future the validator can be extended.

This fixes issue 21426
2025-06-03 16:11:48 -05:00
Kacper Donat
6fc13048e2 Gui: Make checkbox in the property view QSS aware 2025-06-03 23:07:23 +02:00
Alfredo Monclus
cece88a20f PD: hole change the task panel threaded and model thread checkboxes into a combo/dropdown (#21664)
* PD: hole change threaded and modeled to combo in taskpanel

* Gui: Property editor apply review suggestions
2025-06-03 21:14:52 +02:00
Alfredo Monclus
e8fa74e4c4 Gui: Property editor use a checkbox instead of a combobox for booleans (#21555)
* Gui: property-editor add property copy context menu

* Gui: Property editor checkbox brighter border

* Gui: Property editor refactor optimize

* Gui: Property editor checkbox react to first click and add label

* Gui: Property editor remove auto-inserted include

* Gui: property-checkbox fix not painting the grid
2025-06-03 21:05:30 +02:00
theo-vt
8e50eef9d4 App::Document addObject and removeObject code reuse (#21481)
* Concatenate all of Document::addObject[s] functions into calls to Document::_addObject

* Fix minor logic errors

* use ::isPerformingTransaction instead of direct operators

* Uniform case for enum

* Remove dupplicate code for Document::removeObject

* Use CamelCase for enum and fix comment
2025-06-03 14:19:20 +00:00
sliptonic
4d5192f9f4 Merge pull request #21569 from tarman3/vcarve
CAM: Vcarve - fix zStart
2025-06-03 08:44:42 -05:00
Furgo
f3f5e380ff BIM: ignore FreeCAD groups for IFC export, controlled by a user preference (#21583)
* Add .db extension to git ignore list

* BIM: new feature - add ignore groups option on IFC exports

* BIM: create generic get_architectural_contents function
2025-06-03 11:19:07 +02:00
theo-vt
7046383a09 Sketcher: Fix scaling down ellipses and arcs of ellipses (#21718)
* Reorder ellipse major/minor radius assignment when scaling down

* [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-06-03 11:16:56 +02:00
paul
d435e31174 [BimWindow] ArchWindow/MakeWindow Normal Default Auto & SketchArch Support Sill Property (#21568)
https://github.com/FreeCAD/FreeCAD/pull/21261
Historically, the normal of a Window object was deduced by the orientation of the Base Sketch and hardcoded in the Normal property.
Now with the new AutoNormalReversed property/flag (above PR), set True as default, the auto Normal previously in opposite direction to is now consistent with that previously hardcoded.
With the normal set to 'auto', window object would not suffer weird shape if the Base Sketch is rotated by some reason.
The Normal property is set to  'auto' (0,0,0) default following the above PR.

https://github.com/FreeCAD/FreeCAD/pull/21005
BIM: Allow changing Sill parameter in Properties for Window #21005
Ground work is added to support Window augmented by SketchArch Parametric Placement feature (PR to ArchWindow.py to be submitted separately)
2025-06-03 11:15:18 +02:00
Brad Eric Hollister
722bda1935 proposed fix for https://https://github.com/FreeCAD/FreeCAD/issues/20856github.com/FreeCAD/FreeCAD/issues/20856. NOTE: AddonManager and Telemetry addon ui files are in separate repos 2025-06-03 09:37:22 +02:00
bofdahof
2e0df80e84 Base: Units: refactor
Refactor Units making it constexpr, immutable, with repetition reduced.
Separate data from code.

Constexpr constructed units allow constructing predefined Quantities
from predefined unit types.
2025-06-03 09:31:38 +02:00
Ladislav Michl
a0917bcc7c Base: Units: introduce unit one
Dimensionless quantities have all exponents equal to zero.
Such quantities are simply numbers. The associated unit is
the unit one, symbol 1, although this is rarely explicitly
written.

See chapter 2.3.3 Dimensions of quantities, The International
System of Units, 9th edition.
2025-06-03 09:31:38 +02:00
Ladislav Michl
70bea37ddd Fem: get unit via quantity
Unit is interally using Quantity to parse string input, so use it
explicitely as string constructor for Unit is going to be dropped.
2025-06-03 09:31:38 +02:00
Ladislav Michl
0c9584ab2d Base: Quantity: use isDimensionless whenever feasible
Quantity is often queried for Unit just to see if it has a dimension.
Ask Quantity directly using isDimensionless() method and modify that
method not to care about Quantity value validity; no user was ever
asking for value validity.
2025-06-03 09:31:38 +02:00
Ladislav Michl
6c4880782e App: Quantity: use predefined unit types 2025-06-03 09:31:38 +02:00
Ladislav Michl
a58846be7f Gui: use Units namespace in DlgUnitsCalculatorImp 2025-06-03 09:31:38 +02:00
Ladislav Michl
99ac4052b3 Gui: do not create intermediate Quantity class in property editor 2025-06-03 09:31:38 +02:00
Ladislav Michl
4a9eccf530 Base: minor refactoring of UnitsSchema::toLocale 2025-06-03 09:31:38 +02:00
Ladislav Michl
16d736fb96 Base: fix UnitsSchema::translate
Schema translation previously returned factor 0 and unit string
of input quantity if there was no translation match. Restore
that behaviour as well as returned factor and unit string of
imperial schemas.

Fixes: 1155f0d752 ("Base: simplify UnitsSchemas management")
2025-06-03 09:31:38 +02:00
wmayer
7c1ae09b7d Test: Add further test cases for quantities 2025-06-03 09:31:38 +02:00
wmayer
1830707464 Test: Add test case for UnitsSchemaMeterDecimal 2025-06-03 08:16:18 +02:00
julian1
f75da71042 fix #10514
Update src/Gui/PreferencePages/DlgSettingsEditor.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

Update src/Gui/PreferencePages/DlgSettingsEditor.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-06-03 00:12:58 -05:00
samrg472
03006b706a Fix compiling ProgressIndicator with precompiled headers 2025-06-02 16:35:10 -05:00
tetektoza
d12848c2b2 Sketcher: Do not allow mouse interruption while entering dimension (#20925)
* Sketcher: Do not allow mouse interruption while entering dimensions

So, currently user has an option to enter dimensions to different
Sketcher elements like circle, line, or hexagon, whatever else. But, if
they move mouse during entering of those parameters, they are gone.

This is because we are currently allowing for constant
`QAbstractSpinBox` value change during mouse move, it stops changing
ONLY AFTER value is being set (user enters number and presses ENTER
or TAB).

So, this patch introduces one more state for `EditableDatumLabel` which
is `hasFinishedEditing` which is being triggered by ENTER or TAB key,
and still keeping old `isSet` state, which disallows mouse movement
disruption and dynamically updates the edited element on viewport.
This means, that all objects now wait for `hasFinishedEditing` state to
actually finish editing.

* Sketcher: Avoid out of boundary access by checking onViewParameters size

* Sketcher: Add missing Qt headers for CI

* Sketcher: Allow using TAB to switch between labels without accepting

* Sketcher: Change to or statement, so enter will accept both labels

* Sketcher: Apply review comments

* used casting directly in if statement and auto to keep linter happy
* added comments for flags used for describing EditableDatumLabel states
2025-06-02 22:18:42 +02:00
tarman3
af88760744 CAM: Vcarve - fix zStart 2025-06-02 22:53:37 +03:00
dependabot[bot]
5d21602cea Bump ossf/scorecard-action from 2.4.1 to 2.4.2
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](f49aabe0b5...05b42c6244)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 13:42:58 -05:00
David Carter
8b9f576538 Materials: Pass by reference instead of pointers
Refactoring topass by reference instead of using existing pointers.
2025-06-02 11:32:08 -05:00
Furgo
b7008de12a BIM: fix ArchRebar default name (#21681)
* BIM: ArchRebar, only import GUI modules if the GUI is up

* BIM: ArchRebar, add tests

* BIM: Arch.makeRebar, fix rebar default name

* BIM: Arch.makeRebar, add type hints

* BIM: Arch.makeRebar, add code comments

* BIM: Arch.makeRebar, expand docstring
2025-06-02 18:31:50 +02:00
PaddleStroke
3fc9cac29c TechDraw: Sheet view: add property to claim sheet as child. (#21624)
* TechDraw: Sheet view: add property to claim sheet as child.

* Update ViewProviderSpreadsheet.cpp

* Fix bad scale of sheet views
2025-06-02 11:29:22 -05:00
Turan Furkan Topak
bbdaaf48bd Update Help.py 2025-06-02 18:28:09 +02:00
Chris Hennes
b5d85fd60e Merge pull request #21679 from 3x380V/fix_20859
Gui: Fix TreeWidget::addDependentToSelection
2025-06-02 11:26:20 -05:00
WandererFan
935ac04995 Merge pull request #21377 from WandererFan/Removesnprintf
[TD]remove snprintf
2025-06-02 18:24:05 +02:00
saso badovinac
c94abd5f26 Update codeql.yml 2025-06-02 11:22:38 -05:00
Kacper Donat
df6949dcde Merge pull request #21427 from tritao/async-occt-progress
Part: Introduce `OCCTProgressIndicator` and port operations to support it.
2025-06-02 18:04:38 +02:00
sliptonic
8eb55e3042 Merge pull request #21694 from tarman3/jobvisibility
CAM: Fix Job toggleVisibility
2025-06-02 11:04:33 -05:00
David Carter
0603113ba2 Core: Fix Thermal Conductivity units conversion
It appears that unit conversions for thermal conductivity were reversed
when migrating to the new system versus conversions in 1.0 and earlier.
2025-06-02 11:03:46 -05:00
sliptonic
3aa55b0f7b Merge pull request #21644 from tarman3/drill
CAM: Drilling - RetractMode readonly
2025-06-02 10:55:54 -05:00