From 4bc038fc88e67a0d4b6c489e2d73ea5f3e85e8f2 Mon Sep 17 00:00:00 2001 From: jffmichi <> Date: Mon, 2 Mar 2026 03:51:16 +0100 Subject: [PATCH] CAM: Fix operations needing recompute after post-process --- src/Mod/CAM/Path/Post/Processor.py | 7 ------- src/Mod/CAM/Path/Post/UtilsParse.py | 5 ++++- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Mod/CAM/Path/Post/Processor.py b/src/Mod/CAM/Path/Post/Processor.py index b1ee7e8d97..d0e0e9e08c 100644 --- a/src/Mod/CAM/Path/Post/Processor.py +++ b/src/Mod/CAM/Path/Post/Processor.py @@ -296,13 +296,6 @@ class PostProcessor: postables = self._buildPostList() - # Process canned cycles for drilling operations - for _, section in enumerate(postables): - _, sublist = section - for obj in sublist: - if hasattr(obj, "Path"): - obj.Path = PostUtils.cannedCycleTerminator(obj.Path) - Path.Log.debug(f"postables count: {len(postables)}") g_code_sections = [] diff --git a/src/Mod/CAM/Path/Post/UtilsParse.py b/src/Mod/CAM/Path/Post/UtilsParse.py index 6b9713f05b..20c7d02424 100644 --- a/src/Mod/CAM/Path/Post/UtilsParse.py +++ b/src/Mod/CAM/Path/Post/UtilsParse.py @@ -705,8 +705,11 @@ def parse_a_path(values: Values, gcode: Gcode, pathobj) -> None: ) adaptive_op_variables = determine_adaptive_op(values, pathobj) - # Apply arc splitting if requested + # Process canned cycles for drilling operations path_to_process = pathobj.Path + path_to_process = PostUtils.cannedCycleTerminator(path_to_process) + + # Apply arc splitting if requested if values["SPLIT_ARCS"]: path_to_process = PostUtils.splitArcs(path_to_process)