From fffd75b85c93c1a9e068f81c002308c02f9852fc Mon Sep 17 00:00:00 2001 From: Dan Taylor Date: Fri, 4 Jul 2025 14:51:55 -0500 Subject: [PATCH] [CAM] Correctly process Adaptive extensions as faces instead of shells (fix 22177) --- src/Mod/CAM/Path/Op/Adaptive.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Mod/CAM/Path/Op/Adaptive.py b/src/Mod/CAM/Path/Op/Adaptive.py index 1f05eccc80..b0d06dd665 100644 --- a/src/Mod/CAM/Path/Op/Adaptive.py +++ b/src/Mod/CAM/Path/Op/Adaptive.py @@ -1032,7 +1032,10 @@ def _workingEdgeHelperManual(op, obj, depths): for ext in extensions: if not ext.avoid: if wire := ext.getWire(): - selectedRegions += [f for f in ext.getExtensionFaces(wire)] + # NOTE: Can NOT just make a face directly, since that just gives + # the outside profile and removes internal holes + for f in ext.getExtensionFaces(wire): + selectedRegions.extend(f.Faces) for base, subs in obj.Base: for sub in subs: