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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > выполнение ЛИСП в двух чертежах

выполнение ЛИСП в двух чертежах

Ответ
Поиск в этой теме
Непрочитано 14.05.2006, 11:44 #1
выполнение ЛИСП в двух чертежах
Gaa
 
сан-техник на пенсии
 
Регистрация: 23.05.2005
Сообщений: 140

посоветуйте как можно (и можно ли) в лиспе сделать следующее:

В АСАДЕ открыты 2 чертежа.
В одном из них запускаю ЛИСП-прогу, в процессе ее работы надо перйти в другой чертеж снять параметры (entsel), вернуться в предыдущий и продолжить выполнение Лисп-проги.
__________________
Спасибо
Просмотров: 1520
 
Непрочитано 15.05.2006, 09:00
#2
Кулик Алексей aka kpblc
Moderator

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


Думаю, что нереально.
Работать в многодокументном режиме достаточно тяжко, да вдобавок возникает проблема с "внедокументными" переменными, их хранением и очисткой; работать с "другим" файлом, по-моему, можно только через vla-функции, исключая вариант (entsel) и т.п.
Я бы попробовал засунуть эти "нужные" данные в пользовательский словарь (или вообще через vla-ldata-функции присобачить их к пространству модели) и прочитать их.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.05.2006, 10:01
#3
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


На уровне идеи. Без проверки. Один из чертежей должен называться
drawing2.dwg

Код:
[Выделить все]
(defun aa ()
  (setq ac (vlax-get-acad-object))
  (setq adocs (vla-get-Documents ac))
  (vlax-for doc adocs
    (if (= (strcase (vla-get-Name doc)) "DRAWING2.DWG")
      (setq doc2 doc)
      )
    )
  (vla-put-ActiveDocument ac doc2)
  (vla-SendCommand (vla-get-activedocument (vlax-get-acad-object)) "(entsel) ")
  )
VVA вне форума  
 
Непрочитано 15.05.2006, 10:14
#4
Кулик Алексей aka kpblc
Moderator

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


И ничего не получится (по крайней мере у меня на 2005 не срабатывало). Надо дополнительно выполнять vl-load-all для лиспа, в нем не должно быть внефункционального кода, выбор (по идее) должен быть экспортирован через vl-bb-функции во внедокументное пространство, а потом его там надо очистить...
Если я не прав, прошу поправить, только аргументированно! Чего надо сделать, чтоб лисп работал на других файлах:?:
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > выполнение ЛИСП в двух чертежах

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск