Pipeline block-valve station
Mainline block-valve station on a buried pipeline. A fully welded, full-bore trunnion ball valve sits in the trench on a support pad, with a stem extension and extended vent, drain and sealant lines up to a concrete pad, topped by a gas-over-oil (twin gas/oil tanks, scotch-yoke, manual pump) or electric actuator. Above grade: bypass with two block valves, blowdown risers with valves to a common stack and silencer, pressure transmitters, RTU kiosk with solar panel, CP test post, marker posts and a chain-link compound with a double gate. cutaway leaves the trench open; cover sets the depth of cover; ports are flanged pup ends at the trench limits.
Installation
Copies onshore/pipeline-valve-station.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 { PipelineValveStation } from './components/deck-twin/onshore/pipeline-valve-station'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<PipelineValveStation />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
nps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
actuator | "gas-over-oil" | "electric" | null | |
cover | number (m) | null | 0.6 – 3 |
cutaway | boolean | null | |
open | number | null | 0 – 1 |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
A mainline ball valve below the grade line with its stem extended up to an above-grade actuator (rectangle: gas-over-oil or electric), and blowdown / bypass branches rising to their own valves; often within a fenced compound outline.
The grade line with a buried valve and stem extension identifies it. Topsides ESDVs are esd-valve.
npsratingactuatorcovertagFor agents
Machine-readable entry with props, ranges, defaults and ports:
Or fetch /r/pipeline-valve-station.json, or copy a ready-made instruction:
Add the Deck Twin "Pipeline block-valve station" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add pipeline-valve-station` (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 pipeline-valve-station` for its props, ranges and ports. Render <PipelineValveStation /> 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