""" 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'