52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
|
|
"""
|
||
|
|
NX Integration
|
||
|
|
==============
|
||
|
|
|
||
|
|
Siemens NX and Nastran integration modules.
|
||
|
|
|
||
|
|
Modules:
|
||
|
|
- solver: NXSolver for running simulations
|
||
|
|
- updater: NXParameterUpdater for design updates
|
||
|
|
- session_manager: NX session lifecycle management
|
||
|
|
- solve_simulation: Low-level simulation execution
|
||
|
|
"""
|
||
|
|
|
||
|
|
# Lazy imports to avoid import errors when NX modules aren't available
|
||
|
|
def __getattr__(name):
|
||
|
|
if name == 'NXSolver':
|
||
|
|
from .solver import NXSolver
|
||
|
|
return NXSolver
|
||
|
|
elif name == 'run_nx_simulation':
|
||
|
|
from .solver import run_nx_simulation
|
||
|
|
return run_nx_simulation
|
||
|
|
elif name == 'NXParameterUpdater':
|
||
|
|
from .updater import NXParameterUpdater
|
||
|
|
return NXParameterUpdater
|
||
|
|
elif name == 'update_nx_model':
|
||
|
|
from .updater import update_nx_model
|
||
|
|
return update_nx_model
|
||
|
|
elif name == 'NXSessionManager':
|
||
|
|
from .session_manager import NXSessionManager
|
||
|
|
return NXSessionManager
|
||
|
|
elif name == 'NXSessionInfo':
|
||
|
|
from .session_manager import NXSessionInfo
|
||
|
|
return NXSessionInfo
|
||
|
|
elif name == 'ModelCleanup':
|
||
|
|
from .model_cleanup import ModelCleanup
|
||
|
|
return ModelCleanup
|
||
|
|
elif name == 'cleanup_substudy':
|
||
|
|
from .model_cleanup import cleanup_substudy
|
||
|
|
return cleanup_substudy
|
||
|
|
raise AttributeError(f"module 'optimization_engine.nx' has no attribute '{name}'")
|
||
|
|
|
||
|
|
__all__ = [
|
||
|
|
'NXSolver',
|
||
|
|
'run_nx_simulation',
|
||
|
|
'NXParameterUpdater',
|
||
|
|
'update_nx_model',
|
||
|
|
'NXSessionManager',
|
||
|
|
'NXSessionInfo',
|
||
|
|
'ModelCleanup',
|
||
|
|
'cleanup_substudy',
|
||
|
|
]
|