Data Dosyasından Bilgi Yazdırma

Tanım

Bu komut boşluklarla ayrılmış (x y z yazı) şeklindeki data dosyasından alınacak koordinat ve içerik bilgileriyle çizim alanına yazı yazdırılmasında kullanılır.

Program

(defun c:dby ()
  (setq mtr 1)
  (setq dosyaadi (strcat (getvar "dwgprefix")))
  (setq da (getfiled "txt dosyası seçiniz" dosyaadi "txt" 0)) ; 1
  (setq dosya (open da "r")) ; 2
  (while
    (setq satır (read-line dosya)) ; 3
      (setq liste nil)
      (if (/= satır nil)
        (progn
          (while (< mtr (strlen satır)) ; 4
            (setq ayraç (substr satır mtr 1)) ; 5
            (if (= ayraç " ") ; 6
              (progn (setq x (substr satır 1 (- mtr 1)))
                     (setq liste (append liste (list (atof x))))
                     (setq satır (substr satır (+ mtr 1)))
                     (setq mtr 1)
             )
           )
           (setq mtr (+ 1 mtr))
         )
         (setq xs satır) ; 7
         (entmakex (list (cons 0 "TEXT") ; 8
                         (cons 1 xs)
                         (cons 10 liste)
                         (cons 40 10)
                   )
         )
       )
     )
  )
  (close dosya) ; 9
)


Açıklamalar

1 getfiled fonksiyonunu kullanarak dosya seçme menüsü yardımıyla “txt” uzantılı data dosyası seçilir.
2 open fonksiyonunun “r” (read) özelliği kullanılarak dosya değişkenine atanan data dosyası içinden bilgi alınmak için açılır.
3 açılan data dosyası read-line fonksiyonu ile dosyada satırın tamamını okunur ve satır değişkenine atanır.
4 while fonksiyonu ile satır değişkenindeki karakter sayısı kadar döngü yapılması sağlanır.
5 ayraç değişkenini satır değişkeninin tüm karakterleri sırası ile atanır.
6 if fonksunu ile ayraç değişkeninin " " (boşluk) karakteri ile eşitliği sınanır ve boşluklar arasında kalan bilgiler liste değişkeninde listelenir.
7 satırdaki son bilgi xs değişkenine atanır.
8 entmakex fonksiyonu ile liste değişkenindeki koordinat bilgileri ve xs değişkenindeki yazı bilgisi kullanılarak yüksekliği 10 birim olan text objesi oluşturulur.
9 daha önce dosya değişkeni ile açılmış olan data dosyası kapatılır.


Örnek Lisp Dosyasını İndirin

013-dby.lsp