Branch outlet (olet)

MSS SP-97 integrally reinforced branch outlets on a run pipe stub. Weldolet (butt-weld outlet with a flared bore), Sockolet (B16.11 socket and pipe stop), Thredolet (NPT female outlet), Nipolet (integral XS nipple, plain or male-threaded end), Elbolet (on a B16.9 LR elbow, outlet on the axis of one leg for thermowells) and Latrolet (45° lateral); the type names are used generically. The base is contoured to the run along the true intersection curve and finished with a fillet weld cap. The run is cut along the bore, so the branch opens into the run bore. Height, base OD and bore come from the SP-97 tables; kind selects the type.

MSS SP-97ASME B16.11ASME B1.20.1ASME B16.9ASME B16.25ASME B31.3
Drag to orbit, scroll to zoom
Parameters
– m
– m

Installation

$npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add olet

Copies piping/olet.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 { Olet } from './components/deck-twin/piping/olet'

export default function Scene() {
  return (
    <Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
      <Stage>
        <Olet />
      </Stage>
      <OrbitControls makeDefault />
    </Canvas>
  )
}

Props

PropTypeDefaultRange
kind"weldolet" | "sockolet" | "threadolet" | "nipolet" | "elbolet" | "latrolet"null
runNpsnumber (NPS, in)null
npsnumber (NPS, in)null
runSchedule"10" | "20" | "40" | "STD" | "80" | "XS" | "160" | "XXS" | "10S" | "40S" | "80S"null
schedule"STD" | "XS" | "80" | "160"null
pressureClass3000 | 6000null
end"weld" | "socket" | "thread"null
nipplenumber (m)null0.03 – 0.2
runLengthnumber (m)null0 – 1.5
...groupposition, rotation, scale…

P&ID

P&ID symbol for olet

On P&IDs a branch is just a line meeting another line with a dot (like a tee); on isometrics a branch outlet is a small saddle-shaped boss on the run pipe with the branch rising from it, noted WOL, SOL, TOL, NOL, EOL or LOL.

tag WOLtag SOLtag TOLtag NOLtag EOLtag LOLISO 10628-2 branch connection / MSS SP-97 (isometric detail)

P&IDs do not distinguish an olet from a tee: the piping class branch table decides (small branches off large runs are olets). Instrument connections and vents and drains are usually olets.

Piping class branch table / bill of materials (MSS SP-97) fields and the props they set
Olet typekind
Run sizerunNps
Branch sizenps
Run schedulerunSchedule
Branch scheduleschedule
Pressure classpressureClass
Branch endend

Typical suppliers

Bonney Forge. 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:

$npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info olet

Or fetch /r/olet.json, or copy a ready-made instruction:

Add the Deck Twin "Branch outlet (olet)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add olet` (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 olet` for its props, ranges and ports. Render <Olet /> 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