Integrate OP2 data extraction with optimization config builder: - Add build_optimization_config() MCP tool - Add list_optimization_options() helper - Add format_optimization_options_for_llm() formatter - Update MCP tools documentation with full API details - Test with bracket example, generates valid config Features: - Discovers design variables from FEA model - Lists 4 available objectives (mass, stress, displacement, volume) - Lists 4 available constraints (stress/displacement/mass limits) - Validates user selections against model - Generates complete optimization_config.json Tested with examples/bracket/Bracket_sim1.sim: - Found 4 design variables (support_angle, tip_thickness, p3, support_blend_radius) - Created config with 2 objectives, 2 constraints, 150 trials 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
33 lines
987 B
Python
33 lines
987 B
Python
"""
|
|
MCP Tools for Atomizer
|
|
|
|
Available tools:
|
|
- discover_fea_model: Analyze .sim files to extract configurable elements
|
|
- build_optimization_config: Generate optimization config from LLM instructions
|
|
- start_optimization: Launch optimization run
|
|
- query_optimization_status: Get current iteration status
|
|
- extract_results: Parse FEA result files
|
|
- run_nx_journal: Execute NXOpen scripts
|
|
- search_nxopen_docs: Search NXOpen API documentation
|
|
"""
|
|
|
|
from typing import Dict, Any
|
|
from .model_discovery import discover_fea_model, format_discovery_result_for_llm
|
|
from .optimization_config import (
|
|
build_optimization_config,
|
|
list_optimization_options,
|
|
format_optimization_options_for_llm
|
|
)
|
|
|
|
__all__ = [
|
|
"discover_fea_model",
|
|
"format_discovery_result_for_llm",
|
|
"build_optimization_config",
|
|
"list_optimization_options",
|
|
"format_optimization_options_for_llm",
|
|
"start_optimization",
|
|
"query_optimization_status",
|
|
"extract_results",
|
|
"run_nx_journal",
|
|
]
|