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 >
Commodore BASIC  |  2022-10-26  |  11KB  |  406 lines

  1. 1000 ifa=0thenprint"[147] bitte gigadisk einlegen":poke198,0:wait198,1
  2. 1010 ifa=0thenpoke55,0:poke56,80:clr:a=0
  3. 1020 ifa=0thena=1:load"hires1.cad.obj",8,1
  4. 1030 ifa=1thena=2:load"hires2.cad.obj",8,1
  5. 1040 ifa=2thena=3:load"hires3.cad.obj",8,1
  6. 1050 ifa=3thena=4:load"hires4.cad.obj",8,1
  7. 1060 se=0:clr:close14:open14,8,15
  8. 1070 poke53280,11:poke53281,11
  9. 1080 sm$="[147]":printsm$
  10. 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]";
  11. 1100 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][201][221]         ";
  12. 1110 print"                        "chr$(34)"";
  13. 1120 poke212,0
  14. 1130 print"    [221][221]   3d - konvert by ";
  15. 1140 print"stefan sablatnog   [221][221]    ";
  16. 1150 print" objekte von giga-cad und";
  17. 1160 print" ped     [221][221]  koennen unte";
  18. 1170 print"reinander ausgetauscht  [221]";
  19. 1180 print"[221]                werden  ";
  20. 1190 print"              [221][221]         ";
  21. 1200 print"                         ";
  22. 1210 print"    [221][171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
  23. 1220 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179][221] gig";
  24. 1230 print"a-cad file-name :ob.-----";
  25. 1240 print"-------- [221][171][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
  26. 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]";
  27. 1260 print"[221] ped      file-name :---";
  28. 1270 print"------------- [221][171][192][192][192][192][192][192][192][192][192]";
  29. 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]";
  30. 1290 print"[192][192][192][192][179][221]                   ";
  31. 1300 print"                   [221][221]   >";
  32. 1310 print"f1<- giga-cad -> ped     ";
  33. 1320 print"         [221][221]              ";
  34. 1330 print"                        [221]";
  35. 1340 print"[221]   >f3<- ped -> giga-cad";
  36. 1350 print"              [221][221]         ";
  37. 1360 print"                         ";
  38. 1370 print"    [221][221]   >f5<- namen fest";
  39. 1380 print"legen              [221][221]    ";
  40. 1390 print"                         ";
  41. 1400 print"         [221][221]   >f7<- ende ";
  42. 1410 print"                        [221]";
  43. 1420 print"[221]                        ";
  44. 1430 print"              [221][221]   >f8<- ";
  45. 1440 print"directory                ";
  46. 1450 print"    [221][221]                    ";
  47. 1460 print"                  [221][202][192][192][192][192][192]";
  48. 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]";
  49. 1480 print"[192][192][192][192][192][192][192][192][203]";
  50. 1490 print"[158]";ng$
  51. 1500 print"";np$;""
  52. 1510 poke198,0:wait198,1
  53. 1520 getg$
  54. 1530 ifasc(g$+chr$(0))=133thenifse=1then4430
  55. 1540 ifasc(g$+chr$(0))=134thenifse=1then1680
  56. 1550 ifasc(g$+chr$(0))=135thengoto1580
  57. 1560 ifasc(g$+chr$(0))=136thenprint"[147]":close14:end
  58. 1565 ifasc(g$+chr$(0))=140thengoto1571
  59. 1570 goto1510
  60. 1571 print"[147]";
  61. 1572 open2,8,0,"$0":sys26134:close2
  62. 1573 poke198,0:wait198,1:poke198,0
  63. 1574 goto1080
  64. 1580 input"[147]giga-cad-file : ";ng$
  65. 1590 input"ped file      : ";np$
  66. 1600 ifleft$(ng$,3)<>"ob."thenng$="ob."+ng$
  67. 1610 se=1
  68. 1620 goto1080
  69. 1630 rem *****************************
  70. 1640 rem *                           *
  71. 1650 rem *   ped  -> giga-cad        *
  72. 1660 rem *                           *
  73. 1670 rem *****************************
  74. 1680 sys25919
  75. 1690 sys37021
  76. 1700 open1,8,2,np$+",s,r"
  77. 1710 gosub4790
  78. 1720 ifer<>0then1700
  79. 1730 input#1,k:input#1,e
  80. 1740 dimx(e+1),y(e+1),z(e+1),n%(e+1),f(k+1),t(k+1)
  81. 1750 fori=1tok+1
  82. 1760 input#1,f(i):input#1,t(i)
  83. 1770 next
  84. 1780 fori=1toe+1
  85. 1790 input#1,x(i):input#1,y(i):input#1,z(i):input#1,n%(i)
  86. 1800 next
  87. 1810 close1
  88. 1820 gosub4790
  89. 1830 ifer<>0then1810
  90. 1840 dimf%(1500)
  91. 1850 printsm$
  92. 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]"
  93. 1870 print"  [221]                                 [221]"
  94. 1880 print"  [221]         flaechen menue          [221]"
  95. 1890 print"  [221]                                 [221]"
  96. 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]"
  97. 1910 print"  [221] -1-  flaechenfile laden         [221]"
  98. 1920 print"  [221]                                 [221]"
  99. 1930 print"  [221] -2-  flaechenfile speichern     [221]"
  100. 1940 print"  [221]                                 [221]"
  101. 1950 print"  [221] -3-  giga-cadfile speichern     [221]"
  102. 1960 print"  [221]                                 [221]"
  103. 1970 print"  [221] -4-  flaechen [158]neu[146] eingebe       [221]"
  104. 1980 print"  [221]                                 [221]"
  105. 1990 print"  [221] -5-  flaechen[160]editieren         [221]"
  106. 2000 print"  [221]                                 [221]"
  107. 2010 print"  [221] -6-  flaechen listen bildschirm [221]"
  108. 2020 print"  [221]                                 [221]"
  109. 2030 print"  [221] -7-  flaechen listen drucker    [221]"
  110. 2040 print"  [221]                                 [221]"
  111. 2050 print"  [221] -0-  zurueck (mit datenverlust) [221]"
  112. 2060 print"  [221]                                 [221]"
  113. 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]"
  114. 2080 poke198,0:wait198,1:getg$
  115. 2090 onval(g$)goto3020,2890,2450,2150,3430,3310,3200
  116. 2100 ifg$="0"then1060
  117. 2110 goto2080
  118. 2120 rem *****************************
  119. 2130 rem ***** flaechen eingeben *****
  120. 2140 rem *****************************
  121. 2150 pj=1:f%(0)=-4
  122. 2160 printsm$
  123. 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]";
  124. 2180 print"[221] bitte geben sie die punktnummern ein [221]";
  125. 2190 print"[221]die die gewuenschte flaeche definieren[221]";
  126. 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]";
  127. 2210 print"[221]  ende der flaeche mit fe, ende der   [221]";
  128. 2220 print"[221]        letzten flaeche mit e         [221]";
  129. 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]";
  130. 2240 forlf=1to17:print:next
  131. 2250 print"";
  132. 2260 inputi$
  133. 2270 ifi$="e"thenf%(pj)=-2:goto1850
  134. 2280 ifi$="fe"thengoto2400
  135. 2290 ep%=val(i$)
  136. 2300 fori=1toe+1
  137. 2310 ifn%(i)=ep%theni=e+1:next:goto2370
  138. 2320 next
  139. 2340 gosub5120
  140. 2360 goto2260
  141. 2370 f%(pj)=ep%
  142. 2380 pj=pj+1
  143. 2390 goto2260
  144. 2400 f%(pj)=-4:pj=pj+1
  145. 2410 goto2160
  146. 2420 rem *****************************
  147. 2430 rem ******gigafile speichern*****
  148. 2440 rem *****************************
  149. 2450 printsm$
  150. 2470 gosub5020
  151. 2500 fori=1topj
  152. 2510 ifsgn(f%(i))=-1then2640
  153. 2520 forj=1toe+1
  154. 2530 ifn%(j)=f%(i)thenf%(i)=j:j=e+1:next:goto2640
  155. 2540 next
  156. 2550 printsm$
  157. 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]"
  158. 2570 print"   [221] fehler in der flaechentabelle [221]"
  159. 2580 print"   [221] wahrscheinlich haben sie ein  [221]"
  160. 2590 print"   [221] falsches flaechenfile geladen [221]"
  161. 2595 print"   [221]           >>taste<<           [221]"
  162. 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]"
  163. 2610 forlf=1to10:print:next
  164. 2620 poke198,0:wait198,1:poke198,0
  165. 2630 goto1850
  166. 2640 next
  167. 2650 fs=1:pn=1:nf=1
  168. 2660 fori=1topj
  169. 2670 iff%(i)=-4andf3=0thensys40206,fs,nf,1,0:fs=pn:nf=nf+1:f3=1:goto2720
  170. 2680 iff%(i)=-2then2730
  171. 2690 iff%(i)=-3orf%(i)=-4then2720
  172. 2700 sys39718,x(f%(i)),y(f%(i)),-z(f%(i)),pn
  173. 2710 pn=pn+1:f3=0
  174. 2720 next
  175. 2730 sys40206,fs,nf,1,0
  176. 2740 iff3=1thennf=nf-1:printpn;fs
  177. 2750 sys40206,pn,nf+1,0,0
  178. 2760 open2,8,2,ng$+",s,w"
  179. 2770 um=1:gosub4790
  180. 2780 ifer<>0then2760
  181. 2790 print#2,nf+1:print#2,pn-1:print#2,1
  182. 2800 sys22520,nf+1,pn-1
  183. 2810 fori=1to1:print#2,"macro":next
  184. 2820 close2
  185. 2830 um=1:gosub4790
  186. 2840 ifer<>0then2820
  187. 2850 goto1060
  188. 2860 rem *****************************
  189. 2870 rem *****f%    speichern*********
  190. 2880 rem *****************************
  191. 2890 gosub3150
  192. 2900 open1,8,2,nf$+",s,w"
  193. 2910 um=1:gosub4790:ifer<>0then2900
  194. 2920 print#1,pj
  195. 2930 fori=1topj
  196. 2940 print#1,f%(i)
  197. 2950 next
  198. 2960 close1
  199. 2970 um=1:gosub4790:ifer<>0then2960
  200. 2980 goto1850
  201. 2990 rem *****************************
  202. 3000 rem *****f%    laden    *********
  203. 3010 rem *****************************
  204. 3020 gosub3150
  205. 3030 open1,8,2,nf$+",s,r"
  206. 3040 um=1:gosub4790:ifer<>0then3030
  207. 3050 input#1,pj
  208. 3060 fori=1topj
  209. 3070 input#1,f%(i)
  210. 3080 next
  211. 3090 close1
  212. 3100 um=1:gosub4790:ifer<>0then3090
  213. 3110 goto1850
  214. 3120 rem *****************************
  215. 3130 rem *****get f%name     *********
  216. 3140 rem *****************************
  217. 3150 input"[147]name des flaechenfiles";nf$
  218. 3160 return
  219. 3170 rem *****************************
  220. 3180 rem ***** f% drucken ************
  221. 3190 rem *****************************
  222. 3200 open1,4:f=1
  223. 3210 fori=1topj
  224. 3220 iff%(i)=-4thenprint#1,"--("f")":f=f+1:goto3260
  225. 3230 iff%(i)=-2thenprint#1,"--("f")":print#1:goto3260
  226. 3240 iff%(i)=-3then3260
  227. 3250 print#1,"- ";f%(i);
  228. 3260 next
  229. 3270 close1:goto1850
  230. 3280 rem *****************************
  231. 3290 rem ***** f% ausgeben ***********
  232. 3300 rem *****************************
  233. 3310 f=1:print"[147]";
  234. 3320 fori=1topj
  235. 3330 iff%(i)=-4thenprint"--("f")":f=f+1:goto3360
  236. 3340 iff%(i)=-2orf%(i)=-3then3360
  237. 3350 print"- ";f%(i);:geta$:ifa$<>""thenpoke198,0:wait198,1:poke198,0
  238. 3360 next
  239. 3370 print"--("f")"
  240. 3380 poke198,0:wait198,1:poke198,0
  241. 3390 goto1850
  242. 3400 rem *****************************
  243. 3410 rem ***** editmenue   ***********
  244. 3420 rem *****************************
  245. 3430 printsm$
  246. 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]"
  247. 3450 print"       [221]                        [221]"
  248. 3460 print"       [221]      edit - menue      [221]"
  249. 3470 print"       [221]                        [221]"
  250. 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]"
  251. 3490 print"       [221]                        [221]"
  252. 3500 print"       [221] -1- flaechen anhaengen [221]"
  253. 3510 print"       [221]                        [221]"
  254. 3520 print"       [221] -2- flaeche  aendern   [221]"
  255. 3530 print"       [221]                        [221]"
  256. 3540 print"       [221] -3- flaeche  loeschen  [221]"
  257. 3550 print"       [221]                        [221]"
  258. 3560 print"       [221] -4- zurueck            [221]"
  259. 3570 print"       [221]                        [221]"
  260. 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]"
  261. 3590 forlf=1to5:print:next
  262. 3600 poke198,0:wait198,1:getg$
  263. 3610 onval(g$)goto3640,3900,4100,1850
  264. 3620 goto3600
  265. 3630 rem flaeche anh. ****************
  266. 3640 f%(pj)=-4:pj=pj+1:printsm$
  267. 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]";
  268. 3660 print"[221] bitte geben sie die punktnummern ein [221]";
  269. 3670 print"[221]die die gewuenschte flaeche definieren[221]";
  270. 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]";
  271. 3690 print"[221]  ende der flaeche mit fe, ende der   [221]";
  272. 3700 print"[221]        letzten flaeche mit e         [221]";
  273. 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]";
  274. 3720 forlf=1to17:print:next
  275. 3730 print"";
  276. 3740 rem pj bleibt alt
  277. 3750 inputi$
  278. 3760 ifi$="e"thenf%(pj)=-2:goto3430
  279. 3770 ifi$="fe"thengoto3640
  280. 3780 ep%=val(i$)
  281. 3790 fori=1toe+1
  282. 3800 ifn%(i)=ep%theni=e+1:next:goto3860
  283. 3810 next
  284. 3820 gosub5120
  285. 3850 goto3750
  286. 3860 f%(pj)=ep%
  287. 3870 pj=pj+1
  288. 3880 goto3750
  289. 3890 rem flaeche aend. ***************
  290. 3900 input"[147]nummer der zu aendernden flaeche        ";nu
  291. 3910 f=1:i=1
  292. 3920 iff%(i)=-4orf%(i)=-2then4010
  293. 3930 i=i+1
  294. 3940 ifi=<pjthen3920
  295. 3950 gosub5070
  296. 4010 iff=nuthen4040
  297. 4020 f=f+1
  298. 4030 goto3930
  299. 4040 i=i-1
  300. 4050 iff%(i)=-4then3430
  301. 4060 print"[147]old point";f%(i)
  302. 4070 input"new point";f%(i)
  303. 4080 print:print:goto4040
  304. 4090 rem flaeche losc. ***************
  305. 4100 input"[147]nummer der zu loeschenden flaeche       ";nu
  306. 4110 printsm$
  307. 4120 print"          [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  308. 4130 print"          [221] flaeche  nummer [221]"
  309. 4140 print"          [221].................[221]"
  310. 4150 print"          [221]   loeschen ??   [221]"
  311. 4160 print"          [221]     >>j/n<<     [221]"
  312. 4170 print"          [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
  313. 4180 print"[145][145][145][145][158]"nu""
  314. 4190 forlf=1to10:print:next:poke198,0:wait198,1:getg$:ifg$="n"then3410
  315. 4200 ifg$<>"j"then4110
  316. 4210 f=1:i=1
  317. 4220 iff%(i)=-4orf%(i)=-2then4310
  318. 4230 i=i+1
  319. 4240 ifi=<pjthen4220
  320. 4250 gosub5070
  321. 4310 iff=nuthen4340
  322. 4320 f=f+1
  323. 4330 goto4230
  324. 4340 i=i-1
  325. 4350 iff%(i)=-4then3430
  326. 4360 f%(i)=-3
  327. 4370 goto4340
  328. 4380 rem *****************************
  329. 4390 rem *                           *
  330. 4400 rem *    giga-cad -> ped        *
  331. 4410 rem *                           *
  332. 4420 rem *****************************
  333. 4430 gosub5020
  334. 4480 sys37021
  335. 4490 open2,8,2,ng$+",s,r"
  336. 4500 gosub4790:ifer<>0then4490
  337. 4510 input#2,v:input#2,d:input#2,k
  338. 4520 sys22541,v,d
  339. 4530 fori=1tok:input#2,b$(i):next
  340. 4540 close2
  341. 4550 gosub4790:ifer<>0then4540
  342. 4560 sys40206,d+1,v,0,0
  343. 4570 open1,8,2,np$+",s,w"
  344. 4580 gosub4790:ifer<>0then4570
  345. 4590 print#1,d-1:print#1,d-1
  346. 4600 fori=1tov-1
  347. 4610 sys40344,i
  348. 4620 fb=usr(1):y=usr(2):z=usr(3)
  349. 4630 sys40344,i+1
  350. 4640 fe=usr(1):y=usr(2):z=usr(3)
  351. 4650 forj=fbtofe-1
  352. 4660 ifj=fe-1thenprint#1,fb:print#1,j:goto4680
  353. 4670 print#1,j:print#1,j+1
  354. 4680 next
  355. 4690 next
  356. 4700 fori=1tod
  357. 4710 sys40052,i
  358. 4720 x=usr(1):y=usr(2):z=usr(3)
  359. 4730 print#1,x:print#1,y:print#1,-z:print#1,i
  360. 4740 next
  361. 4750 close1
  362. 4760 gosub4790:ifer<>0then4750
  363. 4770 goto1060
  364. 4780 rem floppyfehlerkanal
  365. 4790 input#14,er,er$,tr,se
  366. 4800 :
  367. 4810 ifer=0thenreturn
  368. 4820 close1:close2
  369. 4830 printsm$
  370. 4840 print"          [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  371. 4850 print"          [221]  bitte  beheben  [221]"
  372. 4860 print"          [221]     sie  das     [221]"
  373. 4870 print"          [221] floppy - problem [221]"
  374. 4880 print"          [221]                  [221]"
  375. 4890 print"          [221]  taste - nochmal [221]"
  376. 4900 print"          [221]  f1  -   abbruch [221]"
  377. 4910 print"          [171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]"
  378. 4920 print"          [221]                  [221]"
  379. 4930 print"          [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
  380. 4940 forlf=1to10:print:nextlf
  381. 4950 iflen(er$)<17thener$=" "+er$+" ":goto4950
  382. 4960 iflen(er$)=17thener$=er$+" "
  383. 4970 print"[158]";er$;"[146]"
  384. 4980 poke198,0:wait198,1:getg$:ifasc(g$+chr$(0))=133then5000
  385. 4990 return
  386. 5000 ifum=1thenum=0:goto1850
  387. 5010 goto1060
  388. 5020 printsm$
  389. 5030 print"            [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  390. 5040 print"            [221] bitte warten [221]"
  391. 5050 print"            [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
  392. 5060 forlf=1to10:print:nextlf
  393. 5065 return
  394. 5070 printsm$
  395. 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]"
  396. 5085 print"   [221] diese flaeche existiert nicht [221]"
  397. 5086 print"   [221]           >>taste<<           [221]"
  398. 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]"
  399. 5100 forlf=1to10:print:next
  400. 5105 poke198,0:wait198,1:poke198,0
  401. 5110 return
  402. 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]"
  403. 5130 print"     [221] der punkt existiert nicht [221]"
  404. 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]"
  405. 5150 return
  406.