System cabinet row (DCS / SIS / F&G / server)
Row of count baying cabinets (800 × 800 × 2000 mm on a 100 mm plinth by default, RAL 7035) for DCS, SIS or F&G controllers, field marshalling or servers. Glazed, perforated or solid front doors hinged on the right with swing-handle locks and label strips, SIS / F&G status lamps, rear doors with vents, side panels and roof cable-entry brushes, cabinet lights. Behind the door: zinc mounting plate with trunking, I/O carriers with status LEDs, terminal rows and power supplies, or 19" rails full of servers and switches. Cables rise through bottom gland plates from a raised floor. open swings the front doors.
Installation
Copies interiors/system-cabinet.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 { SystemCabinet } from './components/deck-twin/interiors/system-cabinet'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<SystemCabinet />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
count | number | null | 1 – 12 |
system | "dcs" | "sis" | "fg" | "marshalling" | "server" | null | |
width | 0.6 | 0.8 | 1.2 | null | |
depth | 0.6 | 0.8 | 1 | null | |
height | 1.8 | 2 | 2.2 | null | |
door | "glazed" | "perforated" | "solid" | null | |
open | number | null | 0 – 1 |
rearDoors | boolean | null | |
cableEntry | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Plan view: a row of squares (cabinets) against a wall or back to back, with door swing arcs on the front and the system (DCS, SIS, F&G, marshalling) written on each; front and rear access clearances dashed.
Only on equipment-room layouts. Switchgear line-ups look similar but are deeper and labelled with feeders.
countsystemwidthdepthheightdoorrearDoorscableEntrytagTypical suppliers
Rittal · Emerson. 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/system-cabinet.json, or copy a ready-made instruction:
Add the Deck Twin "System cabinet row (DCS / SIS / F&G / server)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add system-cabinet` (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 system-cabinet` for its props, ranges and ports. Render <SystemCabinet /> 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