NANOCAD ШОУ
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > ObjectARX. Расчленение и удаление proxy-объектов

ObjectARX. Расчленение и удаление proxy-объектов

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 25.10.2007, 12:08 3 | #1
ObjectARX. Расчленение и удаление proxy-объектов
Profan
 
Чужой
 
Москва
Регистрация: 25.12.2005
Сообщений: 13,666

Profan вне форума Вставить имя

Оригинал темы находится на форуме caduser.ru.

Автор программы Александр Ривилис.

Команда EXPLODEALLPROXY:
Разбивает вообще все proxy-объекты, неважно, где они лежат.
Команда REMOVEALLPROXY:
Удаляет все proxy-объекты и proxy-примитивы. Ее удобно выполнять
после EXPLODEALLPROXY — тогда она удалит все то, что не удалось расчленить.
================================================================================
Для вызова из VisualLisp:
(ExplodeProxyEntity ent)
ent — имя примитива вида <entity name: 321456465465465>. Расчленяет только этот
примитив, даже если он входит в блок.
Например: (explodeproxyentity (car (nentsel)))
(ExplodeAllProxyInBlock "имя блока")
Этой функции можно передавать не только имя блока, но и имя примитива внутри блока.
Например: (explodeallproxyinblock (car (nentsel)))
расчленит все прокси в блоке, на который указали.
Функции возвращают следующие значения:
0 success — успешное завершение
-1 parmerr — ошибка передачи параметра
-2 openerr — ошибка открытия proxy-объекта
-3 explerr — ошибка разбития proxy
-4 appenderr — ошибка добавления "состава" proxy в файл dwg.
-5 eraseerr — ошибка удаления исходного объекта.
Во всех случаях, кроме success и appenderr, требуется провести _AUDIT для файла.
arx-файлы для AutoCAD 2004...2006 и 2007 находятся здесь: http://www.maestrogroup.com.ua/support/ExplodeProxy.zip

Последний раз редактировалось Profan, 29.01.2010 в 11:36.
Просмотров: 250204
 
Непрочитано 25.10.2007, 13:42
#2
Кулик Алексей aka kpblc
Moderator

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


В процессе эксплуатации выяснились следующие тонкости, которые (как я думаю) просто отловить нереально:
1. При наличии ObjectEnabler'a для соответствующего софта объекты, распознаваемые ObjectEnabler'ом, не обрабатываются.
2. Объекты ADT (AA) в чистом AutoCAD'e соответствующей или более высокой версии не обрабатываются.
3. Объекты ADT 2006 в ADT 2005 не обрабатываются, хотя окно о наличии Proxy-графики показывается.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.10.2007, 14:35
#3
Александр Ривилис

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В процессе эксплуатации выяснились следующие тонкости, которые (как я думаю) просто отловить нереально:
1. При наличии ObjectEnabler'a для соответствующего софта объекты, распознаваемые ObjectEnabler'ом, не обрабатываются.
2. Объекты ADT (AA) в чистом AutoCAD'e соответствующей или более высокой версии не обрабатываются.
3. Объекты ADT 2006 в ADT 2005 не обрабатываются, хотя окно о наличии Proxy-графики показывается.
Для того, чтобы обрабатывались и эти объекты следует отключить загрузку "по требованию" (т.е. DEMANDLOAD установить в 0 или 2). И попробовать в этих условиях (после перезапуска AutoCAD, т.к. соответствующие dbx-и arx-файлы могли уже быть загружены). Ну а потом не забыть вернуть значение DEMANDLOAD назад.
Александр Ривилис на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 10:11
#4
Tasselhof


 
Регистрация: 11.10.2007
IT
Сообщений: 13


Господа, а нет ни у кого ARX для 2008 и 2009 версий ?
Tasselhof вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.05.2008, 10:19
#5
Profan

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


Этот вопрос может быть адресован только Александру Ривилису.
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 10:41
#6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,554
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Tasselhof, arx для 2007 работает и в 2008, и , наверное, в 2009 (не уверен)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 11:45
#7
Кулик Алексей aka kpblc
Moderator

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


Приложения, написанные для 2007, работают без перекомпиляции в 2008 и 2009.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.05.2008, 16:23
#8
Tasselhof


 
Регистрация: 11.10.2007
IT
Сообщений: 13


Спасибо.
Я немного ошибся при формулировке вопроса.
Автокад версии 2008 под WVB 64bit.
Насколько я понял проблема в том что ОС 64-х битная, а не в версии Автокада ?
Tasselhof вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.05.2008, 23:06
#9
Кулик Алексей aka kpblc
Moderator

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


