From 874fe5405309fd980fb825e7784d815f67d7e913 Mon Sep 17 00:00:00 2001 From: David Kaufman Date: Tue, 9 Sep 2025 11:47:15 -0400 Subject: [PATCH] [CAM] migrate old tools to new system --- src/Mod/CAM/Path/Tool/Controller.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Mod/CAM/Path/Tool/Controller.py b/src/Mod/CAM/Path/Tool/Controller.py index 2cb9f6c6d3..64b1772f5e 100644 --- a/src/Mod/CAM/Path/Tool/Controller.py +++ b/src/Mod/CAM/Path/Tool/Controller.py @@ -148,6 +148,21 @@ class ToolController: return data def onDocumentRestored(self, obj): + self.ensureToolBit(obj) + if not obj.Tool.Proxy: + if hasattr(obj.Tool, "ShapeName") or hasattr(obj.Tool, "ShapeType"): + # Old tool file; perform migration + shape_name = ( + obj.Tool.ShapeType if hasattr(obj.Tool, "ShapeType") else obj.Tool.ShapeName + ).lower() + tool_data = { + "name": obj.Tool.Label, + "shape": shape_name, + "shape-type": shape_name, + } + toolbit_instance = ToolBit.from_dict(tool_data) + toolbit_instance.onDocumentRestored(obj.Tool) + obj.setEditorMode("Placement", 2) def onDelete(self, obj, arg2=None):