Spectacle blind
Figure-8 spectacle blind for positive isolation: solid paddle and spacer ring on a tie bar, thickness from the ASME B16.48 pressure formula, between two weld-neck flanges with spiral-wound gaskets, lengthened studs and jack screws. state swaps the paddle and spacer; the idle end shows a red (blind) or green (spacer) flash.
Installation
Copies piping/spectacle-blind.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 { SpectacleBlind } from './components/deck-twin/piping/spectacle-blind'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<SpectacleBlind />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
nps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
state | "closed" | "open" | null | |
flanges | boolean | null | |
...group | position, rotation, scale… |
P&ID
A figure-8 drawn across the line between two flange bars: one circle filled (solid blind) and one open (spacer ring). The filled half on the line means the line is blinded (normally closed); the open half on the line means it is open.
Note NO / NC (or SO / SC) beside it for the normal position. Many legends draw the figure-8 beside the flange pair on a short stem instead of across the line: the circle next to the stem is the half in the line (open ring = open, blank = closed), and the blank may be hatched or drawn as concentric circles. A single filled paddle is a spade; a single open ring is a spacer.
npsratingstateflangesTypical suppliers
Sweco Fab. 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/spectacle-blind.json, or copy a ready-made instruction:
Add the Deck Twin "Spectacle blind" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add spectacle-blind` (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 spectacle-blind` for its props, ranges and ports. Render <SpectacleBlind /> 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