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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Возможен ли вызов функций explodeallproxy и removeallproxy в lisp-функциях для неактичного чертежа?

Возможен ли вызов функций explodeallproxy и removeallproxy в lisp-функциях для неактичного чертежа?

Ответ
Поиск в этой теме
Непрочитано 25.11.2010, 14:36 #1
Возможен ли вызов функций explodeallproxy и removeallproxy в lisp-функциях для неактичного чертежа?
smallmazila7
 
Регистрация: 21.09.2009
Сообщений: 32

Доброго времени суток!
Столкнулся с такой проблемой:
не могу понять как вызвать команды explodeallproxy и removeallproxy из lisp-функции для неактивного чертежа.
подскажите кто знает.
Просмотров: 4018
 
Непрочитано 25.11.2010, 16:02
#2
Лиспер


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


По-моему, там есть еще несколько функций, которые обрабатывают передаваемые им ename-представления блоков. Попробуй воспользоваться.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 25.11.2010, 17:25
#3
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от smallmazila7 Посмотреть сообщение
не могу понять как вызвать команды explodeallproxy и removeallproxy из lisp-функции для неактивного чертежа.
Не советую это делать.
Александр Ривилис вне форума  
 
Непрочитано 26.11.2010, 00:35
#4
Лиспер


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


Александр Ривилис, а если в качестве аргументов для функций передавать ename-представления блоков чертежа, открытого через ObjectDBX? Если не рекомендуется, то почему (если, конечно, объяснения не потребуют диссертации на тему ObjectARX)?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 26.11.2010, 01:06
1 | #5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


1. Возможность вызова функций из lisp explodeallproxyinblock и explodeproxyentity я писал лет пять назад по просьбе Алексея Кулика и после этого к этим функциям не возвращался, т.к. не вижу в них смысла. Если уж расчленять прокси-примитивы, то все. Посмотрел реализацию этих функций. Однозначно функция explodeallproxyinblock работает только в текущем (активном) чертеже.
2. RemoveAllProxy в виде lisp-функции не существует и никогда существовать не будет. Причина в том, что после нее обязательно выполнять проверку чертежа (_AUDIT) - в большинстве случаев появляются неразрешенные ссылки на удаленные прокси-объекты. И иначе сделать нельзя. Точнее можно, но тогда никогда не удастся полностью избавится от прокси-объектов. А именно такую цель перед этой программой я ставил.
Александр Ривилис вне форума  
 
Непрочитано 26.11.2010, 01:18
#6
Лиспер


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


Ну не работает removeallproxy - и ладно, бог с ним. А вот то, что explodeallproxyinblock / explodeproxyinentity не реализовать для неактивного чертежа - обидно... Все равно спасибо за arx, жизнь без него сильно грустной становится.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 26.11.2010, 06:20
#7
smallmazila7


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


To Александр Ривилис
если explodeallproxy не желательно использовать, тогда подскажите, как организовать алгоритм из
http://forum.dwg.ru/archive/index.php/t-26592.html
описанный Алексеем Куликом по проверке и очистке чертежа от proxy объектов при работе с внешней ссылкой.
smallmazila7 вне форума  
 
Непрочитано 27.11.2010, 23:48
#8
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Мой совет очищать не lisp-программой, а вручную. Соответственно внешняя ссылка должна быть откыта в редакторе AutoCAD. Это должен пользователь осмысленно, зная чем это грозит. IMHO.
Александр Ривилис вне форума  
 
Непрочитано 28.11.2010, 00:25
#9
Лиспер


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


А метод открытия внешней ссылки имеет значение или нет? Ведь открывать можно как двойным кликом, так и выбором в конт.меню пункта "Open xref"...
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 28.11.2010, 02:38
#10
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Важно, чтобы внешняя ссылка была открыта как отдельный чертеж и он в момент запуска функций/команд был текущим. Способ открытия не имеет значения.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 29.11.2010, 07:39
#11
smallmazila7


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


спасибо
Александр Ривилис
и
Лиспер
за ответы!
smallmazila7 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Возможен ли вызов функций explodeallproxy и removeallproxy в lisp-функциях для неактичного чертежа?