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

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

Вызов своего приложения из Автокада

Ответ
Поиск в этой теме
Непрочитано 05.02.2011, 19:02 #1
Вызов своего приложения из Автокада
PAULkan
 
Регистрация: 19.04.2009
Сообщений: 6

Можно ли вызвать свое приложение из Автокада при двойном щелчке на блоке, при этом не заходя в редактирование блока?
Просмотров: 3164
 
Непрочитано 05.02.2011, 22:24
#2
Кулик Алексей aka kpblc
Moderator

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


Теоретически - можно. Переопределить реактор на двойной клик плюс выгрузка dblclked.arx (кажется, так называется; надо уточнять).
Практически работать будет только в "чистом" AutoCAD; в вертикальных решениях корректная работа, мягко говоря, не гарантируется.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.02.2011, 22:39
#3
PAULkan


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


Можно где-то поподробнее об этом почитать?

Вот, например, Mechanics - при двойном щелчке на созданных им элементах, будь то формат, позиция или шероховатость, вызывается редактирование их в самом Механиксе. Хотелось бы так же для своих блоков
PAULkan вне форума  
 
Непрочитано 05.02.2011, 23:05
#4
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от PAULkan Посмотреть сообщение
Вот, например, Mechanics - при двойном щелчке на созданных им элементах, будь то формат, позиция или шероховатость, вызывается редактирование их в самом Механиксе. Хотелось бы так же для своих блоков
Ключевое слово "на созданных им элементах" изучайте аркс и вас тоже получится
gomer вне форума  
 
Непрочитано 06.02.2011, 08:37
#5
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А если в адаптации свой макрос назначить?
По умолчанию там записан такой макрос:
Код:
[Выделить все]
$M=$(if,$(and,$(>,$(getvar,blockeditlock),0)),^C^C_properties,^C^C_bedit)
Profan вне форума  
 
Непрочитано 06.02.2011, 10:06
#6
nikе

конструктор Лего
 
Регистрация: 21.10.2005
Краснодар
Сообщений: 204


На caduser.ru на форуме найдешь как на ARX сделать реактор по двойному щелчку, или хук, который отлавливает двойной щелчек, переводит координаты экрана в координаты AutoCAD, потом по этим координатам можно выбрать твой блок. Допустим если блок будет иметь определенное имя, или имя атрибута, или расширенные данные то можно будет запустить твое приложение. Дерзай и все получится.
nikе вне форума  
 
Непрочитано 06.02.2011, 20:08
#7
TararykovDG

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


Предлагаю такой вариант
Код:
[Выделить все]
 
(defun beginRightClick(reac data / nbr1 nbr2 item)
  (foreach item (append (if (setq nbr1 (cadr (ssgetfirst)))
			  (vl-remove-if 'listp (mapcar 'cadr (ssnamex nbr1)))
			  )
			(if (setq nbr2 (ssget (car data)))
			  (vl-remove-if 'listp (mapcar 'cadr (ssnamex nbr2)))
			  )
			)
    (if (and (= (strcase (cdr (assoc 0 (entget item)))) "INSERT")
	     (= (cdr (assoc 2 (entget item))) "<имя блока>") ; здесь вместо <имя блока> естественно имя реального блока
	     )
      (startapp "notepad") ; здесь вместо "notepad" имя своего приложения, например для word "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"
      )
    )
  )

; -------------------------------------------------------------------------


; -------------------------------------------------------------------------
(setq Mous_Reac (vlr-mouse-reactor "Реактор действий мышью: "
		  (list '(:VLR-beginRightClick . beginRightClick)
			)
		  )
      )
; -------------------------------------------------------------------------

Правда срабатывать будет по нажатия правой кнопки мыши, если это не критично. Если же обязательно нужно по двойному щелчку, то можно все также сделать и для события :VLR-beginDoubleClick, только нужно будет как-то в конце выполнения запретить вызов редактирования блока
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 06.02.2011, 21:12
#8
PAULkan


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


А из delphi или VBA это нереально сделать?
PAULkan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вызов своего приложения из Автокада



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов в среде AutoCAD приложения, написанного на Delphi и использующего базу данных samos Программирование 38 12.10.2010 15:34
Как используются доп приложения при установке автокада и влияет ли их версия на скорость работы? dextron3 AutoCAD 4 29.03.2010 00:08
Может ли обычный человек разрабатывать приложения для автоКада, находясь дома и получать за это деньги молод и перспективен Разное 18 28.07.2009 11:04