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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Вызов команды внешнего приложения из lisp больше 4 раз

Вызов команды внешнего приложения из lisp больше 4 раз

Ответ
Поиск в этой теме
Непрочитано 17.09.2009, 19:13 #1
Вызов команды внешнего приложения из lisp больше 4 раз
Andrej2
 
ит администратор
 
Латвия
Регистрация: 09.04.2008
Сообщений: 8

пытаюсь сделать lisp, который бы рисовал MagiCad Room стены.
Столкнулся с такой проблемой, что команду магикада mrdw (MAGIRDRAWWALL) нельзя вызывать в лиспе больше 4 раз.

текст ошибки:
FATAL ERROR: Commands may not be nested more than 4 deep

уже по всякому пытался, всё бестолку.
если вызвать команду "w" из приложенниго файла 2 раза, автокад выходит.
Autocad Architecture 2008 sp1, MagiCad Room 2009.5.

В интернете нашёл такое http://www.cadforum.cz/cadforum_en/qaID.asp?tip=5151 . Значит мне надо искать альтернативу этой команде?

Вложения
Тип файла: lsp test.lsp (1.2 Кб, 73 просмотров)

Просмотров: 2388
 
Непрочитано 18.09.2009, 19:44
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Магикада нет, протестить не могу, но в глаза бросается частое использование для принудительного завершения команд "MAGIRDRAWWALL" конструкции
Код:
[Выделить все]
(command *cancel*)
Offtop: Чем-то похоже на завершение работы Виндоус с помощью рубильника
В "MAGIRDRAWWALL" ведь есть опции нормального завершения? Может, надо использовать их? Если это просто Enter, то где-то так
Код:
[Выделить все]
(command "MAGIRDRAWWALL" "noConnect" (list 111.0 222.0 0.0) (list 26000.0 29000.0 0.0) "")
а еще лучше
Код:
[Выделить все]
(vl-cmdf "MAGIRDRAWWALL" "noConnect" (list 111.0 222.0 0.0) (list 26000.0 29000.0 0.0) "")
PS В тексте по ссылке есть упоминание о рекурсии...может, функция gc поможет?
kp+ вне форума  
 
Непрочитано 21.09.2009, 10:50
#3
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Там написано в глубину 4 раза.
Victor вне форума  
 
Автор темы   Непрочитано 21.09.2009, 20:42 всё, сдаюсь :(
#4
Andrej2

ит администратор
 
Регистрация: 09.04.2008
Латвия
Сообщений: 8


попробовал и нормальное завершение: (command "MAGIRDRAWWALL" "noConnect" (list 1000.0 1000.0 0.0) (list 14000.0 14000.0 0.0) (list 14000.0 1000.0 0.0) "connect" (list 1000.0 1000.0 0.0))
и ставить (gc) после команд. без изменений.
Andrej2 вне форума  
 
Непрочитано 22.09.2009, 12:59
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


А vl-cmdf вместо command не пробовал?
kp+ вне форума  
 
Автор темы   Непрочитано 22.09.2009, 15:35
#6
Andrej2

ит администратор
 
Регистрация: 09.04.2008
Латвия
Сообщений: 8


Цитата:
Сообщение от kp+ Посмотреть сообщение
А vl-cmdf вместо command не пробовал?
эта функция не может передать "noConnect" как параметр для MAGIRDRAWWALL.
Цвою цель - переделку стен Architecture в Room буду пытаться достигнуть как-то иначе.
Спасибо за советы.
Andrej2 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Вызов команды внешнего приложения из lisp больше 4 раз

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Загрузка Lisp приложения Tugodum-ka AutoCAD 1 04.04.2009 14:23
Запуск Lisp команды в новом документе BlackHarp LISP 1 26.03.2009 23:06
Использование команды mtext в lisp gool LISP 2 17.09.2008 12:57
Как вывести текст в model из приложения написанного на lisp? paradoxvaha AutoCAD 3 16.04.2007 03:54