home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 33
/
64er_Magazin_Sonderheft_33_19xx_Markt__Technik_de_Side_A.d64
/
objekt-konverter
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
406 lines
1000 ifa=0thenprint"[147] bitte gigadisk einlegen":poke198,0:wait198,1
1010 ifa=0thenpoke55,0:poke56,80:clr:a=0
1020 ifa=0thena=1:load"hires1.cad.obj",8,1
1030 ifa=1thena=2:load"hires2.cad.obj",8,1
1040 ifa=2thena=3:load"hires3.cad.obj",8,1
1050 ifa=3thena=4:load"hires4.cad.obj",8,1
1060 se=0:clr:close14:open14,8,15
1070 poke53280,11:poke53281,11
1080 sm$="[147]":printsm$
1090 print"[146][213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
1100 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][201][221] ";
1110 print" "chr$(34)"";
1120 poke212,0
1130 print" [221][221] 3d - konvert by ";
1140 print"stefan sablatnog [221][221] ";
1150 print" objekte von giga-cad und";
1160 print" ped [221][221] koennen unte";
1170 print"reinander ausgetauscht [221]";
1180 print"[221] werden ";
1190 print" [221][221] ";
1200 print" ";
1210 print" [221][171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
1220 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179][221] gig";
1230 print"a-cad file-name :ob.-----";
1240 print"-------- [221][171][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
1250 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]";
1260 print"[221] ped file-name :---";
1270 print"------------- [221][171][192][192][192][192][192][192][192][192][192]";
1280 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
1290 print"[192][192][192][192][179][221] ";
1300 print" [221][221] >";
1310 print"f1<- giga-cad -> ped ";
1320 print" [221][221] ";
1330 print" [221]";
1340 print"[221] >f3<- ped -> giga-cad";
1350 print" [221][221] ";
1360 print" ";
1370 print" [221][221] >f5<- namen fest";
1380 print"legen [221][221] ";
1390 print" ";
1400 print" [221][221] >f7<- ende ";
1410 print" [221]";
1420 print"[221] ";
1430 print" [221][221] >f8<- ";
1440 print"directory ";
1450 print" [221][221] ";
1460 print" [221][202][192][192][192][192][192]";
1470 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
1480 print"[192][192][192][192][192][192][192][192][203]";
1490 print"[158]";ng$
1500 print"";np$;""
1510 poke198,0:wait198,1
1520 getg$
1530 ifasc(g$+chr$(0))=133thenifse=1then4430
1540 ifasc(g$+chr$(0))=134thenifse=1then1680
1550 ifasc(g$+chr$(0))=135thengoto1580
1560 ifasc(g$+chr$(0))=136thenprint"[147]":close14:end
1565 ifasc(g$+chr$(0))=140thengoto1571
1570 goto1510
1571 print"[147]";
1572 open2,8,0,"$0":sys26134:close2
1573 poke198,0:wait198,1:poke198,0
1574 goto1080
1580 input"[147]giga-cad-file : ";ng$
1590 input"ped file : ";np$
1600 ifleft$(ng$,3)<>"ob."thenng$="ob."+ng$
1610 se=1
1620 goto1080
1630 rem *****************************
1640 rem * *
1650 rem * ped -> giga-cad *
1660 rem * *
1670 rem *****************************
1680 sys25919
1690 sys37021
1700 open1,8,2,np$+",s,r"
1710 gosub4790
1720 ifer<>0then1700
1730 input#1,k:input#1,e
1740 dimx(e+1),y(e+1),z(e+1),n%(e+1),f(k+1),t(k+1)
1750 fori=1tok+1
1760 input#1,f(i):input#1,t(i)
1770 next
1780 fori=1toe+1
1790 input#1,x(i):input#1,y(i):input#1,z(i):input#1,n%(i)
1800 next
1810 close1
1820 gosub4790
1830 ifer<>0then1810
1840 dimf%(1500)
1850 printsm$
1860 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
1870 print" [221] [221]"
1880 print" [221] flaechen menue [221]"
1890 print" [221] [221]"
1900 print" [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]"
1910 print" [221] -1- flaechenfile laden [221]"
1920 print" [221] [221]"
1930 print" [221] -2- flaechenfile speichern [221]"
1940 print" [221] [221]"
1950 print" [221] -3- giga-cadfile speichern [221]"
1960 print" [221] [221]"
1970 print" [221] -4- flaechen [158]neu[146] eingebe [221]"
1980 print" [221] [221]"
1990 print" [221] -5- flaechen[160]editieren [221]"
2000 print" [221] [221]"
2010 print" [221] -6- flaechen listen bildschirm [221]"
2020 print" [221] [221]"
2030 print" [221] -7- flaechen listen drucker [221]"
2040 print" [221] [221]"
2050 print" [221] -0- zurueck (mit datenverlust) [221]"
2060 print" [221] [221]"
2070 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
2080 poke198,0:wait198,1:getg$
2090 onval(g$)goto3020,2890,2450,2150,3430,3310,3200
2100 ifg$="0"then1060
2110 goto2080
2120 rem *****************************
2130 rem ***** flaechen eingeben *****
2140 rem *****************************
2150 pj=1:f%(0)=-4
2160 printsm$
2170 print"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]";
2180 print"[221] bitte geben sie die punktnummern ein [221]";
2190 print"[221]die die gewuenschte flaeche definieren[221]";
2200 print"[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]";
2210 print"[221] ende der flaeche mit fe, ende der [221]";
2220 print"[221] letzten flaeche mit e [221]";
2230 print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]";
2240 forlf=1to17:print:next
2250 print"";
2260 inputi$
2270 ifi$="e"thenf%(pj)=-2:goto1850
2280 ifi$="fe"thengoto2400
2290 ep%=val(i$)
2300 fori=1toe+1
2310 ifn%(i)=ep%theni=e+1:next:goto2370
2320 next
2340 gosub5120
2360 goto2260
2370 f%(pj)=ep%
2380 pj=pj+1
2390 goto2260
2400 f%(pj)=-4:pj=pj+1
2410 goto2160
2420 rem *****************************
2430 rem ******gigafile speichern*****
2440 rem *****************************
2450 printsm$
2470 gosub5020
2500 fori=1topj
2510 ifsgn(f%(i))=-1then2640
2520 forj=1toe+1
2530 ifn%(j)=f%(i)thenf%(i)=j:j=e+1:next:goto2640
2540 next
2550 printsm$
2560 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
2570 print" [221] fehler in der flaechentabelle [221]"
2580 print" [221] wahrscheinlich haben sie ein [221]"
2590 print" [221] falsches flaechenfile geladen [221]"
2595 print" [221] >>taste<< [221]"
2600 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
2610 forlf=1to10:print:next
2620 poke198,0:wait198,1:poke198,0
2630 goto1850
2640 next
2650 fs=1:pn=1:nf=1
2660 fori=1topj
2670 iff%(i)=-4andf3=0thensys40206,fs,nf,1,0:fs=pn:nf=nf+1:f3=1:goto2720
2680 iff%(i)=-2then2730
2690 iff%(i)=-3orf%(i)=-4then2720
2700 sys39718,x(f%(i)),y(f%(i)),-z(f%(i)),pn
2710 pn=pn+1:f3=0
2720 next
2730 sys40206,fs,nf,1,0
2740 iff3=1thennf=nf-1:printpn;fs
2750 sys40206,pn,nf+1,0,0
2760 open2,8,2,ng$+",s,w"
2770 um=1:gosub4790
2780 ifer<>0then2760
2790 print#2,nf+1:print#2,pn-1:print#2,1
2800 sys22520,nf+1,pn-1
2810 fori=1to1:print#2,"macro":next
2820 close2
2830 um=1:gosub4790
2840 ifer<>0then2820
2850 goto1060
2860 rem *****************************
2870 rem *****f% speichern*********
2880 rem *****************************
2890 gosub3150
2900 open1,8,2,nf$+",s,w"
2910 um=1:gosub4790:ifer<>0then2900
2920 print#1,pj
2930 fori=1topj
2940 print#1,f%(i)
2950 next
2960 close1
2970 um=1:gosub4790:ifer<>0then2960
2980 goto1850
2990 rem *****************************
3000 rem *****f% laden *********
3010 rem *****************************
3020 gosub3150
3030 open1,8,2,nf$+",s,r"
3040 um=1:gosub4790:ifer<>0then3030
3050 input#1,pj
3060 fori=1topj
3070 input#1,f%(i)
3080 next
3090 close1
3100 um=1:gosub4790:ifer<>0then3090
3110 goto1850
3120 rem *****************************
3130 rem *****get f%name *********
3140 rem *****************************
3150 input"[147]name des flaechenfiles";nf$
3160 return
3170 rem *****************************
3180 rem ***** f% drucken ************
3190 rem *****************************
3200 open1,4:f=1
3210 fori=1topj
3220 iff%(i)=-4thenprint#1,"--("f")":f=f+1:goto3260
3230 iff%(i)=-2thenprint#1,"--("f")":print#1:goto3260
3240 iff%(i)=-3then3260
3250 print#1,"- ";f%(i);
3260 next
3270 close1:goto1850
3280 rem *****************************
3290 rem ***** f% ausgeben ***********
3300 rem *****************************
3310 f=1:print"[147]";
3320 fori=1topj
3330 iff%(i)=-4thenprint"--("f")":f=f+1:goto3360
3340 iff%(i)=-2orf%(i)=-3then3360
3350 print"- ";f%(i);:geta$:ifa$<>""thenpoke198,0:wait198,1:poke198,0
3360 next
3370 print"--("f")"
3380 poke198,0:wait198,1:poke198,0
3390 goto1850
3400 rem *****************************
3410 rem ***** editmenue ***********
3420 rem *****************************
3430 printsm$
3440 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
3450 print" [221] [221]"
3460 print" [221] edit - menue [221]"
3470 print" [221] [221]"
3480 print" [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]"
3490 print" [221] [221]"
3500 print" [221] -1- flaechen anhaengen [221]"
3510 print" [221] [221]"
3520 print" [221] -2- flaeche aendern [221]"
3530 print" [221] [221]"
3540 print" [221] -3- flaeche loeschen [221]"
3550 print" [221] [221]"
3560 print" [221] -4- zurueck [221]"
3570 print" [221] [221]"
3580 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
3590 forlf=1to5:print:next
3600 poke198,0:wait198,1:getg$
3610 onval(g$)goto3640,3900,4100,1850
3620 goto3600
3630 rem flaeche anh. ****************
3640 f%(pj)=-4:pj=pj+1:printsm$
3650 print"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]";
3660 print"[221] bitte geben sie die punktnummern ein [221]";
3670 print"[221]die die gewuenschte flaeche definieren[221]";
3680 print"[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]";
3690 print"[221] ende der flaeche mit fe, ende der [221]";
3700 print"[221] letzten flaeche mit e [221]";
3710 print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]";
3720 forlf=1to17:print:next
3730 print"";
3740 rem pj bleibt alt
3750 inputi$
3760 ifi$="e"thenf%(pj)=-2:goto3430
3770 ifi$="fe"thengoto3640
3780 ep%=val(i$)
3790 fori=1toe+1
3800 ifn%(i)=ep%theni=e+1:next:goto3860
3810 next
3820 gosub5120
3850 goto3750
3860 f%(pj)=ep%
3870 pj=pj+1
3880 goto3750
3890 rem flaeche aend. ***************
3900 input"[147]nummer der zu aendernden flaeche ";nu
3910 f=1:i=1
3920 iff%(i)=-4orf%(i)=-2then4010
3930 i=i+1
3940 ifi=<pjthen3920
3950 gosub5070
4010 iff=nuthen4040
4020 f=f+1
4030 goto3930
4040 i=i-1
4050 iff%(i)=-4then3430
4060 print"[147]old point";f%(i)
4070 input"new point";f%(i)
4080 print:print:goto4040
4090 rem flaeche losc. ***************
4100 input"[147]nummer der zu loeschenden flaeche ";nu
4110 printsm$
4120 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
4130 print" [221] flaeche nummer [221]"
4140 print" [221].................[221]"
4150 print" [221] loeschen ?? [221]"
4160 print" [221] >>j/n<< [221]"
4170 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
4180 print"[145][145][145][145][158]"nu""
4190 forlf=1to10:print:next:poke198,0:wait198,1:getg$:ifg$="n"then3410
4200 ifg$<>"j"then4110
4210 f=1:i=1
4220 iff%(i)=-4orf%(i)=-2then4310
4230 i=i+1
4240 ifi=<pjthen4220
4250 gosub5070
4310 iff=nuthen4340
4320 f=f+1
4330 goto4230
4340 i=i-1
4350 iff%(i)=-4then3430
4360 f%(i)=-3
4370 goto4340
4380 rem *****************************
4390 rem * *
4400 rem * giga-cad -> ped *
4410 rem * *
4420 rem *****************************
4430 gosub5020
4480 sys37021
4490 open2,8,2,ng$+",s,r"
4500 gosub4790:ifer<>0then4490
4510 input#2,v:input#2,d:input#2,k
4520 sys22541,v,d
4530 fori=1tok:input#2,b$(i):next
4540 close2
4550 gosub4790:ifer<>0then4540
4560 sys40206,d+1,v,0,0
4570 open1,8,2,np$+",s,w"
4580 gosub4790:ifer<>0then4570
4590 print#1,d-1:print#1,d-1
4600 fori=1tov-1
4610 sys40344,i
4620 fb=usr(1):y=usr(2):z=usr(3)
4630 sys40344,i+1
4640 fe=usr(1):y=usr(2):z=usr(3)
4650 forj=fbtofe-1
4660 ifj=fe-1thenprint#1,fb:print#1,j:goto4680
4670 print#1,j:print#1,j+1
4680 next
4690 next
4700 fori=1tod
4710 sys40052,i
4720 x=usr(1):y=usr(2):z=usr(3)
4730 print#1,x:print#1,y:print#1,-z:print#1,i
4740 next
4750 close1
4760 gosub4790:ifer<>0then4750
4770 goto1060
4780 rem floppyfehlerkanal
4790 input#14,er,er$,tr,se
4800 :
4810 ifer=0thenreturn
4820 close1:close2
4830 printsm$
4840 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
4850 print" [221] bitte beheben [221]"
4860 print" [221] sie das [221]"
4870 print" [221] floppy - problem [221]"
4880 print" [221] [221]"
4890 print" [221] taste - nochmal [221]"
4900 print" [221] f1 - abbruch [221]"
4910 print" [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]"
4920 print" [221] [221]"
4930 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
4940 forlf=1to10:print:nextlf
4950 iflen(er$)<17thener$=" "+er$+" ":goto4950
4960 iflen(er$)=17thener$=er$+" "
4970 print"[158]";er$;"[146]"
4980 poke198,0:wait198,1:getg$:ifasc(g$+chr$(0))=133then5000
4990 return
5000 ifum=1thenum=0:goto1850
5010 goto1060
5020 printsm$
5030 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
5040 print" [221] bitte warten [221]"
5050 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
5060 forlf=1to10:print:nextlf
5065 return
5070 printsm$
5080 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
5085 print" [221] diese flaeche existiert nicht [221]"
5086 print" [221] >>taste<< [221]"
5088 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
5100 forlf=1to10:print:next
5105 poke198,0:wait198,1:poke198,0
5110 return
5120 print" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
5130 print" [221] der punkt existiert nicht [221]"
5140 print" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
5150 return