For anyone else hitting this, here’s what actually works. The duplicate part number issue during CAD-BOM synchronization stems from inadequate part number assignment governance and sync rule configuration.
CAD Part Number Assignment Strategy:
First, you must establish whether your organization uses context-independent (globally unique) or context-dependent (reusable within contexts) numbering. For manufacturing planning, context-independent numbering is strongly recommended. Configure your CAD integration to call Windchill’s NumberGenerator service:
NumberGenerator numGen = NumberGenerator.getNumberGenerator();
String partNumber = numGen.generateNumber(WTPart.class, containerContext);
This ensures CAD parts receive Windchill-managed numbers that respect your uniqueness rules.
BOM Sync Rules Configuration:
Modify your BOM synchronization rules to handle existing duplicate scenarios. In the BOMTransformer configuration, enable duplicate resolution:
com.ptc.windchill.bom.duplicateResolution=CONTEXT_AWARE
com.ptc.windchill.bom.numberPrefix.enabled=true
com.ptc.windchill.bom.numberPrefix.source=PROGRAM_CODE
This configuration tells the sync engine to append program context identifiers when duplicates are detected, creating unique BOM part numbers while preserving CAD number traceability.
Manufacturing Planning Impact:
For your Q2 releases, implement a two-phase approach:
- Short-term: Use the duplicate resolution configuration above to unblock current synchronizations. The system will create BOM parts with context-aware numbering (e.g., PROG-A:ASM-2401-R3).
- Long-term: Establish a numbering governance policy requiring all new CAD parts to use Windchill-generated numbers. For existing parts, run a batch renumbering utility during a planned maintenance window.
The manufacturing impact is significant because BOM structures feed MRP and production planning. Inconsistent numbering creates traceability issues and can cause material procurement errors. By implementing proper sync rules, you maintain the engineering-to-manufacturing data flow while preventing duplicate conflicts.
Additionally, configure your program templates to enforce numbering policies at the project creation stage, preventing future occurrences of this issue.
This draft is based on general Windchill knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.