Commit Graph

41795 Commits

Author SHA1 Message Date
sliptonic
1f74de07a7 Merge pull request #20833 from LarryWoestman/tests
CAM:  added three command line arguments, with tests
2025-05-20 08:35:30 -05:00
Pieter Hijma
951afad93a Doc: Move Extension documentation to a topic
This commit constitutes an almost verbatim move from the documentation
of Extension and ExtensionContainer to its own topic in core-app.dox.
2025-05-20 13:39:26 +02:00
Pieter Hijma
aeef2298b2 Doc: Reorder topics 2025-05-20 13:39:26 +02:00
hlorus
86fe91ba31 Measure: Fix delta label text size scaling (#21467)
* Measure: Fix delta label font size

- Add font size field to ViewProviderMeasureBase which connects to other fields
- Remove dead code in DimensionLinear which internally is using FrameLabel
- Connect FrameLabels's fontsize property to DimensionLinear's property

* [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-20 12:10:35 +02:00
hlorus
900afce86f Measure: Add MeasureElementType::Surface 2025-05-20 12:01:14 +02:00
Lawrence Woestman
087d393449 CAM: added three command line arguments, with tests 2025-05-19 13:52:20 -07:00
Ajinkya Dahale
ecb3ede295 Sketcher: Incorporate comments from #20589
See https://github.com/FreeCAD/FreeCAD/pull/20589#pullrequestreview-2830404892.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
845c187675 Sketcher: clean up import 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
786fa3939a Sketcher: Use const parameter where relevant 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
1d5ab2b57f Sketcher: Remove some unused lambda captures 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
fddf704a4d Sketcher: Use range-based for in Sketch.cpp 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
92d25a3a78 [Sketcher] [WIP] One curious refactor I'm not certain about
Possibly reduces "cognitive complexity", but is it really too much clearer?
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
4876757148 Sketcher: Refactor further DrawSketchDefaultHandler.h
These are somewhat riskier refactors. If confirmed safe, these can be merged
with the previous commit.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
907468365a [planegcs] Use std::ranges and range for in GCS.cpp 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
e4fa90e3b6 [Sketcher] Refactor SketchObject::delAllExternal()
Trivial changes.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
9aba1d6a3f [Sketcher][WIP] Refactor SketchObject::buildShape() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
1235db0e8f [Sketcher] Use std::ranges in SketchObject where possible 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
964db8e5b5 [Sketcher] Refactor SketchObject::split() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
64f3ca6f02 [Sketcher] Refactor TaskSketcherElements::onSelectionChanged() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
9cfd93d8bc [Sketcher][WIP] Refactor SketchObject::addExternal() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
650ccb8b4e [Sketcher] Refactor SketchObject::toggleExternalGeometryFlag()
Doesn't seem to be used anywhere. Remove?
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
3b19a1b2ac [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
85921bd478 [Sketcher] Use replaceGeometries() in split 2025-05-19 20:24:17 +02:00
sliptonic
5efb36695a Merge pull request #21288 from tarman3/simhome
CAM: Simulator - Reset camera
2025-05-19 11:42:58 -05:00
Joao Matos
e5dad52fdf 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
6d81096b5a 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
0f9a16260d Removed empty functions
Removed empty functions
2025-05-19 18:25:17 +02:00
Andrea
b5feb01cdc Remove oldFuse funcion
oldFuse is deprecated since OCC 7.3
2025-05-19 18:21:07 +02:00
Kacper Donat
c77a6e57ae Materials: Fix MaterialManager being copied on getInstance() 2025-05-19 18:12:01 +02:00
Kacper Donat
038cc5dc8c Materials: Fix ModelManager being copied on getInstance() 2025-05-19 18:12:01 +02:00
tetektoza
3b441792b8 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
4f04d216ad 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
47c76827d8 BIM: do not prune Roof objects on export 2025-05-19 18:00:38 +02:00
FEA-eng
c139640c8f 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
a7cf3a4900 Fem: Add support for VTK < 9.1 in calculator filter - fixes #21346 2025-05-19 17:50:17 +02:00
Benjamin Nauck
05af09abb9 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
712de69f73 Add Navigation Style/Orbit Style/Rotation Mode to About info
Closes #17431
2025-05-19 17:45:00 +02:00
tetektoza
c8395f43fc 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
7d5d1c7295 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
782e90b4cc TechDraw: Fix claiming of hatch 2025-05-19 17:33:19 +02:00
sliptonic
7658e255cc 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
10c2e8819e Merge pull request #21108 from tarman3/pathshape2
CAM: PathShape with Tool Controller
2025-05-19 09:12:58 -05:00
Ladislav Michl
baad73f0e3 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
d69a143a17 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
3e09bf975c Base: fix QuantityPy::getValueAs
Fixes: 77f4515963 ("Base: refactor QuantityPy class")
2025-05-19 12:15:51 +02:00
bofdahof
d4a031583f Base: restore output format of imperial fraction units
Fixes: 1155f0d752 ("Base: simplify UnitsSchemas management")
2025-05-19 12:15:51 +02:00
PaddleStroke
e423b1bf23 TechDraw: Lock multiple views 2025-05-19 09:37:37 +02:00
PaddleStroke
39b6a1e3a8 TechDraw: decorateLine fix (#21312)
* TechDraw: decorateLine fix

* Update CommandAnnotate.cpp
2025-05-19 09:36:47 +02:00
Chris Hennes
4cc069eb0a TD: Remove unused variable 2025-05-19 09:36:13 +02:00
Céleste Wouters
68b9129c11 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 7ab2b3b690ef6447cfd16842af3008817f8e77f7.

Removes this message.

Fixes #21417
2025-05-18 16:30:22 +02:00