Тема: ; ошибка: неверный тип аргумента: File nil
(vmon)
(defun C:Shtamp2a ()
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"))
(setq Lay (getvar "Clayer"))
(setvar "clayer" "0")
(setq curtab (tblobjname "STYLE" "STANDARD"))
(setq ed (entget curtab)) ;Установка в стиле STANDARD
(setq ed (subst (cons 3 "simplex.shx") (assoc 3 ed) ed )) ;файла шрифта simplex
(setq ed (subst (cons 41 0.8) (assoc 41 ed) ed )) ;сжатия 0.8
(setq ed (subst (cons 40 0.0) (assoc 40 ed) ed )) ;высота текста=0
(setq ed (subst (cons 50 0.261799) (assoc 50 ed) ed )) ;и угла наклона 15
(entmod ed)
(setq txt (getvar "textstyle"))
(setvar "textstyle" "standard")
(setq Dog "")
(if (findfile "C:\\Shtamp\\shtamp.txt")
(progn
(setq FL (open "C:\\Shtamp\\shtamp.txt" "r"))
(setq Dog (read-line FL))
))
(setq OTV "Y")
(IF (= (strlen Dog) 0)
(progn
(textscr)
(princ "Не заполнены данные для штампа!!! Необходимо выполнить ЗАПОЛНЕНИЕ ШТАМПА.\n")
(setq Otv (getstring "Вставить пустой штамп? <Y> : "))
(if (or (= otv "") (= otv "y"))
(setq OTV "Y")
)
(graphscr)
(if (= OTV "Y")
(princ
(setq M (getstring "Масштабный кофициент (1): "))
(if (= M "")
(setq M "1")
)
(setq T0 (getpoint "\n Покажите точку вставки штампа :"))
(setvar "osmode" 0)
(command "_insert" "sh2a" T0 M M "0")
(setq M (atof M))
(command "_text" (mapcar '- T0 (list (* 45 M) (* 4 M))) (* 3 M) "0" "Формат А")
))
))
(if (> (strlen Dog) 0)
(progn
(setq M (getstring "Масштабный кофициент(1) : "))
(if (= M "")
(setq M "1")
)
(setq T0 (getpoint "\n Покажите точку вставки штампа :"))
(setvar "osmode" 0)
(command "_insert" "sh2a" T0 M M "0")
(setq M (atof M))
(command "_text" (mapcar '- T0 (list (* 45 M) (* 4 M))) (* 3 M) "0" "Формат А")
(setq Dog (strcase Dog))
(setq T1 (polar T0 (/ pi 2) (* 32.5 M)))
(setq T1 (polar T1 pi 60))
(command "_text" "_m" T1 (* 5 M) "0" Dog)
(setq Pr (read-line FL))
(setq Ob (read-line FL))
(setq Name (read-line FL));Ncontr
(setq D (Strlen Name))
(setq T1 (polar T0 pi (* 164 M)))
(setq T1 (polar T1 (/ pi 2) (* 21 M)))
(if (> d 8)
(Command "_Text" "_f" T1 (polar T1 0 (* 18 M)) (* 3 M) Name)
(Command "_Text" T1 (* 3 M) "0" Name)
)
(setq Name (read-line FL));gip
(setq D (Strlen Name))
(setq T1 (polar T1 (* (/ pi 2) 3) 5))
(if (> d 8)
(Command "_Text" "_f" T1 (polar T1 0 (* 18 M)) (* 3 M) Name)
(Command "_Text" T1 (* 3 M) "0" Name)
)
(setq Name (read-line FL));Nachotd
(setq D (Strlen Name))
(setq T1 (polar T1 (* (/ pi 2) 3) (* 5 M)))
(if (> d 8)
(Command "_Text" "_f" T1 (polar T1 0 (* 18 M)) (* 3 M) Name)
(Command "_Text" T1 (* 3 M) "0" Name)
)
(setq Name (read-line FL));Fio
(setq D (Strlen Name))
(setq T1 (polar T1 (* (/ pi 2) 3) (* 10 M)))
(if (> d 8)
(Command "_Text" "_f" T1 (polar T1 0 (* 18 M)) (* 3 M) Name)
(Command "_Text" T1 (* 3 M) "0" Name)
)
))
(setvar "clayer" Lay)
(setvar "textstyle" txt)
(setvar "osmode" osm)
(setvar "cmdecho" 1)
)
Вот этот код отвечает за вставку штампов и почему-то, с некоторых пор, после указания точки вставки Автокад выдает ошибку о неверном типе аргумента. Что нужно исправить?
Спасибо.