Enterprise CAD & PLM Ingestion System

Clayton Krause

CAD Ingestion · OpenUSD · Pipeline Architecture · Automation

A production ingestion system that joins source CAD and enterprise PLM into deterministic USD assemblies.

Conceptual view of CAD and PLM converging into a structured USD assembly
Concept: source CAD state and PLM context converge into a structured USD assembly container.

Overview

This system is built around two authoritative inputs: CAD geometry from the source modeler and product definition from the enterprise PLM system.

CAD is extracted directly from the host application (for example, Onshape or SolidWorks) to preserve intent and maximize control. Pulling data at the source lets me set export specifications, capture configuration context, and retrieve metadata that is not reliably represented in neutral exchange formats alone.

PLM data varies by company, but it consistently carries the business logic that turns geometry into a real product: identity, lifecycle state, effectivity, options, and relationships. Joining PLM with CAD enables true product definitions to be captured and cataloged, not just geometric snapshots.

CAD Extraction Layer

CAD is king, and it deserves first-class treatment. The highest-leverage approach is a direct interface to the CAD system, not a one-off export. That interface lets you extract geometry plus the context that makes it usable at scale: assembly structure, occurrence transforms, configuration state, and CAD-native metadata.

Bike assembly in Onshape
Bike assembly in Onshape

In the current production system, this layer interfaces with Onshape via a REST API using Python. I have achieved the same results against SolidWorks using its C# API. The pattern is portable and applies to any CAD host that exposes an API capable of providing structure, occurrence transforms, and controlled exports.

PLM Integration and Product Definition

PLM is the product backbone. CAD tells you what the geometry looks like. PLM tells you what it is to the business: identity, lifecycle state, effectivity, and relationships. When PLM data is joined with CAD, the pipeline can author USD that represents a true product definition rather than a standalone geometric snapshot.

In the current production pipeline, PLM data is ingested from ENOVIA through a SQL Server-backed interface implemented in Python. While the transport and schema differ across organizations, the role of PLM does not: it provides the business logic that turns CAD geometry into a complete, auditable USD product definition.

Orchestration and Systems Integration (PDG)

PDG orchestration graph combining CAD extraction, PLM ingestion, processing, and USD authoring into a deterministic build
PDG HDAs composing CAD and PLM Python interfaces into a deterministic build graph

PDG is the integration surface. The CAD and PLM interfaces are implemented as discrete Python modules, and PDG is where those interfaces are composed into a single build graph that produces the final USD output. I develop PDG HDAs in Houdini that wrap and sequence these modules, turning independent capabilities into a repeatable system.

Design principle: Houdini PDG is the execution fabric, not the identity of the system. Core pipeline logic lives in standalone Python packages, while PDG HDAs define how those capabilities are composed into reliable, production-scale builds.

Ownership and Operations

This is a production system I own end-to-end. I designed and implemented the architecture, built the core interfaces, and operate the pipeline under constant revision pressure. Ownership includes the integration boundaries, data contracts, and reliability needed to regenerate outputs deterministically as upstream data changes.

The result is not a one-time conversion tool. It is an ingestion and publishing system designed to stay stable as source data evolves, while remaining extensible for future configuration and digital twin requirements.

← Back to Projects