загрузить типы линий
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > загрузить типы линий

загрузить типы линий

Ответ
Поиск в этой теме
Непрочитано 08.12.2005, 13:58 #1
загрузить типы линий
Gaa
 
сан-техник на пенсии
 
Регистрация: 23.05.2005
Сообщений: 140

Пытаюсь загрузить типы линий через лисп:

(command "linetype" "load" "*" "c:\My\\My_line.lin" "" "")

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

что делать, как это обойти?
__________________
Спасибо
Просмотров: 3963
 
Непрочитано 08.12.2005, 14:01
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402


Проверь на наличие этого типа линии:
Код:
[Выделить все]
(if (not (tblobjname "ltype" имя_типа_линии))
;; Здесь загрузка
)
или используй (vl-catch-all-apply) и (vl-catch-all-error-p), если уж надо грузить все типы линий.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 08.12.2005, 14:22
#3
Gaa

сан-техник на пенсии
 
Регистрация: 23.05.2005
Сообщений: 140


Цитата:
или используй (vl-catch-all-apply) и (vl-catch-all-error-p), если уж надо грузить все типы линий.
если можно подробней или где можно прочитать про это.
__________________
Спасибо
Gaa вне форума  
 
Непрочитано 08.12.2005, 14:28
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402


Ну это в справке описано:
(vl-catch-all-apply 'function list)
Проверяет на предмет ошибочности выполнения функции к списку аргументов. Например:
(setq catchit (apply '/ '(50 0)))
; error: divide by zero
(setq catchit (vl-catch-all-apply '/ '(50 0)))
#<%catch-all-apply-error%>

(vl-catch-all-error-p arg)
Возвращает t при условии, если arg - ошибка. Т.е. если сделать
(vl-catch-all-error-p (vl-catch-all-apply '/ '(50 0)))
то вернется t, иначе nil.
---
ИМХО - а зачем грузить все типы-то? Может, подгружать только необходимые на данный момент и на этом успокоиться? Такое-то, я думаю, попроще будет, да и мусора в файле меньше.
---
Добавлено:
Посмотри на
http://dwg.ru/forum/viewtopic.php?t=...r=asc&start=15 (посты Apelsinov) и на его основе сделанное http://www.autocad.ru/cgi-bin/f1/board.cgi?t=22730iW
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > загрузить типы линий