UNPKG

major-ai-skills

Version:

Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.

147 lines (114 loc) 8.49 kB
--- name: siemens-nx description: "Automate Siemens NX modeling with NX Open Python and troubleshoot synchronous modeling or Teamcenter integration." category: cad risk: safe source: self source_type: self date_added: "2026-08-26" tags: ["siemens-nx", "nx-open", "parasolid", "synchronous-technology", "teamcenter", "claude", "cad-automation"] tools: ["claude", "cursor", "gemini", "codex"] --- # Siemens NX AI Skill Guide (Claude) ## Overview & Engine Architecture Siemens NX (formerly Unigraphics) is the high-end CAD/CAM/CAE platform powered by the **Siemens Parasolid modeling kernel**. Claude operates as an expert Siemens NX Automation Engineer and PLM Systems Architect, specializing in **NX Open Python automation (`NXOpen`)**, **Synchronous Technology direct modeling**, **Teamcenter active integration**, **5-axis CAM toolpath optimization**, and **headless CLI batch execution via `run_journal.exe`**. ### Siemens NX Technical Architecture & Parasolid Stack ``` ┌─────────────────────────────────────────────────────────────┐ Siemens NX System Architecture Engineering & Manufacturing Subsystems ├── Parasolid B-Rep Kernel & Synchronous Direct Modeling ├── Advanced 5-Axis CAM & Post Configurator (TCL Engine) ├── Simcenter 3D Multiphysics FEA / CFD Solvers └── Teamcenter PLM Active Workspace / 4-Tier Client Bridge│ Automation & Development Layer ├── NX Open API (Python 3.11, C++, C# .NET, Java) ├── Journaling Engine & `run_journal.exe` Batch Processor └── Block UI Styler (Custom Native Dialog Framework) └─────────────────────────────────────────────────────────────┘ ``` --- ## Operational Capabilities & Agent Directives 1. **NX Open Python Automation**: Author deterministic, standalone Python scripts using `import NXOpen` to automate feature tree traversal, expression editing, sketch construction, and drafting export. 2. **Synchronous Technology Diagnostics**: Remediate imported geometry face-tearing, sliver faces, and unclosed shells using *Optimize Face*, *Heal Geometry*, and *Replace Face*. 3. **Teamcenter Integration & Revision Management**: Diagnose dataset checkout locks, item revision synchronization failures, and Teamcenter Integration for NX (TCCNX) communication drops. 4. **Headless Batch Scripting (`run_journal.exe`)**: Construct batch conversion utilities to translate enterprise `.prt` archives into STEP AP242 and JT visualization formats. --- ## Production Python Automation: Headless Part Inspector & STEP Exporter (`run_journal.exe`) Save this script as `export_part.py` and run via `run_journal.exe` to inspect mass properties and export a STEP AP242 file with Semantic PMI annotations: ```python """ Siemens NX Open: Mass Property Inspector & STEP AP242 Exporter Execute via: run_journal.exe export_part.py -args "C:/Parts/bracket.prt" "C:/Export/bracket.stp" """ import sys import os import NXOpen import NXOpen.Step242Creator def process_nx_part(input_prt: str, output_stp: str): the_session = NXOpen.Session.GetSession() the_uf_session = NXOpen.UF.UFSession.GetUFSession() if not os.path.exists(input_prt): print(f"Error: Input part '{input_prt}' does not exist.") sys.exit(1) print(f"Loading Part: {input_prt}...") base_part, part_load_status = the_session.Parts.OpenBaseDisplay(input_prt) work_part = the_session.Parts.Work # 1. Calculate Physical Mass & Inertia Properties try: solid_bodies = work_part.Bodies.ToArray() if solid_bodies: mass_props = the_uf_session.Modl.AskMassProps3d( [b.Tag for b in solid_bodies], len(solid_bodies), 1, 1, 0.001, 1 ) # mass_props[0] is Surface Area, mass_props[1] is Volume, mass_props[2] is Mass print(f"Physical Analysis -> Volume: {mass_props[1]:.4f} mm^3 | Mass: {mass_props[2]:.4f} kg") except Exception as e: print(f"Warning: Could not compute mass properties: {e}") # 2. Configure STEP AP242 Export step_creator = the_session.DexManager.CreateStep242Creator() step_creator.ExportAs = NXOpen.Step242Creator.ExportAsOption.Ap242 step_creator.InputFile = input_prt step_creator.OutputFile = output_stp step_creator.ExportPmi = True # Include Product & Manufacturing Info (PMI) os.makedirs(os.path.dirname(os.path.abspath(output_stp)), exist_ok=True) # Commit Export step_creator.Commit() step_creator.Destroy() print(f"Successfully exported STEP AP242: {output_stp}") # Clean session the_session.Parts.CloseAll(NXOpen.BasePart.CloseModified.CloseModified, None) if __name__ == "__main__": if len(sys.argv) < 3: print("Usage: run_journal.exe export_part.py -args <input.prt> <output.stp>") sys.exit(1) process_nx_part(sys.argv[1], sys.argv[2]) ``` --- ## Technical Troubleshooting Matrix | Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway | | :--- | :--- | :--- | | **Synchronous Move Face Fails on Imported STEP** | Imported geometry contains sliver faces, self-intersecting blends, or gaps within Parasolid tolerance ($10^{-5}$). | 1. Run *Menu $\rightarrow$ Information $\rightarrow$ Geometry $\rightarrow$ Examine Geometry*.<br>2. Check for **Self-Intersection**, **Sheet Boundaries**, and **Tolerant Edges**.<br>3. Apply **Optimize Face** (*Menu $\rightarrow$ Edit $\rightarrow$ Surface $\rightarrow$ Optimize Face*) before moving faces. | | **Teamcenter Check-In Fails (`Item Revision is Locked`)** | A previous NX session terminated abnormally without releasing the checkout lock on the Teamcenter volume. | 1. In Teamcenter Rich Client / Active Workspace, open **My Worklist**.<br>2. Select the locked dataset $\rightarrow$ *Actions $\rightarrow$ Cancel Check-Out*.<br>3. Check `%TEMP%\NX_Teamcenter_*.log` for stalled session tokens. | | **Siemens SPLM License Server Error (`-15, Cannot connect to license server`)** | License daemon `ugslmd` is stopped on the server, or firewall blocked TCP port 28000. | 1. Verify `SPLM_LICENSE_SERVER=28000@<SERVER_IP>` in system environment variables.<br>2. Ensure `ugslmd` service is running on license host.<br>3. Check client log at `%LOCALAPPDATA%\Siemens\NX<VER>\syslog.txt`. | | **CAM Post Configurator TCL Error during Post-Processing** | Custom post-processor encountered unhandled tool axis orientation or missing kinematic vector in machine tool definition. | 1. In NX CAM, enable **Post Configurator Debugger**.<br>2. Inspect `PC_DEBUG_OUTPUT` in the generated `.ptc` log.<br>3. Verify machine kinematic rotary limits ($A/C$ or $B/C$ axes) in Machine Tool Builder. | --- ## Command Line Syntax & Batch Processing ```bash # Windows CLI: Execute NX Open Python Journal Headless "%UGII_BASE_DIR%\UGII\run_journal.exe" "C:\Scripts\export_part.py" -args "C:\Parts\engine_block.prt" "C:\Export\engine_block.stp" # Convert Legacy NX Part File to Current Version "%UGII_BASE_DIR%\UGII\ug_convert_part.exe" -target_version=NX2312 -u "C:\Models\legacy.prt" # Launch Siemens NX with Clean Environment "%UGII_BASE_DIR%\UGII\ugraf.exe" -cleanup ``` ### Essential File Locations & Environment Variables - **`UGII_BASE_DIR`**: Installation root (e.g. `C:\Program Files\Siemens\NX2312`) - **`SPLM_LICENSE_SERVER`**: License host connection (e.g. `28000@lic-server`) - **System Configuration File**: `%UGII_BASE_DIR%\UGII\ugii_env.dat` - **User Log Directory (Syslog)**: `%LOCALAPPDATA%\Siemens\NX<VER>\syslog_*.syslog` --- ## Agent Operational Directive > **MANDATORY**: Always execute `the_session.Parts.CloseAll()` in batch journals to avoid memory accumulation across multi-part processing. Run *Examine Geometry* prior to synchronous modeling operations on third-party STEP/IGES bodies.