Bellows expansion joint

Metallic bellows expansion joint with weld-neck flanged ends and pipe nipples. Stainless bellows with formed convolutions (count, pitch and height scale with the size) and reinforcing collars on the cuffs. kind selects the hardware: single (unrestrained), tied (tie rods, gusseted lugs, spherical washers and nuts), hinged (a hinge pair with pins), gimbal (a gimbal ring with two pin pairs at 90°) or in-line pressure-balanced (two line bellows and a larger balancing bellows on an intermediate spool, tied end to end). Optional internal flow liner and external cover.

EJMA 10th ed. (typical)ASME B31.3 Appendix XASME B16.5
Drag to orbit, scroll to zoom
Parameters
–

Installation

$npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add expansion-joint

Copies piping/expansion-joint.tsx and the shared lib/ into src/components/deck-twin/. Needs three, @react-three/fiber and @react-three/drei. See installation for the manual route.

Usage

import { Canvas } from '@react-three/fiber'
import { OrbitControls } from '@react-three/drei'
import { Stage } from './components/deck-twin/lib/stage'
import { ExpansionJoint } from './components/deck-twin/piping/expansion-joint'

export default function Scene() {
  return (
    <Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
      <Stage>
        <ExpansionJoint />
      </Stage>
      <OrbitControls makeDefault />
    </Canvas>
  )
}

Props

PropTypeDefaultRange
kind"single" | "tied" | "hinged" | "gimbal" | "pressure-balanced"null
npsnumber (NPS, in)null
rating150 | 300 | 600 | 900 | 1500 | 2500null
convolutionsnumbernull2 – 20
linerbooleannull
coverbooleannull
...groupposition, rotation, scale…

P&ID

P&ID symbol for expansion-joint

A short section of the line drawn with a zig-zag (convoluted) outline between two flange bars; tie rods, hinges or gimbals are noted as EJ type, often tagged EJ or XJ.

tag EJtag XJISO 10628-2 / PIP PIC001 (compensator / bellows)

Zig-zag outline in the line = bellows; a flexible hose is drawn as a wavy line. Found on exhaust ducts, cooling water, compressor and turbine connections.

Expansion joint datasheet (EJMA) fields and the props they set
Joint typekind
Nominal sizenps
Flange ratingrating
Convolutionsconvolutions
Internal linerliner
External covercover

Typical suppliers

U.S. Bellows. The geometry is generic and sized from public standards. It is not vendor CAD.

For agents

Machine-readable entry with props, ranges, defaults and ports:

$npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info expansion-joint

Or fetch /r/expansion-joint.json, or copy a ready-made instruction:

Add the Deck Twin "Bellows expansion joint" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add expansion-joint` (it copies the file and the shared lib into src/components/deck-twin/), then `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info expansion-joint` for its props, ranges and ports. Render <ExpansionJoint /> inside a React Three Fiber <Canvas shadows>, wrapped in <Stage> from src/components/deck-twin/lib/stage. Set props from my data (metres, NPS in inches, ASME class) and leave the rest at defaults. Install three, @react-three/fiber, @react-three/drei and @types/three if they're missing. Full guide: https://decktwin.com/skill/SKILL.md