Commit Graph

41774 Commits

Author SHA1 Message Date
Ajinkya Dahale
3425eebfdc [Sketcher][WIP] Refactor SketchObject::generateId()
Should be just the same old loop and conditional rearrangement. However, not
confident that this behaves exactly the same as previously.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
82610ca8fa [Sketcher] Use replaceGeometries() in split 2025-05-19 20:24:17 +02:00
sliptonic
93a6c5e077 Merge pull request #21288 from tarman3/simhome
CAM: Simulator - Reset camera
2025-05-19 11:42:58 -05:00
Joao Matos
1f5e0f6494 App: Invoke signalBeforeRecompute() on the GUI thread
Historically, `App::Document::recompute()` ran entirely on the **main**
(GUI) thread and directly emitted `signalBeforeRecompute()`.

* Add-ons like **Assembly3** and others depend on that signal for
setup/teardown hooks before any recompute work begins.

* After offloading `recompute()` into a background worker thread to keep
the UI responsive, calling `signalBeforeRecompute()` directly from the
worker would break thread-affinity rules and silently break
compatibility with those add-ons.

**Solution**

1. **Introduce a generic hook** (`PreRecomputeHook`) in
**App::Document**:

* A `std::function<void()>` that, if set, is invoked at the very
start of `recompute()`.

* Core code stays Qt-free—only knows to call a callback if one
exists.

2. **Wire up the hook in `Gui::Document`**:

* In the GUI wrapper’s constructor, install a hook that calls
`callSignalBeforeRecompute()`.

* `callSignalBeforeRecompute()` uses `QMetaObject::invokeMethod(...,
Qt::BlockingQueuedConnection)` to enqueue `signalBeforeRecompute()` on
the GUI thread and **block** the worker until it completes.

    * If already on the GUI thread, it simply calls the signal directly.

3. **Maintain add-on compatibility**:

* From the add-on’s perspective nothing changes—they still receive
`signalBeforeRecompute()` on the main thread before any recompute work.

* Internally, the recompute body now runs on a worker thread,
improving UI responsiveness without breaking existing hooks.

**Result**

* **Recompute** remains fully backward-compatible for add-ons like
Assembly3.

* **UI thread** still handles all GUI-related signaling.

* **Worker thread** performs the actual heavy lifting, unblocked only
once the GUI is primed and all pre-recompute signals have been
delivered.
2025-05-19 18:30:56 +02:00
Andrea
6cd828d986 SpreadSheet: remove function
Observer is no longer required as PropertySheet is now derived from  PropertyLinkBase and will handle all the link related behavior
2025-05-19 18:27:01 +02:00
Andrea
f8b327fffc Removed empty functions
Removed empty functions
2025-05-19 18:25:17 +02:00
Andrea
81097bbaf1 Remove oldFuse funcion
oldFuse is deprecated since OCC 7.3
2025-05-19 18:21:07 +02:00
Kacper Donat
f30fba7adb Materials: Fix MaterialManager being copied on getInstance() 2025-05-19 18:12:01 +02:00
Kacper Donat
fc93511d88 Materials: Fix ModelManager being copied on getInstance() 2025-05-19 18:12:01 +02:00
tetektoza
bba139985a BIM: Make a correct mapping to weight during IFC Quantities assignment
Currently we can assign quantities to a BIM object, but upon exporting
quantities are not visible in the IFC file.

