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.
This commit is contained in:
2026-02-17 00:46:50 +00:00
parent ecba40f189
commit 4c3457c17c

View File

@@ -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()