CAM: Hitting "Cancel" on a new Operation triggers recomputation instead of instantenous quiting
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 196
Description
### Problem description
On complex jobs it is very time-consuming that if a new operation gets "canceled" before finally created, it triggers a recompute of some sort (at least I think it does this, because the duration is almost the same as if an existing job were altered). In my logic nothing should have changed "cancel" is selected, and it should take no time to go back.
### Workbench affected?
CAM
### Steps to reproduce
[Besteckschublade.zip](https://github.com/user-attachments/files/27453561/Besteckschublade.zip)
1. Open File
2. Go to Cam Job "Taschen"
3. Activate all the Operations (should take a long time)
4. Create a new Operation: for example "3D Pocket"
5. select "Asnomy Radiusfräser" as tool
6. click on a champfer and add it
7. click apply
8. click "cancel"### Expected behavior
The Operation should quit instantanteous
### Actual behavior
I have to wait about 10 Minutes
### Development version About Info (in Safe Mode)
```shell
OS: Pop!_OS 24.04 LTS (COSMIC/wayland)
Architecture: x86_64
Version: 1.2.0dev.20260505 (Git shallow) AppImage
Build date: 2026/05/05 22:34:03
Build type: Release
Branch: (HEAD detached at 08cacbbc2)
Hash: 08cacbbc27421e769be4ec423f9815a01e51e533
Python 3.11.14, Qt 6.8.3, Coin 4.0.8, Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, IfcOpenShell 0.8.2, OCC 7.8.1
Locale: English/United States (en_US)
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Dark/
Navigation Style/Orbit Style/Rotation Mode: Blender/Rounded Arcball/Window center
Logical DPI/Physical DPI/Pixel Ratio: 96/108.43/1
```
### Last known good version (optional)
```shell
```
Contributor guide
Research direction
Reproduce the issue in the CAM workbench using the attached Besteckschublade.zip: activate the operations, create the described 3D Pocket operation, apply it, and click Cancel. Trace the cancel path to determine why recomputation starts; done means canceling the new operation returns immediately without recomputing the existing job.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100