From 4c3457c17c84b51914588c3998f784f23c645021 Mon Sep 17 00:00:00 2001 From: Antoine Date: Tue, 17 Feb 2026 00:46:50 +0000 Subject: [PATCH] fix: add missing NXOpen.Features and NXOpen.GeometricUtilities imports NXOpen submodules must be imported explicitly in NX's Python environment - they're not accessible as attributes of the parent module. --- tools/adaptive-isogrid/src/nx/import_profile.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/tools/adaptive-isogrid/src/nx/import_profile.py b/tools/adaptive-isogrid/src/nx/import_profile.py index ff22f39c..2a22ad5f 100644 --- a/tools/adaptive-isogrid/src/nx/import_profile.py +++ b/tools/adaptive-isogrid/src/nx/import_profile.py @@ -98,20 +98,9 @@ def _find_old_sketch_feature(part: Any, sketch_name: str, lister: Any): def _replace_and_delete_old_sketch(part: Any, old_feature: Any, new_feature: Any, lister: Any): """ Replace old sketch with new one using NX's ReplaceFeatureBuilder. - - This mirrors the interactive: right-click sketch → Replace Feature. - All downstream features (extrude, trim, etc.) automatically re-reference - the new sketch. The old sketch is deleted after replacement. - - API: NXOpen.Features.ReplaceFeatureBuilder - - SelectFeature → original feature to replace - - ReplacementFeature → new feature that takes over - - DeleteOriginalFeature → True (remove old after remap) - - DoAutomaticGeomMatch → True (auto-match edges/curves) - - AutomatchMap() → run the auto-matching - - Commit() → execute the replacement """ import NXOpen + import NXOpen.Features session = NXOpen.Session.GetSession() mark = session.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, @@ -476,6 +465,8 @@ def _extrude_sketch(part: Any, sketch: Any, thickness: float, If an old extrude with the same name exists, delete it first. """ import NXOpen + import NXOpen.Features + import NXOpen.GeometricUtilities session = NXOpen.Session.GetSession()