Samuel Abels
857d7269ee
CAM: Improved handling of toolbit shape type inference
2025-05-27 12:07:19 +02:00
Samuel Abels
7e635bed46
CAM: Refactor ToolBit.from_dict() for clarity and to generate more relevant warnings
2025-05-27 09:30:35 +02:00
Samuel Abels
383e2f599a
CAM: Change Camotics file extension to .json
2025-05-26 23:53:58 +02:00
Samuel Abels
b2176b0731
CAM: Improve LinuxCNC and Camotics serializer tests
2025-05-26 23:53:30 +02:00
Samuel Abels
7e8f8d9906
CAM: use three decimals in LinuxCNC export
2025-05-26 23:43:28 +02:00
Samuel Abels
c0bf7ec4f2
CAM: Fix: all toolbits in camotics exported as Cylindrical
2025-05-26 23:42:44 +02:00
Samuel Abels
663d338a88
CAM: only copy shape icons if the shape folder is not initialized
2025-05-26 23:36:50 +02:00
pre-commit-ci[bot]
2a569e4407
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2025-05-26 17:17:07 +00:00
Samuel Abels
57ca27c22f
CAM: Fix: Only attach view if the Gui is up
2025-05-26 19:13:00 +02:00
Samuel Abels
aa0a242f4f
CAM: Fix recursionlimit due to invalid overwrite of exec()
2025-05-26 19:04:27 +02:00
Samuel Abels
c5d1a2f6de
CAM: Reintroduce Save button for the library editor
2025-05-26 18:49:17 +02:00
Samuel Abels
107cbcac38
CAM: Fix: viewprovider not added when adding a tool to a document from the dock
2025-05-26 18:16:23 +02:00
Samuel Abels
6f2971a684
CAM: Fix SurfaceSupport operation for new type toolbits
2025-05-26 17:53:32 +02:00
Samuel Abels
28668fad5a
CAM: Add CamAssetManager now falls back to builtin assets if not found in user assets
2025-05-26 17:40:19 +02:00
Samuel Abels
b0a900f335
CAM: AssetManager now supports passing mutilple stores to all get_*() methods
2025-05-26 17:40:03 +02:00
Samuel Abels
2239603398
CAM: Rename getBuiltinToolPath to getBuiltinAssetPath
2025-05-26 17:34:49 +02:00
Samuel Abels
b0ad72943b
CAM: Fix: updateSpinBox renamed to updateWidget
2025-05-20 17:08:21 +02:00
Samuel Abels
ca6dba21d0
CAM: Update asset manager docs
2025-05-20 12:24:15 +02:00
Samuel Abels
8961413bb7
CAM: Fix some type hints and unnecessary debug output
2025-05-20 01:17:37 +02:00
pre-commit-ci[bot]
546e1cd1b9
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2025-05-19 22:45:31 +00:00
Samuel Abels
7523e456ff
CAM: Add explicit implementation of FileStore.exists(), so AssetManager.exists() does not log FileNotFound warnings
2025-05-20 00:40:48 +02:00
Samuel Abels
917e1a7be7
CAM: Fix: Show builtin shapes in separate section in shape selector
2025-05-20 00:29:25 +02:00
Samuel Abels
8c7de12990
CAM: Show shape ID on shape buttons
2025-05-20 00:28:46 +02:00
Samuel Abels
2f7bb39eb7
CAM: Handle shape schema violations gracefully (for now)
2025-05-20 00:07:26 +02:00
Samuel Abels
3ae5128826
CAM: Add built-in shapes to asset folder if they do not already exist
2025-05-20 00:06:27 +02:00
Samuel Abels
8670cb839c
CAM: Fix Gui test for ToolBitBrowserWidget
2025-05-19 21:02:54 +02:00
pre-commit-ci[bot]
9cb8cced38
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2025-05-19 18:31:11 +00:00
Samuel Abels
d749098dcb
CAM: Replace complete tool management (PR 21425)
2025-05-19 20:27:28 +02:00
Ajinkya Dahale
1cfb85a71f
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
a280cacb93
Sketcher: clean up import
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
e33377b595
Sketcher: Use const parameter where relevant
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
b7d8ed25be
Sketcher: Remove some unused lambda captures
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
2d2009ccc6
Sketcher: Use range-based for in Sketch.cpp
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
4ee40f4c49
[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
6cf63b078e
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
eeb061f302
[planegcs] Use std::ranges and range for in GCS.cpp
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
c3c7e8d33f
[Sketcher] Refactor SketchObject::delAllExternal()
...
Trivial changes.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
07bce810ae
[Sketcher][WIP] Refactor SketchObject::buildShape()
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
1cc0ca0a3b
[Sketcher] Use std::ranges in SketchObject where possible
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
215fbc5187
[Sketcher] Refactor SketchObject::split()
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
8fd9c19013
[Sketcher] Refactor TaskSketcherElements::onSelectionChanged()
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
ace0c57dd6
[Sketcher][WIP] Refactor SketchObject::addExternal()
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
8a1c4526bd
[Sketcher] Refactor SketchObject::toggleExternalGeometryFlag()
...
Doesn't seem to be used anywhere. Remove?
2025-05-19 20:24:17 +02:00
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