Marine loading arm
Counterbalanced marine loading arm on a jetty riser (stand post): base slewing swivel with ring gear, luffing swivel, inboard arm with its counterweight, rigid-link pantograph (lever, tie rod, apex crank) carrying the outboard counterweight, outboard arm, triple swivel, insulating flange, emergency release coupler with twin ball valves, and a hydraulic QC/DC coupler. Hydraulic cylinders, power unit, platform with caged ladder and earth bond. luff, slew and outboard move the arms; the coupler hangs plumb. Stand post height and arm length follow published data per size.
Installation
Copies onshore/marine-loading-arm.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 { MarineLoadingArm } from './components/deck-twin/onshore/marine-loading-arm'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<MarineLoadingArm />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
nps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
reach | number (m) | null | 6 – 14 |
luff | number (°) | null | 20 – 85 |
slew | number (°) | null | -60 – 60 |
outboard | number (°) | null | -15 – 90 |
ers | boolean | null | |
hydraulic | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
An articulated line from the jetty riser through swivel joints (small circles) at the base, apex and outboard end, ending in the emergency release coupling (two close bars with valves) and the ship manifold flange; a counterweight box on the inboard arm.
Swivels plus the ERS mark tell it from a hose. Truck loading arms are smaller and drawn with the truck outline. ISA codes here: XV = ERS.
npsratingreachershydraulictagTypical suppliers
Emco Wheaton. 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/marine-loading-arm.json, or copy a ready-made instruction:
Add the Deck Twin "Marine loading arm" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add marine-loading-arm` (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 marine-loading-arm` for its props, ranges and ports. Render <MarineLoadingArm /> 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