.PS
# ex02.m4
cct_init
linewid = linewid*4/5

[
  [ 
  for angl=0 to 315 by 45 do {
     Point_(angl)
     opamp(to rvec_(linewid*3/2,0)) with .Out at (0,0) }
     ]
 resistor(down_ dimen_ from last [].s)
 diode(down_ dimen_*2/3,LE) 
 diode(down_ dimen_*2/3,LER) 
 ground(,T)
]

[
 define(`elen_',`dimen_*3/2')          # restore defaults
 define(`sourcerad_',`dimen_*0.25')
 leng = elen_
 define(`fromcentre',`move to C+(-elen_/2,-elen_*cosd(15)/(2*sind(15)))')
 C: dot
 { fromcentre()
   for i = 0 to 359 by 30 do { Point_(i); inductor }
   }
  define(`elen_',leng*0.8)
  { fromcentre()
    for i=0 to 359 by 30 do { Point_(i); inductor(,W) }
    }
  define(`elen_',leng*0.6)
  { fromcentre()
    for i=0 to 359 by 30 do { Point_(i); resistor }
    }
  define(`elen_',leng*0.4)
  { fromcentre()
    for i=0 to 359 by 30 do { Point_(i); capacitor(,C) }
    }
  define(`elen_',leng*0.2)
  { fromcentre()
    for i=0 to 359 by 30 do { Point_(i); diode }
    }
  define(`elen_',`dimen_*3/2')
  ] with .sw at last [].se+(linewid,0)

[
linewid *=1.5
for ang=0 to 359 by 30 do {
  ebox(from (0,0) to (Rect_(elen_,ang)))
  hatchbox(boxdir=ang;angle=70;hatchspec=thick 0.4 outlined "red";
    wid=dimen_/2; ht=dimen_/5; hatchsep=dimen_/2/5) at last []
  }
  ] with .sw at last [].se+(linewid,0)

.PE