From 7f7f5ba2bb754201fe098378be739d0ae2718f11 Mon Sep 17 00:00:00 2001 From: Samuel Abels Date: Mon, 30 Jun 2025 20:27:26 +0200 Subject: [PATCH] CAM: make ToolBitShape more robust against invalidly typed parameters in toolbit files (e.g. Flutes with string value) --- src/Mod/CAM/Path/Tool/shape/models/base.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Mod/CAM/Path/Tool/shape/models/base.py b/src/Mod/CAM/Path/Tool/shape/models/base.py index f182c38fd6..6a2122bb33 100644 --- a/src/Mod/CAM/Path/Tool/shape/models/base.py +++ b/src/Mod/CAM/Path/Tool/shape/models/base.py @@ -607,7 +607,17 @@ class ToolBitShape(Asset): prop_type = self.get_parameter_property_type(name) if prop_type in ("App::PropertyDistance", "App::PropertyLength", "App::PropertyAngle"): return FreeCAD.Units.Quantity(value) - return value + elif prop_type == "App::PropertyInteger": + return int(value) + elif prop_type == "App::PropertyFloat": + return float(value) + elif prop_type == "App::PropertyBool": + if value in ("True", "true", "1"): + return True + elif value in ("False", "false", "0"): + return False + return bool(value) + return str(value) def get_parameters(self) -> Dict[str, Any]: """