fix(engine): 接受 hole_wizard 的 thread 装饰并按光滑孔降级执行

This commit is contained in:
2026-08-27 15:19:24 +08:00
parent ba481621be
commit c84fc3ade4
3 changed files with 280 additions and 3 deletions
+6 -2
View File
@@ -314,8 +314,12 @@ class CapabilityAnalyzer:
except ValueError as error:
blockers.append(self._blocker(node.feature_id, "invalid_hole_spec", str(error)))
if node.atomic_id == "hole_wizard":
if params.get("thread"):
blockers.append(self._blocker(node.feature_id, "unsupported_hole_subtype", "Threaded Hole Wizard geometry is not represented by the current CDSL runtime"))
# #9 hole thread:SolidWorks 螺纹孔的 thread 是装饰信息(无螺距、
# 不进实体几何,STEP 导出即光滑孔)。HoleSpec.from_feature 只读
# 直径/深度/位置/沉头/沉孔,thread 天然不参与几何计算 → 孔特征
# 直接按光滑圆柱孔执行,runtime 侧记录 thread_decoration_ignored
# info 诊断便于追溯(见 _execute_hole)。不再报
# unsupported_hole_subtype,使 ≈712 个带 thread 的孔恢复可执行。
hole_extent = (params.get("end_condition") or {"type": "blind"}).get("type")
if hole_extent not in {"blind", "through_all", "through_all_both"}:
blockers.append(self._blocker(