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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Запуск Lisp с помощью "Параметра выбора" (Lookup)

Запуск Lisp с помощью "Параметра выбора" (Lookup)

Ответ
Поиск в этой теме
Непрочитано 08.12.2010, 16:20 #1
Запуск Lisp с помощью "Параметра выбора" (Lookup)
Eddicordo
 
КИП и А
 
Киев
Регистрация: 28.04.2010
Сообщений: 101

Доброго времени суток. Ну собственно в названии темы и заложен вопрос.
Можно ли в "Параметр выбора" (Lookup) или в "Параметр видимости" (Visibility) записать макрос запуска Lisp программы.
Получится прикольная цяця. Вставили дин блок и через параметр выбора запустится Lisp программа и выполнит какие то действия.
Просмотров: 1997
 
Непрочитано 08.12.2010, 16:22
#2
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Я думаю, это практически невозможно. Надо писать объектный реактор, а учитывая поведение дин.блоков, это не так просто, как хотелось бы.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 08.12.2010, 16:46
#3
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


А по-моему вполне возможно. Как раз реакторы и связываю какое-либо событие с функцией действия (лиспом), при этом не обязательно ипользовать объектный реактор, можно и с помощью командного реактора.
Вот примеры:
http://forum.dwg.ru/showthread.php?p=638496&#post638416
http://forum.dwg.ru/showthread.php?p=641180&#post641180
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 08.12.2010, 16:49
#4
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


TararykovDG, а какая команда запускается при смене Lookup-параметра дин.блока?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 08.12.2010, 17:04
#5
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Лиспер Посмотреть сообщение
а какая команда запускается при смене Lookup-параметра дин.блока?
Как минимум срабатывает :vlr-modified (только-что проверил).
p.s. я как-то делеал "интерактивную" привязку построений по табличным данным (меняется таблица и "на глазах" перерисовывается чертеж), в итоге пришел к тому - что самым надежным методом - будет сохранения в программе реактора "ссылки" на созданные примитивы - и при изменении данных - полной их перерисовки (удалению и рисованию заново) - получается дольше, но на моем чертеже вполне приемлимо, а всевозможых косяков меньше на порядок (вроде как вобще не жаловались).
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 08.12.2010 в 17:20.
Дима_ вне форума  
 
Непрочитано 08.12.2010, 18:26
#6
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Лиспер Посмотреть сообщение
TararykovDG, а какая команда запускается при смене Lookup-параметра дин.блока?
"GRIP_STRETCH" - при растяжении
"GRIP_POPUP" - при изменении параметра видимости или параметра выбора
Как пример
Код:
[Выделить все]
; ----------------------------------------------------------------
Определяем командный реактор
(setq dbr (vlr-command-reactor "Реактор команд: "
	      (list '(:vlr-commandEnded . func1) ; связываем функция действия func1 с событием закончена команда AutoCAD
		    )
	      )
	)
; -----------------------------------------------------------------

; ----------------------------------------------------------------
Функция действия
(defun func1(reac data / )
  (if (and (or (= (car data) "GRIP_STRETCH") (= (car data) "GRIP_POPUP"))) ; проверяем какая команда вызвала функцию
    (if (setq nbr (cadr (ssgetfirst))) получаем ссылку на объект (например наш дин. блок)
      (...
	)
    )
  )
); End Get-Format-Koef
; ----------------------------------------------------------------
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 08.12.2010, 21:56
#7
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


См. http://dwg.ru/dnl/5290
там даже выход в интернет есть. Смотришь свойство "Сайт производителя" и давишь на него, выпадает выбор из двух пунктов, непосредственно имя сайта и опция "Подключиться". Запускается Автокадовский браузер и соединяет со страницей этого изделия на сайте производителя.

Короче, с идеей ты опоздал.
Supermax вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Запуск Lisp с помощью "Параметра выбора" (Lookup)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли с помощью VBA (или Lisp) редактировать spdsNotePosition (выноску СПДС)? AlexV LISP 15 07.11.2017 15:55
Как с помощью LISP нарисовать окно линиями? Aндрeй LISP 13 24.06.2011 14:37
Программирование с помощью VB script или LISP в Autocad MEP 2010 AntSam LISP 7 28.05.2010 11:26
Запуск Lisp команды в новом документе BlackHarp LISP 1 26.03.2009 23:06
Запуск LISP при открытии чертежа Xefan LISP 7 09.07.2007 10:01