Aspirating smoke detector
Very early warning aspirating smoke detector for E-houses, LERs and switchrooms. Wall-mounted unit with status LEDs, smoke bar graph and airflow display, four pipe inlets (unused ones plugged), exhaust stub and field cable. Red 25 mm ABS sampling pipe rises to pipeHeight, sweeps into a horizontal run of length per branch with labelled sampling holes every spacing, push-fit sockets every 3 m, wall clips and a drilled end cap. Pipes are hollow. branches 2 adds a run the other way.
Installation
Copies safety/aspirating-smoke-detector.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 { AspiratingSmokeDetector } from './components/deck-twin/safety/aspirating-smoke-detector'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<AspiratingSmokeDetector />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
height | number (m) | null | 0.8 – 2.5 |
pipeHeight | number (m) | null | 2 – 8 |
length | number (m) | null | 0.5 – 50 |
spacing | number (m) | null | 0.3 – 8 |
branches | number | null | 1 – 2 |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
A detector box marked ASD (or VESDA) with a sampling pipe running across the ceiling plan and the sampling holes marked as dots or short ticks along it.
A pipe line with sampling holes from a box = aspirating system; point smoke detectors are individual circles with S.
heightpipeHeightlengthspacingbranchestagTypical suppliers
Xtralis (VESDA) · Honeywell. 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/aspirating-smoke-detector.json, or copy a ready-made instruction:
Add the Deck Twin "Aspirating smoke detector" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add aspirating-smoke-detector` (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 aspirating-smoke-detector` for its props, ranges and ports. Render <AspiratingSmokeDetector /> 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