%%
%% This is file `cirest.mf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% circ.dtx  (with options: `csyrest')
%% Copyright 1997-98  Sebastian Tannert / Andreas Tille
%% 
%% This file is part of the CIRC package
%% -------------------------------------
%%   This package is distributed in the hope that it will be useful,
%%   but WITHOUT ANY WARRANTY; without even the implied warranty of
%%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%% 
%%   For error reports concerning UNCHANGED versions of this file no
%%   more than one year old, see CIRC.DVI.
%% 
%% IMPORTANT COPYRIGHT NOTICE:
%% 
%% You are NOT ALLOWED to distribute this file alone.
%% 
%% You are allowed to distribute this file under the condition that it
%% is distributed together with all the files listed in circ.txt.
%% 
%% If you receive only some of these files from someone, complain!
%% 
%% You are NOT ALLOWED to change this file.
input csym;
designsize:=.5lLE#;

def gaslamp =
  z0=(0,0);
  z4=z0+(.5,0)*lLE;
  y4=y3;
  x2=x1;
  x3=x4+3lLE;
  y2=y1+2lLE;
  y4=.5[y1,y2];
  x1=.5[x4,x3];

  x5=x0+1.1lLE;
  y5=y0;
  x7=x6=x5; y7-y6=.5lLE;
  .5[y7,y6]=y0;

  y8=y9=y0;
  x8=x0+4lLE;

  x9=x8-1.1lLE;

  pickup pencircle scaled normalline;
  draw superellipse(z3,z2,z4,z1,.75);
  draw z0--z5;
  draw z6--z7;
  draw z8--z9;
  pickup pencircle scaled .3lLE;
  drawdot z9;
enddef;

def switch =  %"uberarbeiten
  numeric pl;
  pl:=swt_lt*swt_dis;
  sl:=(1-2swt_dis)*swt_lt;
  z0=(0,0);
  z1=z0+(pl,0);
  z2=z1+((sl,0) rotated swt_phi);
  z3=z1+(swt_ind*sl,0);
  z4=z0+(swt_lt,0);
  z5=z3+(0,swt_slt);
  pickup pensquare scaled normalline;
  draw z0--z1--z2;
  draw z3--z4;
  draw z3--z5;
enddef;

def dswitch =
  z0=(0,0);
  z1=dsw_t[z0,z0+(dsw_wd,0)];
  x2=x3=x4=x5=x0+((1-dsw_c)*dsw_wd);
  y0=.5[y2,y3]=.5[y4,y5];
  y2-y3=dsw_ht;
  y2-y4=dsw_cc*dsw_ht;
  y2=y6; y3=y7;
  x6-x3=x7-x3=dsw_c*dsw_wd;
  x8=x1+dsw_ov+((1-dsw_c-dsw_t)*dsw_wd);
  y8=sind(dsw_phi)*x8/cosd(dsw_phi);
  pickup pensquare scaled normalline;
  draw z0--z1--z8;
  draw z4--z2--z6;
  draw z5--z3--z7;
enddef;

