PIDSTACK

Positive displacement pump

Free

pump-positive · P&ID · Pumps · 48×48 grid units

P-101

Five states

  • Running
  • Warning
  • Failure
  • Stopped
  • No data

Four themes

Positive displacement pump in each theme (rows) and state (columns)
ThemeRunningWarningFailureStoppedNo data
Day
Bright
Dusk
Night

About this symbol

Meaning
rotary positive displacement pump
Convention
ISO 10628 (ISO (opens in a new tab))
Tags
Access
Free: code and SVG for everyone.

Drawn from scratch. The convention names the meaning the symbol stands for; no standard text or figure is reproduced.

Install with the shadcn CLI
npx shadcn@latest add "https://pidstack.com/r/pump-positive.json"
Use in React
import { PumpPositive } from "@/components/pidstack/pump-positive"
import "@/components/pidstack/pidstack.css"

<div data-theme="day">
  <PumpPositive state="running" label="P-101" size="medium" />
</div>
SVG source
<svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Positive displacement pump" class="sym" data-state="running" data-sym="pump-positive" viewBox="0 0 48 48" width="48" height="48" focusable="false"><title>Positive displacement pump</title><style>.sym{color:var(--sym-state-running,#12803a);--a:var(--sym-state-running,#12803a);--_f:var(--sym-fill-running,#d3f0dc);overflow:visible;display:block;flex:none}
.sym[data-state=warning]{color:var(--sym-state-warning,#d99a00);--a:var(--sym-state-warning,#d99a00);--_f:var(--sym-fill-warning,#fff0b0)}
.sym[data-state=failure]{color:var(--sym-state-failure,#d0021b);--a:var(--sym-state-failure,#d0021b);--_f:var(--sym-fill-failure,#fcd3d7)}
.sym[data-state=stopped]{color:var(--sym-state-stopped-line,#000000);--a:var(--sym-state-stopped-line,#000000);--_f:var(--sym-state-stopped-fill,#ffffff);filter:var(--sym-state-stopped-halo,none)}
.sym[data-state=stopped] text:not(.tb){fill:var(--sym-state-stopped-line,#000000)}
.sym[data-state=unknown]{color:var(--sym-off,#66727f);--a:var(--sym-off,#66727f);--_f:var(--sym-bg,#ffffff)}
.sym *{stroke-linecap:round;stroke-linejoin:round}
.sym .k{fill:none;stroke:currentColor;stroke-width:2}
.sym .b{fill:var(--_f);stroke:currentColor;stroke-width:2}
.sym .a{fill:none;stroke:var(--a);stroke-width:2}
.sym .ab{fill:var(--_f);stroke:var(--a);stroke-width:2}
.sym .s{fill:currentColor;stroke:none}
.sym .as{fill:var(--a);stroke:none}
.sym .th{stroke-width:4}
.sym .lv{fill:var(--a);opacity:.4;stroke:none}
.sym .halo{fill:var(--sym-bg,#ffffff);stroke:var(--sym-bg,#ffffff);stroke-width:2}
.sym .bg{stroke:var(--sym-bg,#ffffff);stroke-width:1.8;fill:none}
.sym .bgf{fill:var(--sym-bg,#ffffff);stroke:none}
.sym .flow{fill:none;stroke:var(--a);stroke-width:3.4;stroke-dasharray:0.1 20}
.sym text,.sym .x{font-family:var(--sym-font,system-ui,"Segoe UI",Roboto,sans-serif);font-weight:700;text-anchor:middle;fill:var(--sym-text,#1f2933);stroke:none}
.sym text.tb{fill:var(--sym-bg,#ffffff)}
.sym[data-state=unknown] .k,.sym[data-state=unknown] .b{stroke-dasharray:4 3}
.sym .nd{fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .7s cubic-bezier(.34,1.56,.64,1)}
.sym .zk-ok,.sym .zk-warning,.sym .zk-failure{fill:none;stroke-width:4;stroke-linecap:butt}
.sym .zk-ok{stroke:var(--sym-state-running,#12803a)}
.sym .zk-warning{stroke:var(--sym-state-warning,#d99a00);stroke-dasharray:5 2.5}
.sym .zk-failure{stroke:var(--sym-state-failure,#d0021b);stroke-dasharray:2 2}
.sym[data-state=stopped] [class^=zk-]{opacity:.55}
.sym .g-led{stroke:none}</style><g><path class="k" d="M0 24 H10 M38 24 H48"></path><circle class="b" cx="24" cy="24" r="14"></circle><g class="a "><circle class="a" cx="19.5" cy="24" r="4.6" stroke-dasharray="3 2.2"></circle></g><g class="a  rev"><circle class="a" cx="28.5" cy="24" r="4.6" stroke-dasharray="3 2.2"></circle></g></g></svg>