This was because we didn't have a correct mapping to weight property.
`App::PropertyWeight" basically doesn't exist, so this patch changes it
to `App::PropertyMass`, as it is the same. The incorrect mapping
resulted in a traceback, which in turn resulted in missing a big part of
additional processing for the properties, which resulted in
`writeQuantities` checking for non-existent IfcData in the object.
2025-05-19 18:10:37 +02:00
saso badovinac
2f463ff005 Update codeql.yml
Split the cpp scan to a new job and activate running it on weekly schedule (runs for about 5 hours)
2025-05-19 18:04:40 +02:00
Furgo
52daf829a7 BIM: do not prune Roof objects on export 2025-05-19 18:00:38 +02:00
FEA-eng
3047feba7a FEM: Add more glyph types for the Glyph filter (#21397)
* FEM: Update post_glyphfilter.py

* FEM: Update TaskPostGlyph.ui

* [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-05-19 17:52:25 +02:00
marioalexis
b6da328bb7 Fem: Add support for VTK < 9.1 in calculator filter - fixes #21346 2025-05-19 17:50:17 +02:00
Benjamin Nauck
02e1bbe1ae Merge pull request #21042 from furgo16/add-taskpanel-walloffset
BIM: add Offset input to wall creation task panel
2025-05-19 17:45:46 +02:00
xtemp09
65fe3b8558 Add Navigation Style/Orbit Style/Rotation Mode to About info
Closes #17431
2025-05-19 17:45:00 +02:00
tetektoza
ca9041ce50 BIM: Avoid traceback if there is no Classification selected
As the title says, if user selects `OK` button and has no Classification
selected (which can happen only if the list is empty I think), then they
get a traceback since we're trying to access list of selections
directly.

So this patch adds a small patch to close the form if user has pressed
`OK` button and did not select anything.
2025-05-19 17:41:24 +02:00
sliptonic
fa2de9bc7b Merge pull request #21129 from jffmichi/fix_active_and_coolant
CAM: fix handling of Active state and CoolantMode with nested dressups
2025-05-19 10:33:45 -05:00
PaddleStroke
8e8382dbcb TechDraw: Fix claiming of hatch 2025-05-19 17:33:19 +02:00
sliptonic
d041090c87 Merge pull request #21408 from jffmichi/fix_array_dressup_two
CAM: fix loading Array dressup with unused properties
2025-05-19 09:48:02 -05:00
sliptonic
fc2e844c22 Merge pull request #21108 from tarman3/pathshape2
CAM: PathShape with Tool Controller
2025-05-19 09:12:58 -05:00
Ladislav Michl
76ce8ccfd5 Base: fix conversion to kilometers in Standart unit schema
Fixes: 1155f0d752 ("Base: simplify UnitsSchemas management")
2025-05-19 12:15:51 +02:00
Ladislav Michl
c0963a9277 Base: align unit format to Quantity parser expectations
Quantity parser is unable to deal with exponents written in
supersript, so change it back to ^n.

The micro prefix is expected to be U+00B5, not U+03BC, so change
it back as well. Note, that \x escape sequence reads till the
whitespace or the end of string, thus microFarad becomes
  "\xC2\xB5""F

Fixes: 1155f0d752 ("Base: simplify UnitsSchemas management")
2025-05-19 12:15:51 +02:00
Ladislav Michl
d80e5d0a8a Base: fix QuantityPy::getValueAs
Fixes: 77f4515963 ("Base: refactor QuantityPy class")
2025-05-19 12:15:51 +02:00
bofdahof
285a930d70 Base: restore output format of imperial fraction units
Fixes: 1155f0d752 ("Base: simplify UnitsSchemas management")
2025-05-19 12:15:51 +02:00
PaddleStroke
e2a0570921 TechDraw: Lock multiple views 2025-05-19 09:37:37 +02:00
PaddleStroke
baf08540ab TechDraw: decorateLine fix (#21312)
* TechDraw: decorateLine fix

* Update CommandAnnotate.cpp
2025-05-19 09:36:47 +02:00
Chris Hennes
f9235b316d TD: Remove unused variable 2025-05-19 09:36:13 +02:00
Céleste Wouters
90a612db29 Sketcher: remove "SecondIcon" logs on constraint icon hover
Hovering the cursor over constraint icons sometimes logs "SecondIcon"
messages to the report view, doing so for every cursor move event.
This message isn't useful outside of a development context and in fact
is a leftover from 11c76c998e.

Removes this message.

Fixes #21417
2025-05-18 16:30:22 +02:00
jffmichi
b460bf295c App: Fix exported object dynamic property type identifier (#21415)
Fixes: 9d6f1ad37c ("App: Align Document to best practices")

Co-authored-by: jffmichi <>
2025-05-18 01:38:04 +02:00
Roy-043
61e349ef54 Draft: use different color for WPProxy to avoid BIM dependency
Fixes #21390.
2025-05-17 14:30:48 +02:00
jffmichi
12ad0c36e8 CAM: fix loading Array dressup with unused properties 2025-05-17 12:42:28 +02:00
dependabot[bot]
1ca108f8d5 Bump github/codeql-action from 3.28.16 to 3.28.18
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.16 to 3.28.18.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.28.16...ff0a06e83cb2de871e5a09832bc6a81e7276941f)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 12:15:43 -05:00
Roy-043
9d79d1aab9 Draft: avoid redundant constraints in make_sketch.py (#21398)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=97072

The MissingVerticalHorizontal functions from the Sketcher WB do not behave as expected. See #21396.

A check for redundant contraints is required if   `makeMissingVerticalHorizontal()` is used. The argument for the function should be `True`. For consistency the same was done for makeMissingPointOnPointCoincident().
2025-05-16 19:12:32 +02:00
saso badovinac
fc4203fbf8 Update codeql.yml 2025-05-16 09:52:44 -05:00
saso badovinac
2b29d6b51c Update codeql.yml 2025-05-16 09:52:44 -05:00
saso badovinac
25e9ca6571 Update codeql.yml 2025-05-16 09:52:44 -05:00
saso badovinac
0e01ab6f6d Update codeql.yml
Change the cpp dependencies install to ./package/ubuntu/install-apt-packages.sh (cpp scan is still disabled) and activate the extended security queries
2025-05-16 09:52:44 -05:00
Roy-043
5a7b73e560 Draft: params.py: do not report missing UI files (#21370)
See #21331.
2025-05-16 15:27:33 +02:00
Alfredo Monclus
57a8b2879a Gui: fix ElideCheckbox spacing 2025-05-16 09:32:11 +02:00
Alfredo Monclus
dc58468088 PD: move the base profiles types to the top 2025-05-15 23:31:55 +02:00
Kohei Takahashi
b54898f05f Base: Fixed segfault on destructing cached string (#20563)
* Base: Fixed segfault on destructing cached string

Xerces default memory manager is deleted before destructing static local
variable and segfault.

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-05-15 17:23:03 +00:00
Pieter Hijma
238957fb16 Fix a cyclic build dependency
Before this commit, Draft depended on BIM and BIM depended on Draft.
With this commit, BIM depends on Draft.
2025-05-15 18:50:17 +02:00
Chris Hennes
a4aabe05de Sketcher tests: Silence compiler warning with cast 2025-05-15 18:49:08 +02:00
Luz Paz
5d052cc043 Fix various typos
Missed by the codespell CI not being functional for a period of time.
2025-05-15 10:59:48 -05:00
pre-commit-ci[bot]
0aefde35ca [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pre-commit/mirrors-clang-format: 7ec07eeb4135dc6ecf410d24ac4ead986a5d413d → 300fa4c170bf0887bb5585d17ec50901ad2625fb](7ec07eeb41...300fa4c170)
2025-05-15 08:55:15 -05:00
saso badovinac
a81fcc9d5e CI: Create codeql.yml (#21300)
Adding CodeQL, starting with a minimal configuration, default queries and python only
2025-05-15 08:14:54 -05:00
Benjamin Bræstrup Sayoc
3ddc7fe2e6 TechDraw: fix face color not working
Fixes #20467
2025-05-15 12:16:24 +02:00
Joao Matos
280cdd273c Fix warnings in ModelManagercode. 2025-05-15 01:02:55 +02:00
Chris Hennes
f2e78e53e9 UI: Remove qPixmapFromMimeSource pixmap function
This function dates back to Qt3, and was removed in Qt4. Modern Qt no
longer uses this ui file entry, and in some circumstances the uic
complains about its presence.
2025-05-15 00:56:30 +02:00