Industrial building (portal frame)
Steel portal-frame building shell on a floor slab: IPE columns with haunched rafters on anchored base plates, purlins, a blockwork dado with profiled metal cladding above, a profiled duo-pitch roof with rooflights, ridge cap, ridge ventilators, gutters and downpipes. Roller shutters have coil boxes, motors, striped jambs, bollards and ramps; personnel doors have canopies, exit signs and lights. High-level louvres, lightning down-conductors with earth pits. kind: a workshop adds an overhead crane, a control building swaps the shutters for a window strip and AC condensers. The roller shutters open with doorOpen, showing the hollow interior.
Installation
Copies onshore/industrial-building.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 { IndustrialBuilding } from './components/deck-twin/onshore/industrial-building'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<IndustrialBuilding />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
kind | "warehouse" | "workshop" | "control" | null | |
length | number (m) | null | 6 – 90 |
width | number (m) | null | 6 – 40 |
eaves | number (m) | null | 3 – 15 |
pitch | number (°) | null | 3 – 20 |
rollerDoors | number | null | 0 – 6 |
personnelDoors | number | null | 0 – 6 |
doorOpen | number | null | 0 – 1 |
cladding | string | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Site or floor plan: a rectangle on the structural grid (dash-dot), with roller-shutter doors shown as dashed lines across openings and personnel doors as swing arcs; the building name and use are written inside.
Buildings are identified by label on plot plans; an E-house or analyser shelter is smaller and skid-based. Not on P&IDs.
kindlengthwidtheavespitchrollerDoorspersonnelDoorstagFor agents
Machine-readable entry with props, ranges, defaults and ports:
Or fetch /r/industrial-building.json, or copy a ready-made instruction:
Add the Deck Twin "Industrial building (portal frame)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add industrial-building` (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 industrial-building` for its props, ranges and ports. Render <IndustrialBuilding /> 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