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.
(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