Skip to content
Back to skills

Ptc Windchill

ASecurity

Automate Windchill PLM workflows through OData APIs, inspect Workgroup Manager integration, and troubleshoot MethodServer operations.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 22, 2026
ai-agentspythonrustgojavashellbashsqlapidatabaseperformance

Works with

  • cursor
  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 22, 2026

npx -y skills add alivirgo/Major-AI-Skills --skill ptc-windchill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ptc Windchill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ptc Windchill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alivirgo-ptc-windchill/badge)](https://www.skillsdirectory.com/skills/alivirgo-ptc-windchill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ptc-windchill
description: "Automate Windchill PLM workflows through OData APIs, inspect Workgroup Manager integration, and troubleshoot MethodServer operations."
category: enterprise
risk: safe
source: self
source_type: self
date_added: "2026-08-26"
tags: ["ptc-windchill", "pdmlink", "plm", "workgroup-manager", "odata-rest", "methodserver", "claude"]
tools: ["claude", "cursor", "gemini", "codex"]
---

# PTC Windchill PLM Engineering AI Skill Guide (Claude)

## Overview & Engine Architecture
PTC Windchill is an enterprise-scale Product Lifecycle Management (PLM) platform powering product data management (PDM), multi-CAD data vaulting, multi-level Engineering Bill of Materials (eBOM/mBOM), and formal Change Management (PR $\rightarrow$ CR $\rightarrow$ CN). Windchill runs on a distributed Java architecture consisting of the **ServerManager**, **MethodServer**, **BackgroundManager**, **Info*Engine**, and client-side **Workgroup Managers (WWGM)** for Creo, SolidWorks, NX, and CATIA. Claude operates as a Principal PLM Systems Architect and Windchill Enterprise Administrator, specializing in **Windchill REST / OData API automation**, **MethodServer performance tuning (`xconfmanager`)**, **WWGM CAD workspace synchronization**, and **workflow process orchestration**.

### PTC Windchill Core Architecture & Runtime Stack

```
┌─────────────────────────────────────────────────────────────┐
│                 PTC Windchill PLM Architecture              │
│                                                             │
│  Client & Authoring Ingress                                 │
│  ├── Windchill Web UI & Creo View 3D Lightweight Visualizer │
│  ├── Windchill Workgroup Manager (Creo, SolidWorks, CATIA)  │
│  └── Windchill REST / OData Web Services Ingress            │
│                                                             │
│  Enterprise Business Logic Layer                            │
│  ├── MethodServer (Main User Request & Query Processing)    │
│  ├── BackgroundManager (Asynchronous Queues & Publishing)   │
│  └── Windchill Workflow & Lifecycle State Promotion Engine  │
│                                                             │
│  Persistence & Storage Layer                                │
│  ├── RDBMS Metadata Repository (Oracle Database / SQL Server)│
│  └── Windchill Content Vault (Blob storage, replica caches) │
└─────────────────────────────────────────────────────────────┘
```

---

## Operational Capabilities & Agent Directives

1. **OData REST API Automation**: Author Python scripts interacting with Windchill's REST API (`/Windchill/servlet/odata/v1/ProdMgmt/`) to extract multi-level indented BOMs, check out/in `WTPart` records, and link CAD documents.
2. **Server Configuration & `xconfmanager`**: Manage declarative server property updates in `site.xconf` and propagate changes safely into `wt.properties`.
3. **WWGM Workspace & Cache Remediation**: Diagnose CAD check-in failures, corrupted local client workspaces (`%APPDATA%\PTC\Windchill\CC`), and SSL Java keystore trust issues.
4. **Change Management (CMII) & Workflow Triage**: Troubleshoot stalled Change Notices (CN), orphaned workflow tasks, and unassigned product context roles.

---

## Production Python Automation: Automated Multi-Level Indented BOM Extractor (OData)

Save this script as `extract_windchill_bom.py` to extract multi-level indented BOM structures via Windchill OData REST endpoints:

```python
"""
PTC Windchill OData REST API Multi-Level BOM Extractor
Traverses WTPart structures to generate indented eBOM hierarchies.
"""

import sys
import os
import requests
from requests.auth import HTTPBasicAuth
import json

WINDCHILL_BASE = "https://windchill.enterprise.io/Windchill/servlet/odata/v1"
AUTH = HTTPBasicAuth("admin_user", "SecurePLMPassword!")

def get_part_by_number(part_number: str) -> dict:
    url = f"{WINDCHILL_BASE}/ProdMgmt/Parts"
    params = {"$filter": f"Number eq '{part_number}'", "$expand": "Attributes"}
    res = requests.get(url, auth=AUTH, params=params, verify=True)
    res.raise_for_status()
    data = res.json()
    items = data.get("value", [])
    return items[0] if items else None

def get_child_parts(part_id: str) -> list:
    url = f"{WINDCHILL_BASE}/ProdMgmt/Parts('{part_id}')/Uses"
    res = requests.get(url, auth=AUTH, verify=True)
    if res.status_code == 200:
        return res.json().get("value", [])
    return []

def traverse_bom(part_number: str, level: int = 0):
    part = get_part_by_number(part_number)
    if not part:
        print(f"{'  ' * level}• Part '{part_number}' not found.")
        return

    part_id = part.get("ID")
    part_name = part.get("Name", "Unnamed")
    part_state = part.get("State", {}).get("Value", "INWORK")
    version = f"{part.get('Version', 'A')}.{part.get('Iteration', '1')}"

    indent = "  " * level
    print(f"{indent}• [{level}] {part_number} - {part_name} (Rev: {version}, State: {part_state})")

    children = get_child_parts(part_id)
    for child in children:
        child_num = child.get("Number")
        if child_num:
            traverse_bom(child_num, level + 1)

if __name__ == "__main__":
    print("--- [FETCHING WINDCHILL INDENTED eBOM] ---")
    traverse_bom("ASM-001042-00", level=0)
```

---

## Technical Troubleshooting Matrix

| Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **WWGM Check-In Fails: `Unable to Connect to Server`** | The client JRE does not trust the Windchill server SSL certificate, or local cache is corrupted. | 1. Import Windchill SSL certificate into client Java truststore: `keytool -import -alias wc_ssl -file server.crt -keystore cacerts`.<br>2. Clear local WWGM client cache: Delete `%APPDATA%\PTC\Windchill\CC`. |
| **Promotion Request Stuck in `Pending Approval`** | The workflow assigned task to a Product Role (e.g. `Approver`) that has no assigned members in the team context. | 1. In Windchill, navigate to *Site $\rightarrow$ Utilities $\rightarrow$ Workflow Administration*.<br>2. Find stuck process instance $\rightarrow$ Check **Task Assignments**.<br>3. Open *Product Team* page and add users to the required Role. |
| **MethodServer Crashes: `java.lang.OutOfMemoryError: Java heap space`** | High volume of CAD visualization thumbnail generation or unindexed large product structure queries. | 1. Increase MethodServer max heap in `site.xconf`: `xconfmanager -s wt.method.maxHeap=16384 -t codebase/wt.properties -p`.<br>2. Offload heavy thumbnail conversions to dedicated **CAD Worker Agents**. |
| **Content Replication Fails: File Missing in Local Vault** | Background file replication job stalled or network timeout between master and replica vault servers. | 1. In Windchill, open *Site $\rightarrow$ Utilities $\rightarrow$ File Server Administration*.<br>2. Inspect replication queues for failed synchronization transactions.<br>3. Run manual synchronization for the target folder. |

---

## Command Line Syntax & Server Administration

```bash
# 1. Update Windchill Configuration Parameter Safely via xconfmanager
cd C:\ptc\Windchill\codebase
xconfmanager -s wt.session.timeout=60 -t wt.properties -p

# 2. Check Real-Time Server Manager & MethodServer Process Status
windchill wt.manager.ServerManager

# 3. Launch Interactive Windchill Java Shell
windchill shell

# 4. Stop and Restart Background Queue Processing Engine
windchill wt.queue.QueueControl stop
windchill wt.queue.QueueControl start
```

### Essential File & Directory Locations
- **Master Declarative Config**: `C:\ptc\Windchill\site.xconf`
- **Compiled Properties**: `C:\ptc\Windchill\codebase\wt.properties`
- **MethodServer Logs**: `C:\ptc\Windchill\logs\MethodServer-*.log`

---

## Agent Operational Directive
> **MANDATORY**: Never edit `wt.properties` directly by hand; always update `site.xconf` using `xconfmanager -s <property>=<value> -t <target> -p` to maintain configuration persistence across server builds and updates.

Files in this skill

  • SKILL.md8.1 KB
  • gemini.md6.8 KB
  • gpt.md6.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.