From 61dcefb5eab65d0614e71dbadb662537cb2d5951 Mon Sep 17 00:00:00 2001 From: Antoine Date: Mon, 16 Feb 2026 19:15:57 +0000 Subject: [PATCH] fix: resolve ViewReorient/UpdateLevel enum at runtime with multiple fallback paths --- .../adaptive-isogrid/src/nx/import_profile.py | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/tools/adaptive-isogrid/src/nx/import_profile.py b/tools/adaptive-isogrid/src/nx/import_profile.py index e1491e17..4c7d5827 100644 --- a/tools/adaptive-isogrid/src/nx/import_profile.py +++ b/tools/adaptive-isogrid/src/nx/import_profile.py @@ -95,15 +95,12 @@ def _find_or_create_sketch( if existing_sketch is not None: # Clear existing geometry for update try: - existing_sketch.Activate(NXOpen.ViewReorient.FalseValue) + existing_sketch.Activate(False) all_geom = existing_sketch.GetAllGeometry() if all_geom: existing_sketch.DeleteObjects(list(all_geom)) lister.WriteLine(f"[import] Cleared {len(all_geom)} objects from existing sketch") - existing_sketch.Deactivate( - NXOpen.ViewReorient.FalseValue, - NXOpen.UpdateLevel.Model, - ) + existing_sketch.Deactivate(False, False) except Exception as exc: lister.WriteLine(f"[import] Warning clearing sketch: {exc}") return existing_sketch @@ -452,8 +449,30 @@ def main(): # Activate sketch for drawing try: - # NXOpen.ViewReorient: FalseValue = don't reorient, TrueValue = reorient - sketch.Activate(NXOpen.ViewReorient.FalseValue) + # ViewReorient enum — try multiple access paths + view_false = None + for path in [ + "NXOpen.ViewReorient.FalseValue", + "NXOpen.Sketch.ViewReorient.FalseValue", + "NXOpen.SketchViewReorient.FalseValue", + ]: + try: + parts_p = path.split(".") + obj = __import__(parts_p[0]) + for attr in parts_p[1:]: + obj = getattr(obj, attr) + view_false = obj + lister.WriteLine(f"[import] ViewReorient resolved via: {path}") + break + except (AttributeError, ImportError): + continue + + if view_false is None: + # Last resort: pass False as boolean + view_false = False + lister.WriteLine("[import] ViewReorient: using False (boolean fallback)") + + sketch.Activate(view_false) except Exception as exc: lister.WriteLine(f"[import] ERROR activating sketch: {exc}") continue @@ -486,8 +505,8 @@ def main(): # Deactivate sketch try: sketch.Deactivate( - NXOpen.ViewReorient.FalseValue, - NXOpen.UpdateLevel.Model, + view_false, + False, # UpdateLevel — False or Model ) except Exception as exc: lister.WriteLine(f"[import] Warning deactivating: {exc}")