THE WORKED EXAMPLE

The Inverted Flight Fuel System

Everything on this site is demonstrated on one model, so that every number can be checked against the same source. This page introduces it, shows it in each tool, and gives you the exact commands to reproduce every figure.

Why this model

A fuel system that keeps running while the aircraft is inverted. The inverted-flight capability is structural rather than decorative: a HeaderTank and a FlopTube form a dual-source pickup — whichever one is submerged at the current attitude feeds the engine — and they sit upstream of the ElectricBoostPump. That gives the model something real to be right or wrong about.

It was built specifically to exercise every object type the Teamcenter sync targets, on a model that had never touched Teamcenter before.

TEAMCENTER ITEM
041908
COMPONENTS
12
CONNECTIONS
11
PORTS
29 · 22 typed
FUNCTIONS
16
SIGNALS
6

Twelve blocks: the FuelSystem composite plus MainFuelTank, HeaderTank, FlopTube, ElectricBoostPump, CheckValve, FuelFilter, FuelPressureRegulator, Engine, FuelControlUnit, FuelPressureSensor and FuelQuantitySensor. Three interface blocks, five signals, 22 proxy ports, 11 connectors with 11 realized item flows, four requirements with satisfy links, and a behaviour layer of 16 functions.

1 · The source model in Cameo

This is where a human authors. Note what the containment tree shows: every package and every block already carries its Teamcenter item id in parentheses. That stamp is the identity backbone of everything downstream — it is how a symbol on an NX drawing, a component in Capital and an item in MADe are all known to be the same object.

Cameo Enterprise Architecture containment tree showing the Inverted Flight Fuel System model with Teamcenter item ids on every package and block
Cameo Enterprise Architecture 2024x, InvertedFlightFuelSystem.mdzip. Every element carries its Teamcenter id: the model root is 041908, Blocks is 041930, ElectricBoostPump is 041948. The TC_* stereotypes only attach after "Mark for Deep Synchronization" has been run once — on a brand-new project they are not there.

The Internal Block Diagram is where the scoping rule comes from. Every proxy port is typed by an interface block, and conjugation marks the inputs:

Cameo Internal Block Diagram of the Fuel System showing proxy ports typed by FuelInterface and ControlDataInterface
The Fuel System IBD. fuelOut : FuelInterface, dataOut : ControlDataInterface, and the conjugated form ~FuelInterface on the receiving side. All 22 ports are typed — this model passes the port-domain audit 22 of 22, which most models in the estate do not.

2 · The master copy in Teamcenter

The push is the HCL Cameo–Teamcenter connector. Once it has run, Teamcenter holds the architecture as real business objects — Fnd0LogicalBlock components, Fnd0LogicIntrfce ports, Fnd0LogicConn connectors, Functionality functions — and from that point on Teamcenter is the thing every generator reads.

You can check the state of the model at any time. This is the merge guard reading the live tier and comparing it against the recorded clean-state baseline:

$ node bin/guard-tc-model.mjs --item 041908 --verify out/guard/041908.baseline.json

=== TC 041908: 49 objects, 29 ports, 11 connections

against out/guard/041908.baseline.json (taken 2026-08-01T18:02:06.291Z)
  added   : 0 objects, 0 ports, 0 wires
  changed : 0 objects, 0 ports
  REMOVED : 0 objects, 0 ports, 0 wires
  UNTYPED : 0 port(s) lost their interface

OK - nothing was removed. Merge-only holds.
Why the model is deliberately left clean An SME edit was simulated, written back to Teamcenter as a real object, verified, and then removed again — because it came from a simulation, not a design decision. Item 041908 is a clean baseline on purpose, and re-applying the edit is one command.

3 · The same model in Capital

One command turns the live Teamcenter read into an importable Capital project:

$ node bin/forward-translate.mjs --live 041908 \
      --project "Inverted Flight Fuel System" \
      --out out/capital/InvertedFlight.platform.xml

forward-translate ok {"out":"out/capital/InvertedFlight.platform.xml","bytes":524073,
  "components":12,"pathways":11,"pathways_skipped":0,"functions":16,"signals":6,
  "carriers":0,"allocations":0,"normalized":true}
Capital Systems Architect showing the Inverted Flight Fuel System platform design with 12 components and green pathways
Capital Systems Architect, platform design InvertedFlightFuelSystem Platform:A:01. All 12 components rendered, wired exactly to the Cameo connector topology. FuelSystem correctly shows no pathway line — it is the composite whole, not a connector endpoint; its 11 parts are.
Capital design tree with the Pathways node expanded showing PWY1 through PWY11
Counted from Capital's own tree rather than from our log: PWY1PWY11. Eleven pathways in, eleven pathways out, zero skipped.
Import order matters Importing the XML with no project open fails with "cannot be imported as a project since it only contains a design". Create the empty project first, then Files → Import Project & Generate Diagrams into it.

