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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как обработать открытие и сохранение DWG?

Как обработать открытие и сохранение DWG?

Ответ
Поиск в этой теме
Непрочитано 22.06.2010, 12:03 #1
Как обработать открытие и сохранение DWG?
EfremenkoDO
 
Санкт-Петербург
Регистрация: 24.12.2009
Сообщений: 59

Не понимаю в чем проблема, не могу заставить работать реактор.

Код:
[Выделить все]
(vl-load-com)

(defun fOPen (reac param /)
  (alert "Open")
)

(defun fSave (reac param /)
  (alert "Save")
)

(defun reac (/)
  (setq	dwgr
	 (vlr-dwg-reactor
	   nil
	   (List '(:VLR-endDwgOpen . fOpen)
	          '(:VLR-saveComplete . fSave)
	   )
	 )
  )
)
Что именно тут не так? а лучше посоветуйте где еще можно посмотреть статьи по этой тематике! У Полищука на этот вопрос ответа я не нашел.
Просмотров: 2999
 
Непрочитано 22.06.2010, 12:18
#2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Вот так работает вроде (на сохранение чертежа):
Код:
[Выделить все]
(vl-load-com)
 
(defun fOPen (reac param /)
  (alert "Open")
) ;_ end of defun
 
(defun fSave (reac param /)
  (alert "Save")
) ;_ end of defun
 
 
(setq dwgr
       (vlr-dwg-reactor
     nil
     (List '(:VLR-endDwgOpen . fOpen)
           '(:VLR-saveComplete . fSave)
     ) ;_ end of List
       ) ;_ end of vlr-dwg-reactor
) ;_ end of setq
А на открытие - надо сделать реактор постоянным функцией vlr-pers
О реакторах все подробно и доходчиво есть как раз у Полещука в книге "AutoLISP и VisualLISP в среде AutoCAD"

Последний раз редактировалось Do$, 22.06.2010 в 12:23.
Do$ вне форума  
 
Автор темы   Непрочитано 22.06.2010, 12:23
#3
EfremenkoDO


 
Регистрация: 24.12.2009
Санкт-Петербург
Сообщений: 59
<phrase 1=


Спасибо за ответ, для того чтоб работало по всему ACAD добавил такую строчку

(vlr-set-notification dwgr 'all-documents)

и заработало
EfremenkoDO вне форума  
 
Непрочитано 22.06.2010, 12:25
#4
Кулик Алексей aka kpblc
Moderator

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


Зачем реактор на открытие чертежа? Не проще ли сделать автозаружаемый лисп (который сам себя и будет вызывать)?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.06.2010, 12:27
#5
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Ну, может быть, нужно, чтобы выполнялись какие-то действия во время открытия какого-то конкретного чертежа.
Do$ вне форума  
 
Автор темы   Непрочитано 22.06.2010, 12:27
#6
EfremenkoDO


 
Регистрация: 24.12.2009
Санкт-Петербург
Сообщений: 59
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Зачем реактор на открытие чертежа? Не проще ли сделать автозаружаемый лисп (который сам себя и будет вызывать)?
Нужно определять путь открываемого файла
EfremenkoDO вне форума  
 
Непрочитано 22.06.2010, 12:35
#7
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Тогда да, можно без реактора - занести код в acaddoc.lsp
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как обработать открытие и сохранение DWG?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести dwg в pdf ... fanegik AutoCAD 71 24.02.2012 19:22
Как сохранить DWG чтобы потом нельзя было редактировать. Serjik7 AutoCAD 3 11.09.2009 17:50
Мониторы LCD CRT Разное 94 17.06.2008 10:51
Как сохранить dwg, как tif Елена AutoCAD 29 22.01.2008 19:50
КТО ЗНАЕТ, КАК ЗАЩИТИТЬ ФАЙЛ DWG ? КРЫЛОВ AutoCAD 9 11.10.2004 08:57