Тут надо ждать Александра Ривилиса, а он сейчас, как я понял, в отпуске.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.05.2008, 07:32
#10
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Тут даже я могу проквакать. Вот что написано в FAQ по AutoCAD 2009. Заодно и про LISP и про VBA.

Для 32-битной версии:

Цитата:
Приложения, написанные на языках программирования Visual LISP®, AutoLISP®, VBA, ActiveX® и ObjectARX®, а
также специализированные модули для AutoCAD 2007 вполне совместимы с 32-битной версией AutoCAD 2009.

Приложения, разработанные под AutoCAD 2004, 2005 и 2006 на языках VisualLISP и AutoLISP, также совместимы с AutoCAD 2009.

В некоторых случаях 32-битная версия AutoCAD 2009 поддерживает приложения, написанные под AutoCAD 2004, 2005 и 2006 на языке VBA. В других случаях такие приложения
требуется модифицировать.

Приложения, разработанные под AutoCAD 2004, 2005 и 2006 на основе ActiveX и ObjectARX, потребуется обновить для работы в AutoCAD 2009.
Для 64-битной версии:

Цитата:
Приложения, разработанные под AutoCAD 2004, 2005 и 2006 на языках VisualLISP и AutoLISP, совместимы с 64-битной версией AutoCAD 2009.

Компанией Autodesk было разработано переходное внепроцессное решение для пользователей, которые предпочитают работать с приложениями VBA в 64-битной версии AutoCAD. Однако, для постоянной работы с 64-битной версией AutoCAD потребуется преобразовать приложения VBA в VSTA.

Приложения, разработанные под AutoCAD 2007 в среде VBA, работают в 64-битной версии AutoCAD 2009 во внепроцессном режиме. Если в некоторых случаях приложения VBA для AutoCAD 2004, 2005 и 2006 могут работать во внепроцессном режиме, то в других может потребоваться их модификация.

Приложения, разработанные под AutoCAD 2007 на основе ActiveX и ObjectARX, потребуется обновить для работы в 64-битной версии AutoCAD 2009.

Приложения, разработанные под AutoCAD 2004, 2005 и 2006 на основе ActiveX и ObjectARX, потребуется обновить до версии 2007, чтобы облегчить последующий переход на 64-битную версию.

Вот так вот. LISP, он и в 2009 LISP. А вот VBA - то ли можут, а то ли не можут - науке неизвестно.
А то, что на C++ на 64 бит само собой надо перекомпилировать. Блондинке понятно.
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 22.05.2008, 07:51
#11
Profan

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


Это многим понятно. И Александра Ривилиса здесь ждут не для того, чтобы спросить - нужно ли перекомпилировать, а потому, что он - автор программы и перекомпилировать сможет (если захочет) только он.
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.05.2008, 09:52
#12
Кулик Алексей aka kpblc
Moderator

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


BarbiЁ, без обид, хорошо? Если AutoCAD 2008 32 bit запущен под 64-битной версией, там надо перекомпилировать приложения или нет? А если AutoCAD 64 bit, то там, по-моему, и подгрузить-то приложения 32-битные невозможно...
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.05.2008, 07:43
#13
Александр Ривилис

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


Портировать свои приложения под AutoCAD'ы x64 я пока не собираюсь. Сейчас они работают только в 32-разрядных версиях AutoCAD.
Александр Ривилис на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 09:41
#14
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,247


Не знаю, туда ли...
Файл походу побывал в AutoCAD MEP. А у меня голый 2008-й. При сохранении выдаёт такую картинку (см. вложение). Попробовал программу Александра Ривилиса: EXPLODEALLPROXY - не нашёл ничего, REMOVEALLPROXY - нашёл кучу объектов, удалил. Потом проверил аудитом. Всё равно картинка при сохранении появляется.
Следующие запуски программы ни кчему ни приводят - EXPLODEALLPROXY и REMOVEALLPROXY ничего не находят.

Я так понял, программа Александра Ривилиса удаляет грфические PROXY, а здесь вроде как не графические. Как их удалить? Может можно добавить возможность их удаления в программу?
Хотя может я всё и не так понимаю...

Короче вот файл (см. вложение). Я там удалил всё что ни попадя.

