.PS
# `RotarySwitch.m4'
cct_init

  movewid /= 3
 RS1: RotarySwitch
  {"\sl C" at RS1.C.s below
   "\sl P1" at RS1.P1.e ljust
   "\sl P4" at RS1.P4.e ljust
   thinlines_; arrow <- from RS1.Wiper1.c up_ RS1.P4.y-RS1.Wiper1.c.y
   "\sl Wiper1" above; thicklines_
   "\sf RS1" at RS1.s+(0,-12bp__)}
move
 RS2: RotarySwitch(-45:45,wline=;segments=30:60)
  {"\sf RS2" at (RS2,last "")}
move
 RS3: RotarySwitch(0:180,poles=10;wipers=nil;segments=-4:44 & 156:184;)
  {"\sf RS3" at (RS3,last "")
   "\sl Seg1" at RS3.Seg1.start below
   "\sl Seg2" at RS3.Seg2.end below}
move
 RS4: RotarySwitch(0:180,
  poles=10;
  wipers=B:180:Arc.rad-C.diam;
  segments=14:166:Arc.rad-C.diam*3/2;,
  Wiper2: arrow from C down_ dimen_/5 then left_ Arc.rad chop C.rad)
  {"\sf RS4" at (RS4,3rd last "")}
move
 RS5: RotarySwitch(0:180,circle=rad dotrad_;poles=23;wipers=B:8 & B:188,
  Seg1: line from C to C+(Rect_(Arc.rad,-10)) then to P1 chop C.rad
  C: circle rad C.rad*3 at C fill_(1))
  {"\sf RS5" at (RS5,last "")}
move
 RS6: RotarySwitch(-30:210,poles=16;wline=thick C.diam/(1bp__))
  {"\sf RS6" at (RS6,last "")
   "\sl P1" at RS6.P1.s below
   "\sl P16" at RS6.P16.s below}
.PE
