Door set (fire, blast, sliding, roller shutter)

Offshore door set in a short lined wall stub with a real hole, so you can see through it when open. kind picks a single or double hinged steel door (pressed-steel rebated frame with seals, 3–4 hinges, stainless threshold and kick plates, overhead closer, lever or panic bar, vision panel, astragal and flush bolts on pairs), a top-hung sliding door, a blast door (100 mm leaf, heavy hinges, multi-point locking with dog lever, bolted laminated vision panel) or a roller shutter (slat curtain in side guides, coil box with drive, push-button station). fireRating sets leaf thickness and the A60 / H120 rating plates. open (0–1) swings, slides or rolls the leaf; leaves swing towards +Z. ISO 7010 exit sign over the door and a room-name sign beside it. Set wall: none to drop it into a room wall; doorOpening() gives the hole size.

IMO FTP Code (A60 / H120)ISO 7010 E001EN 1125 (panic exit)EN 1154 (closers)
Drag to orbit, scroll to zoom
Parameters
–
– m
– m
– m

Installation

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

Copies interiors/door.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 { Door } from './components/deck-twin/interiors/door'

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

Props

PropTypeDefaultRange
kind"single" | "double" | "sliding" | "blast" | "roller-shutter"null
fireRating"A60" | "H120" | "none"null
opennumbernull0 – 1
widthnumber (m)null0 – 4
heightnumber (m)null0 – 4
hand"left" | "right"null
hardware"lever" | "panic"null
visionPanelbooleannull
wall"stub" | "none"null
wallThicknessnumber (m)null0.06 – 0.4
sign"both" | "exit" | "room" | "none"null
labelstringnull
tagstringnull
...groupposition, rotation, scale…

P&ID

P&ID symbol for door

Plan view: a gap in the wall with the door leaf drawn as a line at 90° and a quarter-circle arc for the swing; double doors have two leaves and arcs, sliding doors a leaf parallel to the wall. The fire rating (A60, H120) is noted on the door schedule.

Architectural plan convention (door swing); IMO FTP Code fire ratings

Arc = hinged door; the hinge side is the arc centre. Blast doors are drawn thicker; roller shutters as a dashed line across the opening.

Door schedule (IMO FTP Code A60 / H120, EN 1125 / EN 1154 hardware) fields and the props they set
Typekind
Fire ratingfireRating
Clear widthwidth
Clear heightheight
Handinghand
Hardwarehardware
Vision panelvisionPanel
Tag numbertag

Typical suppliers

MML Marine · Baggerod · Bimar · NORAC. 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 door

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

Add the Deck Twin "Door set (fire, blast, sliding, roller shutter)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add door` (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 door` for its props, ranges and ports. Render <Door /> 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