Fire extinguishers
EN 3 fire extinguishers with red bodies and agent colour zones (dry powder blue, CO2 black with discharge horn, foam cream), front instruction label, valve head with squeeze lever, safety pin, gauge and hose. unit portable-bracket hangs one on a neck cradle and strap on a post or wall; cabinet stands them in a red GRP cabinet with glazed or solid door; wheeled puts a 25–150 kg unit on a trolley. capacity (kg) sets the cylinder size; an ISO 7010 F001 sign is included.
Installation
Copies safety/fire-extinguisher.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 { FireExtinguisher } from './components/deck-twin/safety/fire-extinguisher'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<FireExtinguisher />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
unit | "portable-bracket" | "cabinet" | "wheeled" | null | |
agent | "dry-powder" | "co2" | "foam" | null | |
capacity | number (kg) | null | 1 – 150 |
count | number | null | 1 – 3 |
door | "glazed" | "solid" | null | |
mount | "pole" | "wall" | null | |
sign | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
On fire-protection layouts: a small extinguisher outline or a triangle / square with the agent letters (DP, CO2, FOAM) and size (e.g. 9 kg); wheeled units are marked W or with wheels.
Legends vary a lot; read the letters for the agent and capacity. Not shown on P&IDs.
unitagentcapacitycountdoormountsigntagTypical suppliers
Penta · CGS · NAFFCO · Gloria · Kidde. 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/fire-extinguisher.json, or copy a ready-made instruction:
Add the Deck Twin "Fire extinguishers" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add fire-extinguisher` (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 fire-extinguisher` for its props, ranges and ports. Render <FireExtinguisher /> 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