Flexible hose assembly
Flexible hose assembly between two flanged or union ends. Braided: annularly corrugated stainless hose under a stainless braid. Armoured: rubber hose with an interlocked galvanised armour. Both have crimped ferrules, weld collars and weld-neck RF flanges carrying half joint studs. The hose droops by sag but never tighter than bendRadius (default 5 x OD braided, 7 x OD armoured, typical). Rotary: a steel chiksan-style loop of long-radius elbows and ball-race swivel joints (race bands, ball plugs, grease fittings) with Fig 1502 hammer unions on the ends.
Installation
Copies piping/flexible-hose.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 { FlexibleHose } from './components/deck-twin/piping/flexible-hose'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<FlexibleHose />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
kind | "braided" | "armoured" | "rotary" | null | |
nps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
length | number (m) | null | 0.3 – 6 |
sag | number (m) | null | 0 – 1.5 |
bendRadius | number (m) | null | 0 – 3 |
...group | position, rotation, scale… |
P&ID
A wavy (sinusoidal) line between two end connections, sometimes with "FH" or the hose type noted; drilling rotary hoses and loading hoses are drawn the same way.
Wavy line = flexible hose; a zig-zag outline = bellows expansion-joint. Some legends tag hoses FH, which clashes with fire hydrants.
kindnpsratinglengthbendRadiusTypical suppliers
Witzenmann. 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:
Or fetch /r/flexible-hose.json, or copy a ready-made instruction:
Add the Deck Twin "Flexible hose assembly" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add flexible-hose` (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 flexible-hose` for its props, ranges and ports. Render <FlexibleHose /> 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