Skip to content

[CAM] VCarve improvements#14093

Merged
sliptonic merged 9 commits intoFreeCAD:mainfrom
phaseloop:vcarve-step-down
May 28, 2024
Merged

[CAM] VCarve improvements#14093
sliptonic merged 9 commits intoFreeCAD:mainfrom
phaseloop:vcarve-step-down

Conversation

@phaseloop
Copy link
Contributor

@phaseloop phaseloop commented May 17, 2024

Rework of Vcarve operation to include features mostly available in commercial software of this kind. Those features are used to drastically improve carved surface quality (especially on smaller and less rigid CNC machines) and increase carving speed up to 50%.

  1. Step down - carve in small increments (similar to other CAM operations). Each depth steps are grouped by surface to limit X/Y movements.
  2. Finishing pass - run last path again (with optional offset) to remove fuzzy skin and/or other imperfections
  3. Head movement optimization - do not lift and reposition head (G0 command) if start of next edge is withing 0.5 mm XY distance. This makes whole operation at least 50% faster with negligible loss of edge precision.
  4. debugVoronoi method to render all voronoi paths used in path generation for debugging purposes.

Discussion and photo examples:

https://forum.freecad.org/viewtopic.php?t=87475

@github-actions github-actions bot added the Mod: CAM Related to the CAM Workbench label May 17, 2024
@sliptonic
Copy link
Member

This looks good to me. Please disable the debug for production merge

@sliptonic sliptonic self-assigned this May 20, 2024
@phaseloop
Copy link
Contributor Author

phaseloop commented May 22, 2024

This looks good to me. Please disable the debug for production merge

Fixed - thanks!

(edited previous comment: Did some benchmarking with cProfile and Path.Log.debug() stack parsing it may not be such a big issue after all).

Added a new commit with simple _caller() caching to have at least slight performance improvement that will be merged into FreeCAD 1.0:

4abafa1

@sliptonic sliptonic merged commit 888ffcf into FreeCAD:main May 28, 2024
@jbaehr jbaehr mentioned this pull request Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Mod: CAM Related to the CAM Workbench

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants