73 lines
1.8 KiB
Python
73 lines
1.8 KiB
Python
|
|
"""
|
||
|
|
Atomizer NX Open Hooks
|
||
|
|
======================
|
||
|
|
|
||
|
|
Direct Python hooks for NX CAD/CAE operations via NX Open API.
|
||
|
|
|
||
|
|
This module provides a clean Python interface for manipulating NX parts
|
||
|
|
programmatically. Each hook executes NX journals via `run_journal.exe`
|
||
|
|
and returns structured JSON results.
|
||
|
|
|
||
|
|
Modules
|
||
|
|
-------
|
||
|
|
nx_cad : CAD manipulation hooks
|
||
|
|
- part_manager : Open, close, save parts
|
||
|
|
- expression_manager : Get/set design parameters
|
||
|
|
- geometry_query : Mass properties, bodies, volumes
|
||
|
|
- feature_manager : Suppress/unsuppress features
|
||
|
|
|
||
|
|
nx_cae : CAE/Simulation hooks (Phase 2)
|
||
|
|
- solver_manager : BDF export, solve simulations
|
||
|
|
|
||
|
|
Quick Start
|
||
|
|
-----------
|
||
|
|
>>> from optimization_engine.hooks.nx_cad import expression_manager
|
||
|
|
>>> result = expression_manager.get_expressions("C:/model.prt")
|
||
|
|
>>> if result["success"]:
|
||
|
|
... for name, expr in result["data"]["expressions"].items():
|
||
|
|
... print(f"{name} = {expr['value']}")
|
||
|
|
|
||
|
|
>>> from optimization_engine.hooks.nx_cae import solver_manager
|
||
|
|
>>> result = solver_manager.get_bdf_from_solution_folder("C:/model.sim")
|
||
|
|
|
||
|
|
Requirements
|
||
|
|
------------
|
||
|
|
- Siemens NX 2506+ installed
|
||
|
|
- NX_BIN_PATH environment variable (or default path)
|
||
|
|
- Python 3.8+ with atomizer conda environment
|
||
|
|
|
||
|
|
See Also
|
||
|
|
--------
|
||
|
|
- optimization_engine/hooks/README.md : Full documentation
|
||
|
|
- docs/plans/NX_OPEN_AUTOMATION_ROADMAP.md : Development roadmap
|
||
|
|
|
||
|
|
Version
|
||
|
|
-------
|
||
|
|
1.1.0 (2025-12-06) - Added nx_cae module with solver_manager
|
||
|
|
1.0.0 (2025-12-06) - Initial release with nx_cad hooks
|
||
|
|
"""
|
||
|
|
|
||
|
|
from .nx_cad import (
|
||
|
|
part_manager,
|
||
|
|
expression_manager,
|
||
|
|
geometry_query,
|
||
|
|
feature_manager,
|
||
|
|
)
|
||
|
|
|
||
|
|
from .nx_cae import (
|
||
|
|
solver_manager,
|
||
|
|
)
|
||
|
|
|
||
|
|
__all__ = [
|
||
|
|
# CAD hooks
|
||
|
|
'part_manager',
|
||
|
|
'expression_manager',
|
||
|
|
'geometry_query',
|
||
|
|
'feature_manager',
|
||
|
|
# CAE hooks
|
||
|
|
'solver_manager',
|
||
|
|
]
|
||
|
|
|
||
|
|
__version__ = '1.1.0'
|
||
|
|
__author__ = 'Atomizer'
|