4 # Der der Autor ist kein geringerer wie <smilebef@web.de> der Smilie
5 # Also Fragen zu Hpgl oder Plotter,
6 # möglicherweise kann ich ja helfen
8 # Also ganz einfach die Layer.Dateien mit diesen Program erzeugen
9 # mit "Program pcb-Datei"
10 # das ganze in einem Verzeichnis wo ihr auch schreibrechte habt
11 # und dann ganz einfach den gewünchten Layer auf den Plotter kopieren
12 # zBsp. so "cat Layer.1.jenachdem.hpgl > /dev/lp0
13 # den Stift müßt ihr dem Plotter in die Hand geben
14 # und den Stiftrevolver entnehmen daß es eine Kollision giebt.
19 else{print "use ".$0." [pcb-file] to convert to hpgl\n";
26 if(/Layer.(\d)\s.(\w+)../)
28 $da="Layer.$1.$2.hpgl";
39 open(DATE
,">>Layer.Via.hpgl");
40 if(/Via.(\S+)\s(\S+)\s(\S+)\s(\S+)/)
42 print(DATE
"PA".($1).",".($2).";CI".($4).";");
49 open(DATE
,">>Layer.Pin.hpgl");
50 if(/\tPin.(\S+)\s(\S+)\s(\S+)\s(\S+)/)
52 print(DATE
"PA".($1).",".($2).";CI".($4).";");
63 open(DATE
,">>Layer.Text.hpgl");
64 if(/\tText.(\S+)\s(\S+)\s(\S+)\s(\S+)\s"(\S+)"/)
66 if($3==0){$di=";DI0,1;";};
67 if($3==1){$di=";DI1,0;";};
68 print(DATE
"PA".$1.",".$2.$di."SI".($4/450).",".($4/675).";LB".$5."\e;");
79 if(/\tLine.(\S+)\s(\S+)\s(\S+)\s(\S+)/)
81 print (DATEI
"PU".($1).",".($2).";PD".($3).",".($4).";PU;");
90 if(/\tArc.(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)/)
92 if($6==90){$sin=1;$cos=0;}
93 if($6==-90){$sin=-1;$cos=0;}
94 if($6==0){$sin=0;$cos=1;}
95 if($6==180){$sin=0;$cos=-1;}
96 if($6==-180){$sin=0;$cos=-1;}
97 if($6==270){$sin=-1;$cos=0;}
98 if($6==-270){$sin=1;$cos=0;}
99 print (DATEI
"PA".($1-($3*$cos)).",".($2+($3*$sin)).";PD;AA".($1).",".($2).",".($7*(-1)).";PU;");
108 if(/\t\t.(\S+)\s(\S+).\s.(\S+)\s(\S+).\s.(\S+)\s(\S+).\s.(\S+)\s(\S)./)
110 print (DATEI
"PA".$1.",".$2.";RA".$5.",".$6.";");
114 # ist noch nicht eingebunden.
129 open(DATE
,">Layer.Via.hpgl");
131 open(DATE
,">Layer.Text.hpgl");
134 open(DATE
,">Layer.Pin.hpgl");
139 if(/Layer/){&abschnitt
;}
142 if(/\tLine/){ &linie
;}
143 if(/\t\t/){&polygon
;}
144 if(/\tText\(/){&text
;}