Pipe rack
Multi-tier steel pipe rack: HEB portal bents (posts with base plates, anchor bolts and cap plates, tier beams on bolted end plates, knee braces), IPE longitudinal struts on fin plates, X-braced bays, an optional top tier with two ladder cable trays and an optional cantilevered grating walkway with handrails, self-closing gate and caged ladder. Base plates sit on y = 0; the rack runs along X. Pipes rest on the tier beams: bottom of pipe = tier top of steel (firstTier + i × tierSpacing, or tierElevations); the walkway grating is 30 mm above the top pipe tier.
Installation
Copies structure/pipe-rack.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 { PipeRack } from './components/deck-twin/structure/pipe-rack'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<PipeRack />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
bays | number | null | 1 – 20 |
bayLength | number (m) | null | 3 – 9 |
width | number (m) | null | 2 – 12 |
tiers | number | null | 1 – 4 |
firstTier | number (m) | null | 2 – 8 |
tierSpacing | number (m) | null | 1.2 – 4 |
post | "HEB 200" | "HEB 240" | "HEB 300" | "HEB 400" | "W10x49" | "W12x65" | null | |
beam | "HEB 160" | "HEB 200" | "HEB 240" | "HEB 300" | "W8x31" | "W10x49" | null | |
strut | "IPE 160" | "IPE 200" | "IPE 240" | "HEA 200" | null | |
bracing | boolean | null | |
cableTray | boolean | null | |
walkway | boolean | null | |
...group | position, rotation, scale… |
P&ID
Cross-section: a portal frame (two posts and one or more tier beams) with the pipes drawn as circles resting on each tier; in plan, two parallel lines with the bent positions marked across them and the pipes as lines along the rack.
Not on P&IDs (lines there are schematic). Cable trays on the top tier appear as narrow rectangles. A single post with arms is a cable-tray support.
baysbayLengthwidthtiersfirstTiertierSpacingpostbeamTypical suppliers
Fabricated to project specification. 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/pipe-rack.json, or copy a ready-made instruction:
Add the Deck Twin "Pipe rack" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add pipe-rack` (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 pipe-rack` for its props, ranges and ports. Render <PipeRack /> 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