home *** CD-ROM | disk | FTP | other *** search
- %% znacky.mf
- %% posledni uprava 19. 12. 1997
-
- newinternal scalingfactor; %% promenna urcujici velikost zvetseni
- scalingfactor:=1;
-
- transform now;
-
- def uloz(expr bod,uhel) text tr= %% makro pro nastaveni transformaci
- now:=currenttransform;
- currenttransform:=identity tr scaled scalingfactor rotated uhel
- shifted bod;
- begingroup
- enddef;
-
- def vloz(expr bod) text tr= %% makro pro nastaveni transformaci
- now:=currenttransform;
- currenttransform:=identity tr scaled scalingfactor shifted bod;
- begingroup
- enddef;
-
- def obnov= %% pomocna procedura pro obnoveni transformaci
- endgroup;
- currenttransform:=now;
- enddef;
-
- def civka(expr p) text params=
- uloz params;
- save i;
- erase draw (0,0)--(p*5mm,0);
- for i=1 upto p:
- draw halfcircle scaled 5mm shifted (i*5mm-2.5mm,0);
- endfor;
- obnov;
- enddef;
-
- def dioda text params=
- uloz params;
- draw (origin--dir150--dir-150--origin--(0,ypart(dir150))
- --(0,ypart(dir-150))) scaled 4mm;
- obnov;
- enddef;
-
- def zdioda text params=
- dioda params;
- uloz params;
- draw (0,2.05mm)--(-1.3mm,2.05mm);
- obnov;
- enddef;
-
- def kond text params=
- uloz params;
- erase fill unitsquare xscaled 1.2mm yscaled 7mm shifted (-0.6mm,-3.5mm);
- draw (-0.6mm,-4mm)--(-0.6mm,4mm); draw (0.6mm,-4mm)--(0.6mm,4mm);
- obnov;
- enddef;
-
- def lkond text params=
- kond params;
- uloz params;
- draw (-4mm,-4mm)--(4mm,4mm);
- draw (-4mm,-4mm)+1.5mm*dir25--(-4mm,-4mm)--(-4mm,-4mm)+1.5mm*dir65;
- obnov;
- enddef;
-
- def rez text params=
- uloz params;
- erase fill unitsquare xscaled 10mm yscaled 3mm shifted (-5mm,-1.5mm);
- draw unitsquare xscaled 10mm yscaled 3mm shifted (-5mm,-1.5mm);
- obnov;
- enddef;
-
- def pot text params=
- rez params;
- uloz params;
- draw (-5mm,-5mm)--(5mm,5mm);
- draw (-5mm,-5mm)+1.8mm*dir25--(-5mm,-5mm)--(-5mm,-5mm)+1.8mm*dir65;
- obnov;
- enddef;
-
- def trimr text params=
- rez params;
- uloz params;
- draw (-4mm,-4mm)--(5mm,5mm); draw (-4.7mm,-3.3mm)--(-3.3mm,-4.7mm);
- obnov;
- enddef;
-
- def zdroj text params=
- uloz params;
- erase fill (-0.6mm,-2.5mm)--(-0.6mm,2.5mm)--(0.6mm,5mm)
- --(0.6mm,-5mm)--cycle;
- draw (-0.6mm,-2.5mm)--(-0.6mm,2.5mm); draw (0.6mm,-5mm)--(0.6mm,5mm);
- obnov;
- enddef;
-
- def tranzist=
- save x,y,R;
- z1=(-6mm,0); z2=(0,3.5mm); z3=(0,-3.5mm);
- z12=1/2[z1,z2];
- z0-z12=whatever*((z1-z2) rotated 90); y0=0;
- R=length(z1-z0);
- erase fill fullcircle scaled 2R shifted z0;
- draw fullcircle scaled 2R shifted z0;
- z4=(-3.5mm,0); z5=(-3.5mm,-2.6mm); z6=(-3.5mm,2.6mm);
- z7=(-3.5mm,-1.2mm); z8=(-3.5mm,1.2mm);
- draw z1--z4; draw z5--z6; draw z7--z3; draw z8--z2;
- enddef;
-
- def npn text params=
- uloz params;
- save x,y;
- tranzist;
- z3=(0,-3.5mm); z7=(-3.5mm,-1.2mm);
- draw z3+1.8mm*dir(angle(z7-z3)+20)--z3--z3+1.8mm*dir(angle(z7-z3)-20);
- obnov;
- enddef;
-
- def pnp text params=
- uloz params;
- save x,y;
- tranzist;
- z3=(0,-3.5mm); z7=(-3.5mm,-1.2mm);
- draw z7+1.8mm*dir(angle(z3-z7)+20)--z7--z7+1.8mm*dir(angle(z3-z7)-20);
- obnov;
- enddef;
-
- def plus text params=
- vloz params;
- draw (right--left) scaled .7mm; draw (up--down) scaled .7mm;
- obnov;
- enddef;
-
- def minus text params=
- vloz params; draw (right--left) scaled .7mm; obnov;
- enddef;
-
- def oz text params=
- uloz params;
- save x,y;
- z1=(12mm,0); z2=(0,7mm); z3=(0,-7mm); z4=(1.7mm,4mm);
- z5=(1.7mm,-4mm);
- erase fill z1--z2--z3--cycle; draw z1--z2--z3--cycle;
- draw (right--left) scaled .7mm shifted z4;
- draw (right--left) scaled .7mm shifted z5;
- draw (up--down) scaled .7mm shifted z5;
- obnov;
- enddef;
-
- def zarovka text params=
- vloz params;
- erase fill fullcircle scaled 6mm; draw fullcircle scaled 6mm;
- draw (dir45--dir-135) scaled 3mm; draw (dir-45--dir135) scaled 3mm;
- obnov;
- enddef;
-
- def meridlo text params=
- vloz params;
- erase fill fullcircle scaled 7mm; draw fullcircle scaled 7mm;
- obnov;
- enddef;
-
- def zdirka text params=
- uloz params;
- erase fill (halfcircle--cycle) rotated 90 shifted (.5,0) scaled 2.5mm;
- draw halfcircle rotated 90 shifted (.5,0) scaled 2.5mm;
- obnov;
- enddef;
-
- def rep text params=
- uloz params;
- erase fill (2mm,-2.5mm)--(5mm,-5mm)--(5mm,5mm)--(2mm,2.5mm)--
- (-2mm,2.5mm)--(-2mm,-2.5mm)--cycle;
- draw unitsquare xscaled 4mm yscaled 5mm shifted (-2mm,-2.5mm);
- draw (2mm,-2.5mm)--(5mm,-5mm)--(5mm,5mm)--(2mm,2.5mm)--cycle;
- obnov;
- enddef;
-
- def vlna=
- draw (left{dir45}..origin..{dir45}right)
- enddef;
-
- def vlnka text params=
- vloz params; vlna scaled 1.3mm; obnov;
- enddef;
-
- def tongen text params=
- vloz params;
- erase fill unitsquare scaled 10mm shifted (-5mm,-5mm);
- draw unitsquare scaled 10mm shifted (-5mm,-5mm);
- vlna scaled 3mm shifted (0,1mm); vlna scaled 3mm shifted (0,-1mm);
- draw (-2mm,-3mm)--(2mm,3mm);
- draw (2mm,3mm)+mm*dir(angle(-2,-3)+20)--(2mm,3mm)
- --(2mm,3mm)+mm*dir(angle(-2,-3)-20);
- obnov;
- enddef;
-
- def oscil text params=
- vloz params;
- erase fill unitsquare xscaled 10mm yscaled 15mm shifted (-5mm,-5mm);
- draw unitsquare xscaled 10mm yscaled 15mm shifted (-5mm,-5mm);
- draw fullcircle scaled 4mm shifted (0,6.25mm);
- draw fullcircle scaled mm shifted (-3mm,0);
- draw fullcircle scaled mm shifted (3mm,0);
- draw (3mm,-4mm)--(3mm,-2mm); draw (2mm,-4mm)--(4mm,-4mm);
- erase fill fullcircle scaled mm shifted (3mm,-2mm);
- draw fullcircle scaled mm shifted (3mm,-2mm);
- obnov;
- enddef;
-
- def spoj text params=
- vloz params; filldraw fullcircle scaled .8mm; obnov;
- enddef;
-
- def oval text params=
- uloz params;
- save p;
- path p;
- p=halfcircle scaled 10mm rotated 270 shifted (4mm,0)--
- halfcircle scaled 10mm rotated 90 shifted (-4mm,0)--cycle;
- erase fill p;
- draw p;
- obnov;
- enddef;
-