ЗЫ Вот ещё часть лога ком. строки при открытии файла. Может это что-то прояснит:
Цитата:
Загружается модуль База AD...
Загружается модуль Удлиненная AD-база...
Загружается модуль AD Базовый ИП...
Загружается модуль Проектная база AD...
Загружается модуль Данные спецификации AD...
Загружается модуль Спецификация AD...
Загружается модуль AEC Architectural Base...
Загружается модуль AD Базовые несущие элементы...
Загружается модуль База площадей AD...
Загружается модуль База AD-размеров...
Миниатюры
Нажмите на изображение для увеличения
Название: message.png
Просмотров: 774
Размер:	9.6 Кб
ID:	10220  
Вложения
Тип файла: dwg
DWG 2004
test.dwg (93.0 Кб, 28073 просмотров)
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 09:44
#15
Кулик Алексей aka kpblc
Moderator

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


Аттача нет.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 10:28
#16
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,247


Прошу прощения. Сразу почему-то не получилось приложить.
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 10:33
#17
Кулик Алексей aka kpblc
Moderator

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


Такое ощущение, что делали в 2009 Или работаете в 2008, но сохранение выполняется в предыдущих версиях (а в АА, например, такой номер уже не прокатит).
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 10:52
#18
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,247


Сразу скажу, файл не выходил за пределы нашей конторы. А у нас только AutoCAD 2008 и AutoCAD MEP 2008. И ещё несколько Автокадов предыдущих версий (в частности 2004). 2009-го нет.
Сохраняем в формате 2004-го. Это как раз из-за тех немногих, у кого остался 2004-й.

Скажу как есть.
Мы (т.е. инж.-строители) выдаем задание на отверстия смежникам в электронном виде (планы этажей в dwg). Смежники наносят свои отверстия в этом же файле, заполняют таблицу отверстий и возвращают файл нам. Насколько мне известно, работают они в MEP'е. И вот как раз после них файл становится таким.

Надо что-то с этим сделать, потому что нам ещё нужно работать с данным файлом дальше.

ЗЫ Кстати, попробовал сохранить в формате 2007 - прошло без проблем. Выход только такой?
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 11:13
#19
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,554
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


У меня такое ощущение, что в MEP (возможно 2008, 2009) внедрены объекты вертикальных решений (например того же AA). Тогда в 2008 они не являются проксями, и плющилка от Александра Ривилиса их не опознает.
Вот что выдает 2006 Автокад (PROXYNOTICE=1)
В 2006 Автокаде REMOVEALLPROXY вычистила еще 362 объекта. Результат в файле test1.dwg
Кстати учти еще один факт: не имея никаких вертикальных рещений, сохраняя чертеж в формат 2004 из 2007, Автокады 2004-2006 могут вылетать.Autodesk выпустила для них hotfix'ы. Рекомендую поставить на оставшиеся 2004.
Выход пока у нас такой.
1. У всех пользователей PROXYNOTICE = 1.
2. Никаких object enabler'ов. Особенно в ранних версиях.
3. У пользователей нужно выработать рефлекс как у собаки Павлова: В случае появления окна о заместителях объектов сразу жать заветную кнопку.
4. Если пользователель работает в поздней (например 2008) версии, выставлено сохранение по умолчанию в 2004 и окно постоянно надоедает то:
- если у него есть чистый Автокад ранней (2006) версии, то открыть в нем и выполнить пункты 1,2,3
- если раннего Автокада нет, переслать мне для препарирования.
Миниатюры
Нажмите на изображение для увеличения
Название: test.png
Просмотров: 874
Размер:	69.3 Кб
ID:	10227  
Вложения
Тип файла: dwg
DWG 2004
test1.dwg (80.7 Кб, 28023 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.09.2008, 11:47
#20
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,247


VVA, огромное спасибо. Теперь всё нормально.
Правда осталось нехорошее ощущение, что если, например, выставлено сохранение по умолчанию в 2007, то всё проходит тихо, а вот всякая гадость в файле остаётся. Не нравится мне это.

Offtop: Вообще-то я написал один эпизод путешествия файла - после которого происходит данная фигня. На самом деле приключения файла более разнообразные.
Сначала архитекторы рисуют Ревите, экспортируют планы в Автокад, потом мы берём эти планы, делаем основу смежникам в Автокаде, потом, как я уже говорил, смежники нам на выходе дают планы отверстий, которые они сделали в МЕР'е, ну а затем мы всё это дорабатываем в том же Автокаде.
Так что такая вот дикая связка: Ревит-Автокад-МЕР-Автокад
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > ObjectARX. Расчленение и удаление proxy-объектов

 VetCAD++
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление объектов из пространства листа paradoxvaha Программирование 9 24.08.2007 14:25
Удаление объектов, сделанных недоступным ObjectARX-прил. жертва нашизма AutoCAD 11 25.07.2006 09:37
Удаление дублируюшихся объектов Арлинг AutoCAD 2 25.04.2004 13:56

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||