Equipment module frame
Lift-installed topsides equipment module frame: HEB base frame with IPE secondaries on fin plates, 12 mm deck plate and 150 mm drip coaming, set-down stools, HEB columns with stiffeners, roof frame with optional plated roof and guard rail, CHS X-bracing on the end faces and end bays, and four lift padeyes with cheek plates on the corner columns. Stools stand on y = 0; the floor (walking surface) is at y = 0.15 + base depth + 0.012 (0.662 m with HEB 500) and the roof top of steel is height above the floor.
Installation
Copies structure/module-frame.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 { ModuleFrame } from './components/deck-twin/structure/module-frame'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<ModuleFrame />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
length | number (m) | null | 3 – 40 |
width | number (m) | null | 2.5 – 20 |
height | number (m) | null | 2.5 – 12 |
base | "HEB 300" | "HEB 400" | "HEB 500" | "HEB 600" | "HEB 800" | null | |
post | "HEB 240" | "HEB 300" | "HEB 400" | null | |
roofBeam | "HEB 240" | "HEB 300" | "HEB 400" | null | |
roofDeck | boolean | null | |
bracing | boolean | null | |
padeyes | boolean | null | |
...group | position, rotation, scale… |
P&ID
Elevation: a rectangular frame with intermediate floor and X-bracing on the faces, padeyes at the top corners; on plot plans a module boundary rectangle with its tag and weight.
On P&IDs a module or package boundary is a dash-dot rectangle around the equipment it carries.
lengthwidthheightbasepostroofBeamroofDeckbracingpadeyesTypical 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/module-frame.json, or copy a ready-made instruction:
Add the Deck Twin "Equipment module frame" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add module-frame` (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 module-frame` for its props, ranges and ports. Render <ModuleFrame /> 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