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

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

Lisp запуск VBA и ожидание завершения

Ответ
Поиск в этой теме
Непрочитано 21.02.2011, 13:42 #1
Lisp запуск VBA и ожидание завершения
gizmo_zx
 
Проектировщик ЭО,ЭМ, ЭОС
 
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 257

Добрый день.
Вопросик по Lisp.
Есть программа на VBA (выбор блоко в по имени/тегу/значению атрибутов), ее результат именованый набор, который подхватывается lisp и оставляет их выделенными для последующих операций.
Надо что-то вроде:
Код:
[Выделить все]
 
(defun c:find_block_by_()
  (command "vbarun" "find_block_by_")
  (command "selset-gripset")
  (princ)
)
Но как дождаться завершения команды (command "vbarun" "find_block_by_"), а уже после этого выполнять (command "selset-gripset") ?
Просмотров: 2592
 
Непрочитано 21.02.2011, 14:00
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от gizmo_zx Посмотреть сообщение
как дождаться завершения команды (command "vbarun" "find_block_by_"), а уже после этого выполнять (command "selset-gripset") ?
Никак, насколько мне известно, т.к.командная строка автокада работает в асинхронном режиме.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.02.2011, 14:05
1 | #3
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Я для аналогичной задачи (когда сформирован набор с именем "_grips_light") использую в коде VBA вот этакую паллиативщину:
Код:
[Выделить все]
   strtmp1 = "(progn(defun ss-gripset (/ SS SR SSN I)(vl-load-com)(setq SS(vla-get-selectionsets(vla-get-activedocument (vlax-get-acad-object))) SSN(vla-item SS ""_grips_light"") SR(ssadd))(vlax-for I SSN (ssadd(vlax-vla-object->ename I)SR))(sssetfirst nil SR)(princ))(ss-gripset))\n" & " "
   ThisDrawing.SendCommand strtmp1
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 21.02.2011, 14:09
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от AlexV Посмотреть сообщение
Я для аналогичной задачи (когда сформирован набор с именем "_grips_light") использую в коде VBA вот этакую паллиативщину:
Код:
[Выделить все]
   strtmp1 = "(progn(defun ss-gripset (/ SS SR SSN I)(vl-load-com)(setq SS(vla-get-selectionsets(vla-get-activedocument (vlax-get-acad-object))) SSN(vla-item SS ""_grips_light"") SR(ssadd))(vlax-for I SSN (ssadd(vlax-vla-object->ename I)SR))(sssetfirst nil SR)(princ))(ss-gripset))\n" & " "
   ThisDrawing.SendCommand strtmp1
И тем не менее SendCommand так же работает в асинхронном режиме.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.02.2011, 14:13
#5
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010


А чисто на LISP аналогичная фигня не нужна?
Выбор блоков по значению атрибутов.
Nike вне форума  
 
Автор темы   Непрочитано 21.02.2011, 14:13
#6
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 257
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Огромное спасибо AlexV. Задачу решил твоим способом.
gizmo_zx вне форума  
 
Непрочитано 21.02.2011, 14:24
#7
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
Сообщение от hwd Посмотреть сообщение
И тем не менее SendCommand так же работает в асинхронном режиме.
Да, но это не имеет значения, т.к. выполняется непосредственно из VBA кода "в нужный момент", после создания набора.
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp запуск VBA и ожидание завершения



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск программы из-под VBA ArtemYa Программирование 5 09.12.2009 23:14
LISP & VBA. Передача данных. Кулик Алексей aka kpblc Готовые программы 8 29.06.2009 22:16
Запуск Lisp команды в новом документе BlackHarp LISP 1 26.03.2009 23:06
Ищу способы упрощения работы с XData (расширенными данными) в VBA, Lisp RasRuf LISP 1 29.01.2009 10:55
VBA vs LISP Kosenko Sasha LISP 23 06.03.2007 02:56