Commit Graph

41798 Commits

Author SHA1 Message Date
sliptonic
7d2c90bb31 Merge pull request #21437 from mosfet80/moveLibarea
Update clipper lib
2025-05-20 08:39:56 -05:00
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
pre-commit-ci[bot]
5e515b3168 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-05-19 14:43:23 +00:00
Andrea
d7516d24ed update clipper 2025-05-19 16:40:24 +02: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