def circle =  % "uberarbeiten
  numeric pl;
  pl:=.5cir_lt-cir_ht;
  z0=(0,0);
  z1=z0+(pl,0);
  z2=z0+(.5cir_lt,0);
  z3=z1+(2cir_ht,0);
  z4=z3+(pl,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
  draw z3--z4;
  pickup pencircle scaled thickline;
  draw fullcircle scaled 2cir_ht shifted z2;
enddef;

def lamp =
  circle
  z10-z11=(2cir_ht,0) rotated 45;
  z12-z13=(2cir_ht,0) rotated -45;
  .5[z10,z11]=z2=.5[z12,z13];
  pickup pencircle scaled normalline;
  draw z10--z11;
  draw z12--z13;
enddef;

def circle_var =
  circle;
  pickup pencircle scaled thinline;
  noarrowTF;
  arrow(z2,cir_ara,cir_arb,cir_phi,arr_lt,arr_phi)();
enddef;

def usource =  %"uberarbeiten
  numeric pl;
  pl:=.5(uso_lt-uso_spc);
  z0=(0,0);
  z1=z0+(pl,0);
  z2=z1+(uso_spc,0);
  z3=z2+(pl,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
  draw z2--z3;
  z1=.5[z4,z5]; x4-x5=0; y5-y4=uso_pls;
  z2=.5[z6,z7]; x6-x7=0; y7-y6=uso_min;
  pickup pensquare scaled thickline;
  draw z4--z5;
  draw z6--z7;
enddef;

def usource_var =
  usource;
  noarrowTF;
  pickup pencircle scaled thinline;
  arrow(.5[z1,z2],uso_ara,cir_arb,uso_phi,arr_lt,arr_phi)();
enddef;

def isource =  %"uberarbeiten
  numeric pl;
  pl:=.5(iso_lt-(4-iso_dis)*iso_rad);
  z0=(0,0);
  z1=z0+(pl,0);
  z2=z1+(iso_rad,0);
  z3=z2+((2-iso_dis)*iso_rad,0);
  z4=z3+(iso_rad,0);
  z5=z4+(pl,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
  draw z4--z5;
  pickup pencircle scaled thickline;
  draw fullcircle scaled (2*iso_rad) shifted z2;
  draw fullcircle scaled (2*iso_rad) shifted z3;
enddef;

def isource_var =
  isource;
  noarrowTF;
  pickup pencircle scaled thinline;
  arrow(.5[z2,z3],iso_ara,iso_arb,iso_phi,arr_lt,arr_phi)();
enddef;

def value = % "uberarbeiten
  z0=(0,0);
  z1=z0+(val_lt,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
  z2=val_lft[z0,z1];
  z3=val_rht[z0,z1];
  triangle(z2,abs(z3-z2),val_phi,0);
enddef;

def coil =  %"uberarbeiten
  numeric pl;
  pl:=.5(coi_lt-2coi_num*coi_rad);
  z0=(0,0);
  z1=z0+(pl,0);
  z2=z1+(coi_rad,0);
  for m=1 upto coi_num-1: z[m+2]=z[m+1]+(2coi_rad,0); endfor;
  z[2+coi_num]=z[1+coi_num]+(coi_rad,0);
  z[3+coi_num]=z[2+coi_num]+(pl,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
  draw z[2+coi_num]--z[3+coi_num];
  pickup pencircle scaled normalline;
  for m=1 upto coi_num: draw halfcircle scaled 2coi_rad shifted z[m+1]; endfor;
enddef;

def crystal =  %"uberarbeiten
  pickup pensquare scaled normalline;
  numeric pl;
  pl:=.5(cry_lt-2cry_spc-cry_wd);
  z0=(0,0); z1=z0+(pl,0);
  z2=z1+(cry_spc,0);
  z3=z2+(cry_wd,0);
  z4=z3+(cry_spc,0);
  z5=z4+(pl,0);
  z6-z7=z8-z9=z10-z11=z12-z13=(0,cry_ht);
  z2=.5[z6,z7]; z3=.5[z8,z9]; z1=.5[z10,z11]; z4=.5[z12,z13];
  draw z0--z1; draw z4--z5; draw z10--z11; draw z12--z13;
  draw z7--z9--z8--z6--cycle;
enddef;

def inout =  % "uberarbeiten
    z0=(ioc_lt,0);
    pickup pensquare scaled normalline;
    z2=z0+(ioc_lt,0);
    lft(z1)=z0+(.5ioc_dia,0);
    draw z1--z2;
enddef;

def minout =
  z0=(0,0);
  z1=z0+(ioc_lt,0);
  pickup pensquare scaled normalline;
  arrow(z0,0,ioc_lt,180,ioc_arr,ioc_phi)(pickup pencircle scaled normalline);
enddef;

def ground =                     % Masse z0 z11
  z0=(0,0); x1=x0=x2=x3;
  y0-y1=gnd_ht;
  y1-y2=y2-y3=gnd_spc;
  y4=y1=y10; y2=y6; y3=y8;
  z1=.5[z4,z5];     x5-x4=gnd_wd;
  z1=.5[z10,z11]; x11-x10=GND_wd;
  z2=.5[z6,z7]; x7-x6=gnd_wd*gnd_q;
  z3=.5[z8,z9]; x9-x8=gnd_wd*gnd_q*gnd_q*gnd_q;
enddef;

"Spule";
fourchars(0)(coil)(z[3+coi_num])(coi_ht#,coi_lt#,0);

"Quarz";
twochars(4)(crystal)(.5cry_ht#,cry_lt#,.5cry_ht#);

"Lampe";
twochars(6)(lamp)(cir_ht#,cir_lt#,cir_ht#);

"Kreise mit Anschl"&ditto&"ussen";
twochars(8)(circle)(cir_ht#,cir_lt#,cir_ht#);

"Kreise mit Anschl"&ditto&"ussen variabel";
twochars(10)(circle_var)(cir_ht#,cir_lt#,cir_ht#);

"Stromquelle";
twochars(12)(isource)(iso_ht#,iso_lt#,iso_ht#);

"Stromquelle variabel";
twochars(14)(isource_var)(iso_ht#,iso_lt#,iso_ht#);

"Spannungsquelle";
fourchars(16)(usource)(z3)(uso_ht#,uso_lt#,uso_ht#);

"Spannungsquelle variabel";
fourchars(20)(usource_var)(z3)(uso_ht#,uso_lt#,uso_ht#);

"Schalter";
twochars(24)(switch)(swt_ht#,swt_lt#,0);

"Umschalter";
eightchars(32)(dswitch)(dsw_wd#,.5dsw_ht#,.5dsw_ht#,0);

"Stromquelle variante";
twochars(44)(circle;
             pickup pencircle scaled normalline;
             draw z1--z3;)(cir_ht#,cir_lt#,cir_ht#);

"Spannungsquelle variante";
twochars(46)(circle;
             pickup pencircle scaled normalline;
             draw (z1--z3) rotatedaround (z2,90);)(cir_ht#,cir_lt#,cir_ht#);

"Gas-Lamp";
fourchars(40)(gaslamp)(z0)(1.5lLE#,4lLE#,1.5lLE#);

"Stromquelle variante";
twochars(44)(circle;
             pickup pencircle scaled normalline;
             draw z1--z3;)(cir_ht#,cir_lt#,cir_ht#);

"Spannungsquelle variante";
twochars(46)(circle;
             pickup pencircle scaled normalline;
             draw (z1--z3) rotatedaround (z2,90);)(cir_ht#,cir_lt#,cir_ht#);

"Anschl"&ditto&"usse Pfeil";
fourchars(232)
         (minout;)(z1)(.5ioc_ht#,2ioc_lt#,.5ioc_ht#);

"Anschl"&ditto&"usse leer";
fourchars(240)
         (inout;
          pickup pencircle scaled thinline;
          draw fullcircle scaled ioc_dia shifted z0;
         )(z2)(.5ioc_ht#,2ioc_lt#,.5ioc_ht#);

"Anschl"&ditto&"usse voll";
fourchars(244)
         (inout;
          pickup pencircle scaled ioc_dia;
          draw z0;
         )(z2)(.5ioc_ht#,2ioc_lt#,.5ioc_ht#);

"Str"&ditto&"ome";
fourchars(248)(value;)(z1)(val_ht#,val_lt#,val_ht#);

"wwire half R";
beginchar(112,.5lLE#,0pt,0pt);
  z0=(0,0);
  y4-y3=y2-y1=ww_spc;
  x3-x1=.5lLE;
  x0=x1=x2;
  x3=x4;
  y0=.5[y1,y2]=.5[y3,y4];
  pickup pensquare scaled normalline;
  draw z1--z3;
  draw z2--z4;
endchar;

"wwire R";
beginchar(113,1lLE#,0pt,0pt);
  z0=(0,0);
  y4-y3=y2-y1=ww_spc;
  x3-x1=1lLE;
  x0=x1=x2;
  x3=x4;
  y0=.5[y1,y2]=.5[y3,y4];
  pickup pensquare scaled normalline;
  draw z1--z3;
  draw z2--z4;
endchar;

"wwire half L";
beginchar(114,.5lLE#,0pt,0pt);
  z0=(0,0);
  y4-y3=y2-y1=ww_spc;
  x3-x1=.5lLE;
  x0=x3=x4;
  x1=x2;
  y0=.5[y1,y2]=.5[y3,y4];
  pickup pensquare scaled normalline;
  draw z1--z3;
  draw z2--z4;
endchar;

"wwire half U";
beginchar(115,0pt,.5lLE#,0pt);
  z0=(0,0);
  x4-x3=x2-x1=ww_spc;
  y3-y1=.5lLE;
  y0=y1=y2;
  y3=y4;
  x0=.5[x1,x2]=.5[x3,x4];
  pickup pensquare scaled normalline;
  draw z1--z3;
  draw z2--z4;
endchar;

"wwire U";
beginchar(116,0pt,1lLE#,0pt);
  z0=(0,0);
  x4-x3=x2-x1=ww_spc;
  y3-y1=1lLE;
  y0=y1=y2;
  y3=y4;
  x0=.5[x1,x2]=.5[x3,x4];
  pickup pensquare scaled normalline;
  draw z1--z3;
  draw z2--z4;
endchar;

"wwire half D";
beginchar(117,0pt,0pt,.5lLE#);
  z0=(0,0);
  x4-x3=x2-x1=ww_spc;
  y3-y1=.5lLE;
  y0=y3=y4;
  y1=y2;
  x0=.5[x1,x2]=.5[x3,x4];
  pickup pensquare scaled normalline;
  draw z1--z3;
  draw z2--z4;
endchar;

"dashed halfline R";
beginchar(120,.5lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0+(.25lLE,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"dashed line R";
beginchar(121,1lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0+(1lLE,0);
  z2=.25[z0,z1];
  z3=.75[z0,z1];
  pickup pensquare scaled normalline;
  draw z2--z3;
endchar;

"dashed halfline L";
beginchar(122,.5lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0-(.25lLE,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"dashed halfline U";
beginchar(123,0pt,.5lLE#,0pt);
  z0=(0,0);
  z1=z0+(0,.25lLE);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"dashed line U";
beginchar(124,0pt,1lLE#,0pt);
  z0=(0,0);
  z1=z0+(0,1lLE);
  z2=.25[z0,z1];
  z3=.75[z0,z1];
  pickup pensquare scaled normalline;
  draw z2--z3;
endchar;

"dashed halfline D";
beginchar(125,0pt,0pt,.5lLE#);
  z0=(0,0);
  z1=z0-(0,.25lLE);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"Linie horizontal halb R";
beginchar(128,.5lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0+(.5lLE,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"Linie horizontal R";
beginchar(129,1lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0+(1lLE,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"Linie horizontal halb L";
beginchar(130,.5lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0-(.5lLE,0);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"Linie vertikal halb U";
beginchar(131,0pt,.5lLE#,0pt);
  z0=(0,0);
  z1=z0+(0,.5lLE);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"Linie vertikal U";
beginchar(132,0pt,1lLE#,0pt);
  z0=(0,0);
  z1=z0+(0,1lLE);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"Linie vertikal halb D";
beginchar(133,0pt,0pt,.5lLE#);
  z0=(0,0);
  z1=z0-(0,.5lLE);
  pickup pensquare scaled normalline;
  draw z0--z1;
endchar;

"B"&ditto&"undel horizontal";
beginchar(134,0,.8bnd_lt#,0pt);
  z0=(0,0);
  z0=.5[z2,z3];
  z3-z2=(bnd_lt,0) rotated bnd_phi;
  pickup pencircle scaled thinline;
  draw z2--z3;
endchar;

"B"&ditto&"undel vertikal";
beginchar(135,.8bnd_lt#,0pt,0pt);
  z0=(0,0);
  z0=.5[z2,z3];
  z3-z2=(bnd_lt,0) rotated (90-bnd_phi);
  pickup pencircle scaled thinline;
  draw z2--z3;
endchar;

"Linie fett horizontal R";
beginchar(136,.5lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0+(.5lLE,0);
  pickup pensquare scaled 2normalline;
  draw z0--z1;
endchar;

"Linie fett horizontal R";
beginchar(137,1lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0+(1lLE,0);
  pickup pensquare scaled 2normalline;
  draw z0--z1;
endchar;

"Linie fett horizontal halb L";
beginchar(138,.5lLE#,0pt,0pt);
  z0=(0,0);
  z1=z0-(.5lLE,0);
  pickup pensquare scaled 2normalline;
  draw z0--z1;
endchar;

"Linie fett vertikal halb U";
beginchar(139,0pt,.5lLE#,0pt);
  z0=(0,0);
  z1=z0+(0,.5lLE);
  pickup pensquare scaled 2normalline;
  draw z0--z1;
endchar;

"Linie fett vertikal U";
beginchar(140,0pt,1lLE#,0pt);
  z0=(0,0);
  z1=z0+(0,1lLE);
  pickup pensquare scaled 2normalline;
  draw z0--z1;
endchar;

"Linie fett vertikal halb D";
beginchar(141,0pt,0pt,.5lLE#);
  z0=(0,0);
  z1=z0-(0,.5lLE);
  pickup pensquare scaled 2normalline;
  draw z0--z1;
endchar;

"Oscillograph";
beginchar(142,osc_dia#,.5osc_dia#,.5osc_dia#);
  z0=(0,0);
  z1=z0;
  z5=.5[z1,z3]=.5[z2,z4];
  x2=x4;
  y1=y3;
  x3-x1=y4-y2=osc_dia;
  .5osc_gt+osc_spc+osc_stm=.5osc_dia;
  osc_stm=osc_t*osc_gt;
  z6=z1+(osc_stm,0);
  z7=z2+(0,osc_stm);
  z8=z3+(-osc_stm,0);
  z9=z4+(0,-osc_stm);
  z6=.5[z10,z11]; x10=x11; x16-x17=y14-y15=x12-x13=y11-y10=osc_gt;
  z7=.5[z12,z13]; y12=y13;
  z8=.5[z14,z15]; x14=x15;
  z9=.5[z16,z17]; y16=y17;
  pickup pensquare scaled normalline; %drawing style by Andreas Tille
  draw z1--z6;                        %code rewritten by SeTa
  draw z2--z7;
  draw z3--z8;
  draw z4--z9;
  pickup pencircle scaled normalline;
  draw fullcircle scaled osc_dia shifted z5;
  pickup pensquare scaled thickline;
  draw z10--z11;
  draw z12--z13;
  draw z14--z15;
  draw z16--z17;
endchar;

"a small grey elephant: Thanks to Andreas Tille.";
LE#:=.03mm#;
define_pixels(LE);
numeric nPnt;
def p(expr px,py) = x[nPnt]:=px*LE; y[nPnt]:=py*LE; nPnt:=nPnt+1 enddef;

beginchar(252,540LE#,265LE#,274LE#);
  pickup pencircle scaled 0.4pt;
  path a, b;
  picture cutpic;
  nPnt:=0;

p(  0,  0);   % copyright by Sebastian Tannert
p(  0, 18);   % Please think of the hard work!
p( -2, 46);p( -3, 92);p(  8,117);p( 28,152);
p( 38,171);p( 71,195);p(107,218);p(138,240);p(159,255);p(181,261);
p(193,264);p(211,268);p(231,263);p(249,264);p(273,259);p(292,255);
p(311,249);p(336,240);p(380,222);p(414,208);p(437,198);p(449,193);
p(461,190);p(473,185);p(490,173);p(506,157);p(519,125);p(526, 91);
p(530, 56);p(530, 35);p(523, 17);p(518,  1);p(509,-22);p(511,-46);
p(515,-71);p(514,-96);p(512,-112);p(511,-135);p(507,-150);p(498,-171);
p(485,-184);p(465,-197);p(448,-200);p(429,-194);p(418,-177);p(414,-168);
p(420,-159);p(427,-157);p(435,-163);p(439,-171);p(449,-164);p(461,-165);
p(470,-152);p(476,-139);p(476,-118);p(475,-97);p(465,-76);p(450,-62);
p(442,-50);p(427,-36);p(417,-29);p(409,-27);p(392,-12);p(383,-10);
p(374,-18);p(370,-34);p(363,-58);p(347,-92);p(343,-106);p(341,-126);
p(330,-162);p(323,-196);p(322,-210);p(317,-237);p(327,-257);p(325,-268);
p(310,-270);p(301,-272);p(284,-266);p(269,-258);p(268,-236);p(270,-210);
p(282,-185);p(300,-151);p(315,-119);p(322,-93);p(325,-79);p(326,-63);
p(315,-75);p(303,-101);p(292,-134);p(281,-164);p(269,-189);p(258,-220);
p(259,-250);p(260,-266);p(252,-269);p(235,-260);p(221,-266);p(203,-261);
p(194,-242);p(201,-227);p(206,-213);p(207,-190);p(215,-162);p(222,-147);
p(225,-123);p(229,-96);p(234,-77);p(234,-65);p(236,-47);p(236,-30);
p(236,-12);p(240,6);p(248,19);p(264,37);p(146,41);p(158,24);
p(176,-3);p(188,-29);p(193,-53);p(185,-80);p(175,-106);p(165,-137);
p(152,-173);p(143,-202);p(142,-222);p(136,-232);p(141,-253);p(132,-255);
p(125,-255);p(105,-240);p(91,-239);p(75,-228);p(68,-205);p(70,-178);
p(85,-156);p(96,-127);p(100,-112);p(95,-88);p(79,-62);p(60,-38);
p(48,-16);p(36,18);p(28,63);p(24,41);p(28,17);p(29,-6);p(31,-32);
p(26,-43);p(17,-65);p(15,-83);p(12,-106);p(7,-126);p(0,-141);
p(-9,-147);p(-16,-131);p(-24,-110);p(-22,-94);p(-17,-75);p(-6,-55);
p(-2,-34);p(2,-19);p(190,-63);p(209,-75);p(234,-69);p(31,-32);
p(31,-44);p(26,-67);p(37,-95);p(45,-117);p(43,-158);p(38,-193);
p(25,-224);p(29,-249);p(52,-266);p(71,-264);p(88,-266);p(113,-273);
p(133,-273);p(138,-268);p(132,-255);p(457,48);p(462,30);p(481,21);
p(477,40);p(449,32);p(456,11);p(478,5);p(464,60);p(486,61);
p(499,37);p(363,93);p(352,110);p(348,129);p(358,149);p(386,162);
p(414,173);p(427,178);p(443,167);p(456,157);p(461,142);p(450,126);
p(436,110);p(419,74);p(409,53);p(396,40);p(372,51);p(365,67);
p(358,148);p(375,139);p(387,124);p(401,128);p(411,146);p(418,163);
p(427,168);p(443,167);p(444,161);p(434,152);p(432,135);p(440,124);
p(451,128);p(460,141);p(455,157);p(350,138);p(459,138);p(-30,276);
p(539,-283);p(539,276);p(-30,-283);p(427,-41);p(436,-54);

draw for i:=0 upto 109: z[i]..endfor
z110{up}..z167{curl.7}..z166..z165{curl.7}..z123{down}..
for i:=124 upto 144: z[i]..endfor z145---z146..z147{down}..
for i:=148 upto 164: z[i]..endfor z0;

draw for i:=110 upto 116: z[i].. endfor z117;
draw for i:=118   upto 122: z[i].. endfor z123{down};

draw for i:=168 upto 182: z[i].. endfor z183;

draw for i:=194 upto 210: z[i].. endfor cycle;

draw for i:=211 upto 217: z[i].. endfor z218;

a:= z226..z197..z198..z199..z200..z201..z202..z203..z227;
b:= z226--z227;
vshade(b,a,4,unitsquare scaled 1.8);

a:= z227..z206..z207..z208..z209..z210..z194..
    z195..z196..z226;
b:= z227--z226;
vshade(b,a,4,unitsquare scaled 1.8);

a:= z228--z230;
b:= z231--z229;
vshade(a,b,4,unitsquare);

cutpic=nullpicture;

addto cutpic contour(z228+(0,10)--z230+(10,10)--z229--z231--cycle);

pickup pencircle scaled 0.7pt

addto cutpic contour (for i:=0 upto 109: z[i].. endfor
     z110{up}..z167{curl.7}..z166..z165{curl.7}..z123{down}..
     for i:=124 upto 144: z[i].. endfor z145---z146..z147{down}..
     for i:=148 upto 164: z[i].. endfor cycle) withweight -1;

addto cutpic doublepath
     (for i:=0   upto 109: z[i].. endfor
     z110{up}..z167{curl.7}..z166..z165{curl.7}..z123{down}..
     for i:=124 upto 144: z[i].. endfor z145---z146..z147{down}..
     for i:=148 upto 164: z[i].. endfor z0) withpen currentpen
     withweight -1;

addto cutpic doublepath z232..z233 withpen currentpen withweight -1;

addto cutpic contour (for i:=168 upto 182: z[i].. endfor z183..z146..cycle)
  withpen currentpen withweight -1;

cull cutpic keeping (1,infinity) withweight -3;

addto currentpicture also cutpic;

pickup pencircle scaled .7pt;
draw z184..z185{z186-z184}..z186;
draw z186..z187{z184-z186}..z184;

draw z188..z189..z190;
draw z191..z192..z193;
draw z232..z233;

endchar;

"Masse";
beginchar(253,.5gnd_wd#,0,gnd_ht#+gnd_spc#+gnd_spc#);
  ground
  pickup pensquare scaled normalline;
  draw z0--z1;
  draw z4--z5;
  draw z6--z7;
  draw z8--z9;
endchar;

"MASSE";
beginchar(254,.5GND_wd#,0,gnd_ht#);
  ground
  pickup pensquare scaled normalline;
  draw z0--z1;
  pickup pensquare scaled verythickline;
  draw z10--z11;
endchar;

"Verbindungspunkt";
beginchar(255,cdt_lt#,.5cdt_ht#,.5cdt_ht#);
    pickup pencircle scaled cdt_dia;
    z0=(0,0);
    drawdot z0;
endchar;

end;
%% 
%%
%% End of file `cirest.mf'.