4 · The same model as an NX drawing

The fluid subset — chosen by port domain, not by name — becomes a real P&ID in NX Schematic Designer.

NX Schematic Designer P&ID of the Inverted Flight fuel system with tanks, pump, check valve, filter, regulator and engine
Generated from a live Teamcenter read of item 041908: 11 symbols, 11 connections, zero unmapped. Each symbol is relabelled with its architecture component name above the NX-assigned tag (ElectricBoostPump / PU000001), so the drawing reads back to the model without a legend.
NX drawing title block reading Inverted Flight Fuel System - Piping and TC 041908
The title block carries the provenance: TC 041908. A drawing that cannot say which Teamcenter item it came from is not part of a digital thread.

The full NX story — including why this is the one thing in the repo that cannot run headless — is on the NX Diagramming page.

5 · The same model as a reliability model

MADe 3.9.1 with the Inverted Flight Fuel System imported, showing 12 components and zero errors
MADe 3.9.1, project Inverted Flight Fuel RAMS from TC.made, imported live on 1 August 2026 through MADe's own Integration wizard: 12 components, 0 errors, 0 warnings. Nothing was hand-entered.

The MADe page walks the whole wizard step by step, and is candid about what did not travel.

The hydraulic sibling — item 042326

The hydraulic architecture began life as a hand-authored reference bundle, so that the ISO 1219 discipline could be exercised. That left it in an honest but unsatisfying state: the platform tie check reported "no Teamcenter item behind this system — tied by the detail part alone".

It was then promoted into Teamcenter as its own model item — a new sibling, not an edit, because adding a hydraulic system to a package named "Inverted Flight Fuel System" would restructure a model that is not this tool's to restructure.

$ node bin/route-from-tc.mjs --item 042326

  DirectionalControlValve   fluid    -> nx-diagramming
  EngineDrivenHydraulicPump fluid    -> nx-diagramming
  HydraulicPressureSwitch   signal   -> capital, software
  HydraulicReservoir        fluid    -> nx-diagramming
  InvertedPickupSelector    fluid    -> nx-diagramming
  LandingGearActuator       fluid    -> nx-diagramming
  OilCooler                 fluid    -> nx-diagramming
  PressureFilter            fluid    -> nx-diagramming
  ReturnFilter              fluid    -> nx-diagramming
  SpeedbrakeActuator        fluid    -> nx-diagramming
  SuctionStrainer           fluid    -> nx-diagramming
  SystemAccumulator         fluid    -> nx-diagramming
  SystemPressureReliefValve fluid    -> nx-diagramming

  ports typed via Seg0Implements: 27   untyped: 0
NX Schematic Designer ISO 1219 hydraulic schematic with reservoir, pump, filters, accumulator, actuators and directional control valve
Item 042326 drawn on the ISO 1219 discipline: 13 symbols, 16 connections, millimetre A1 sheet. The pickup selector, directional control valve and both actuators are real ISO fluid-power symbols from the shipped NX reuse library.
It had to conform before it could be promoted Promoting the bundle as it stood would have re-created a known gap — no declared interfaces and every port untyped, which lands in Teamcenter with an empty Seg0Implements. So the promotion tool refuses a bundle with no interfaces or any untyped port. Two interfaces were declared, HydraulicInterface was registered as fluid rather than as a domain of its own (a new "hydraulic" domain would route nowhere until the routing table learned about it), and six ports were renamed so each name carries its interface's token. All 27 now agree.

Reproduce every figure on this site

# the Capital project XML, from a live Teamcenter read
node bin/forward-translate.mjs --live 041908 --project "Inverted Flight Fuel System" \
     --out out/capital/InvertedFlight.platform.xml

# the routing table, from Teamcenter alone
node bin/route-from-tc.mjs --item 041908
node bin/route-from-tc.mjs --item 042326

# the NX build spec, then the drawing itself (interactive NX session)
node bin/forward-to-nx.mjs --bundle out/nx/InvertedFlight.exchange.json \
     --out out/nx/InvertedFlight.nxspec.json --title "Inverted Flight Fuel System" \
     --out-part "D:\NXWorking\InvertedFlight\InvertedFlightFuelSystem_PID.prt"
bash tools/nx/run-nx-schematic.sh out/nx/InvertedFlight.nxspec.json out/nx/InvertedFlight.nxresult.json

# the MADe payload
node bin/forward-to-made.mjs --bundle out/live/InvertedFlightFuel.exchange.json \
     --project "Inverted Flight Fuel System" --root-item-id 041908 \
     --out out/made/InvertedFlightFuel.made.json

# the state of the model, before and after anything
node bin/guard-tc-model.mjs --item 041908 --verify out/guard/041908.baseline.json