Ex d CCTV camera (fixed / PTZ)
Hazardous-area CCTV camera in electropolished 316L: flameproof barrel with bolted window and rear flanges, glazed window, sunshield on standoffs, wiper, rear gland and armoured cable, Ex marking plate and tag. kind: ptz adds the pan drive, U-yoke and tilt drive; pan and tilt (degrees) turn the head, and also aim the fixed camera on its knuckle bracket. Mounted on a galvanised pole with a gusseted base plate and anchor bolts, cable cleats and an Ex e junction box, or on a wall bracket (wall plane z = 0).
Installation
Copies interiors/cctv-camera.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 { CctvCamera } from './components/deck-twin/interiors/cctv-camera'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<CctvCamera />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
kind | "fixed" | "ptz" | null | |
mount | "pole" | "wall" | null | |
height | number (m) | null | 1.5 – 12 |
pan | number (°) | null | -180 – 180 |
tilt | number (°) | null | -90 – 40 |
wiper | boolean | null | |
junctionBox | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Telecom layout: a camera symbol (small box with a lens) with its field-of-view wedge drawn dashed in the direction it looks; PTZ cameras marked PTZ with a full circle of coverage.
A wedge from a camera box is the CCTV view; a wedge from a circle with F is a flame detector cone. Not on P&IDs.
kindmountheightwiperjunctionBoxtagTypical suppliers
Videotec (Pelco) · Axis · Eaton Hernis. 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/cctv-camera.json, or copy a ready-made instruction:
Add the Deck Twin "Ex d CCTV camera (fixed / PTZ)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add cctv-camera` (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 cctv-camera` for its props, ranges and ports. Render <CctvCamera /> 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