Тема: ; ошибка: неверный тип аргумента: 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)
)
Вот этот код отвечает за вставку штампов и почему-то, с некоторых пор, после указания точки вставки Автокад выдает ошибку о неверном типе аргумента. Что нужно исправить?
Спасибо.

Re: ; ошибка: неверный тип аргумента: File nil

А этот файл у вас есть C:\Shtamp\shtamp.txt ?

Re: ; ошибка: неверный тип аргумента: File nil

> la_vanille_ciel
Насколько мне известно чаще такая ошибка выскакивает
когда данный блок отсутствует
Я бы добавил в код проверку на наличие блока
в текущем рисунке, строку:

(command "_.insert" "sh2a" T0 M M "0")

заменить на выражение:

(if (tblsearch "block" "sh2a")
(command "_.insert" "sh2a" T0 M M "0")
(alert "Блок \"sh2a\" в данном рисунке отсутствует")
)

~'J'~

Re: ; ошибка: неверный тип аргумента: File nil

эээ...попробовала, теперь получается, когда я выбираю в меню штамп и пытаюсь поставить на рисунок, он пишет, что этого блока нет в рисунке, и далее такая же ошибка..