Тема: LISP. По координатам из txt-файла ставит и подписывает точки
Привет.Сочинил програмку,которая по координатам из файла txt рисует кружочки и подписывает номер точки и отметку Z
Файл д. б. такой
rtyui____1234534.678__1234523.456__565.784
yuhgf____1234535.678__1234524.456__567.739
dfghhh___1234537.678__1234527.456__568.759
Вместо символов подчёркивания д.б. пробелы!!!
Подчёркивания я вставил потому что всё тут разезжается
(defun c:tta( / scl namset namefile nmfile runline firstr Xstr Ystr Zstr firstr ZstrN Xnum Ynum Znum koord blcN nmAt nmAt2 myAtsp myAtsp2 myAtrr myAtrr2 myAttsp myAttsp2 ) (setq scl 1) (if (= (tblsearch "block" "blck001") nil) (progn (setvar "attreq" 0) (setq namset (ssadd)); (command "_attdef" "" "NAME" "Name" "" "J" "Center" '(0.0 11.5 0.0) 1 0 ) (ssadd (entlast) namset) (command "_attdef" "" "HEIGT" "Heigt" "" "J" "Center" '(0.0 7.5 0.0) 1 0 ) (ssadd (entlast) namset) (command "_CIRCLE" '(0.0 10.0 0.0) 1.0) (ssadd (entlast) namset) (command "_CIRCLE" '(0.0 10.0 0.0) 0.05) (ssadd (entlast) namset) (command "_block" "blck001" '(0.0 10.0 0.0) namset "") ) ;progn ) ;if (setq namefile (getfiled "Select file" "c:\\" "txt" 4)) (setq nmfile (open namefile "r")) ;(getint scl "Enter Scale(1):") (setq runline (read-line nmfile)) (while (/= runline nil) (setq firstr (substr runline 1 8)) (setq Xstr (substr runline 10 12)) (setq Ystr (substr runline 23 12)) (setq Zstr (substr runline 36 7)) (setq firstr (vl-string-trim " " firstr)) (setq ZstrN (vl-string-trim " " Zstr)) (setq Xnum (atof Xstr)) (setq Ynum (atof Ystr)) (setq Znum (atof Zstr)) (setq koord (list Xnum Ynum Znum)) (command "_.insert" "blck001" koord scl scl 0) (setq blcN (entlast)); imya bloka (setq nmAt (entnext blcN)); imya atributa (setq nmAt2 (entnext nmAt)); imya atributa 2 (setq myAtsp (entget nmAt )); spisok atributa (setq myAtsp2 (entget nmAt2)); spisok atributa 2 (setq myAtrr (cons 1 firstr)) (setq myAtrr2 (cons 1 ZstrN)) (setq myAttsp (subst myAtrr '(1 . "") myAtsp )); zamena (setq myAttsp2 (subst myAtrr2 '(1 . "") myAtsp2)); zamena (entmod myAttsp) (entmod myAttsp2) (entupd (cdr (assoc -1 myAttsp))) (entupd (cdr (assoc -1 myAttsp2))) (setq runline (read-line nmfile)) ) );defun