Program asc2dxf c c Reads an input file, in.coo, containing x,y values. c This was generated by Aperplates.f from list of Ra and Dec. c Writes a file that can be used by workshop machines. c Aperture plate has North at top and West at left. c DBS needs to be used at PA of 90 degrees. c Apogee guider camera image has S at top and E to left. c Can make slots rather than holes at stellar positions. c This is option is selected by the SLOT keyword. c character*4 xop1,xop2 character*12, outfile 1 format(1h0/7hSECTION/1h2/8hENTITIES/1h0) 2 format(6hCIRCLE/1h8/1h1/2h62/1h3) 3 format(4hLINE/1h8/1h1/2h62/1h3) 4 format(5hPOINT/1h8/1h1/2h62/1h3) 5 format(2h10/5h43.00/2h20/5h43.00/2h30/5h0.000/2h40/5h43.00/1h0) 6 format(2h10,/,f6.3,/,2h20,/,f6.3,/,2h30/5h0.000) 7 format(2h11,/,f6.3,/,2h21,/,f6.3,/,2h31/5h0.000) 8 format(1h0) 9 format(6hENDSEC/1h0/3hEOF) 10 format(a4) 11 format(a12) 100 open(unit=20,file='in.coo',status='old') read(20,11) outfile ! name of dxf file open(unit=21,file=outfile,status='new') write(21,1) write(21,2) write(21,5) read(20,10) xop1 ! slots or holes if (xop1.eq.'slot') go to 1000 900 read(20,10) xop2 ! LINE makes sky slots in unused space c ! read these in first c ! LINE drawn between two X,Y values if(xop2.eq.'line') then write(21,3) read (20,*) x,y write(21,6) x,y read (20,*) x,y write(21,7) x,y write(21,8) go to 900 else 910 do I=1,150 read (20,*,end=10000) x,y ! read star positions write(21,4) write(21,6) x,y write(21,8) enddo endif 1000 continue c SLOTS 901 read(20,10) xop2 ! SLOT or hole (NOSLOT) if(xop2.eq.'line') then write(21,3) read (20,*) x,y write(21,6) x,y read (20,*) x,y write(21,7) x,y write(21,8) go to 901 else 911 do I=1,150 read (20,*,end=10000) x,y ! star positions write(21,3) write(21,6) x,y c c 0.8mm slot cut. Change here for different length slot xx=x+0.8 c write(21,7) xx,y write(21,8) enddo endif 10000 write(21,9) end