Perimeter security fence
Straight fence run along X. Palisade: RSJ posts at 2.75 m on concrete footings, angle rails and bolted W-section pales with triple-pointed heads. Chain-link: tube posts at 3 m, top rail, tension wires, 50 mm diamond mesh and diagonal braces. Topping is cranked arms with three barbed strands or a razor coil. Gate options are a double-leaf swing gate or a cantilever sliding gate with roller posts and motor operator. Warning signs and gate earth bond.
Installation
Copies onshore/perimeter-fence.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 { PerimeterFence } from './components/deck-twin/onshore/perimeter-fence'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<PerimeterFence />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
length | number (m) | null | 2 – 120 |
style | "palisade" | "chain-link" | null | |
height | number (m) | null | 1.2 – 3.6 |
topping | "razor" | "barbed" | "none" | null | |
gate | "none" | "swing" | "sliding" | null | |
gateWidth | number (m) | null | 1 – 12 |
finish | "galvanised" | "green" | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Site plan: a line with crosses at intervals (-x-x-) along the boundary, gates shown as a swing (leaf and arc) or a sliding leaf, with fence height and type noted.
Only on site plans. The crosses tell it from a wall (solid double line) or a kerb.
lengthstyleheighttoppinggategateWidthfinishtagFor agents
Machine-readable entry with props, ranges, defaults and ports:
Or fetch /r/perimeter-fence.json, or copy a ready-made instruction:
Add the Deck Twin "Perimeter security fence" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add perimeter-fence` (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 perimeter-fence` for its props, ranges and ports. Render <PerimeterFence /> 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