Offshore steel jacket

Fixed steel jacket substructure (4, 6 or 8 legs): hollow battered tubular legs with node cans, horizontal frames, X or K braced faces with oversized brace stubs and crossing cans, conductor guide framing with funnelled sleeves, risers clamped to the +X face with a splash-zone sheath, a seabed bend and top flanges (ports riser-1…n), a boat landing with bumpers, grating and ladder on +Z, barge bumpers on the corner legs through the splash zone, stand-off anodes, mudmats and yellow sea-level marker rings. Origin is the top of the jacket legs at y = 0 and the structure extends below it: mean sea level at y = −airGap, seabed at y = −(airGap + waterDepth). A deck-module with legHeight h placed at y = h sits on it when its leg spacing matches spanX / spanZ.

ISO 19902API RP 2A-WSDDNV-RP-B401NORSOK N-004
Drag to orbit, scroll to zoom
Parameters
– m
– m
– m
– m
–
– m
–
–

Installation

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

Copies structure/jacket.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 { Jacket } from './components/deck-twin/structure/jacket'

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

Props

PropTypeDefaultRange
legs4 | 6 | 8null
waterDepthnumber (m)null15 – 180
airGapnumber (m)null8 – 35
spanXnumber (m)null8 – 60
spanZnumber (m)null8 – 40
batternumbernull6 – 20
legDiameternumber (m)null0.9 – 3
bracing"X" | "K"null
conductorsnumbernull0 – 12
risersnumbernull0 – 4
riserNpsnumber (NPS, in)null
riserRating150 | 300 | 600 | 900 | 1500 | 2500null
boatLandingbooleannull
anodesbooleannull
seaLevelMarkerbooleannull
...groupposition, rotation, scale…

P&ID

P&ID symbol for jacket

Elevation: a tapering (battered) frame from the seabed up to the deck with horizontal levels and X or K bracing, the sea level drawn as a wave line and the mudline at the bottom; in plan, circles at the leg positions.

Layout plan convention (structural / plot plan drawings) (structural elevation); ISO 19902 / API RP 2A

Not on P&IDs. Risers and conductors are drawn along the jacket face; the deck above is deck-module.

Jacket structural drawing / design basis (ISO 19902, API RP 2A-WSD) fields and the props they set
Number of legslegs
Water depthwaterDepth
Air gapairGap
Leg spacing X (top)spanX
Leg spacing Z (top)spanZ
Leg batterbatter
Leg diameterlegDiameter
Bracing patternbracing
Conductorsconductors
Risersrisers
Riser sizeriserNps
Riser ratingriserRating

Typical 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:

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

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

Add the Deck Twin "Offshore steel jacket" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add jacket` (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 jacket` for its props, ranges and ports. Render <Jacket /> 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