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

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

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

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

Оригинал темы находится на форуме 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...2021 находятся здесь: https://adn-cis.org/assets/files
Важно! Перед применением обязательно читайте README.TXT - он существует не просто так и несет в себе необходимую информацию!

Последний раз редактировалось Кулик Алексей aka kpblc, 20.11.2020 в 19:42.
Просмотров: 559189
 
Непрочитано 24.08.2018, 15:14
#221
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,825
<phrase 1=


Павел Константинов, а сам что?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 24.08.2018, 21:28
#222
Кулик Алексей aka kpblc
Moderator

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


Учитывая сообщения вида
Код:
[Выделить все]
Substituting [simplex.shx] for [CS_Gost2304.shx].
Substituting [simplex.shx] for [CS_Gost2304.shx].
СПДС GraphiCS в полный рост?
Вложения
Тип файла: dwg
DWG 2013
Добровольческая,29.dwg (438.7 Кб, 73 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.08.2018, 05:24
#223
Павел Константинов


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


CпасиБО!
Павел Константинов вне форума  
 
Непрочитано 16.10.2018, 10:24
#224
Pers1


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


Здравствуйте. После загрузки arx файлов перестал запускаться автокад 2018.
Pers1 вне форума  
 
Непрочитано 16.10.2018, 10:28
#225
Pers1


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


Сначала запрашивает загрузку, затем зависает, раздвоив панель инструменов.

----- добавлено через ~2 мин. -----
Запустить автокад не удается. Возможно ли в ручную отключить их загрузку без запуска автокада?
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок1.PNG
Просмотров: 99
Размер:	119.2 Кб
ID:	207112  Нажмите на изображение для увеличения
Название: Снимок2.PNG
Просмотров: 83
Размер:	98.6 Кб
ID:	207113  Нажмите на изображение для увеличения
Название: Снимок3.PNG
Просмотров: 80
Размер:	45.7 Кб
ID:	207114  
Pers1 вне форума  
 
Непрочитано 16.10.2018, 10:30
#226
Кулик Алексей aka kpblc
Moderator

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


Какая разрядность ACAD'a? Установлены обновления? Что будет, если arx поместить на локальную машину?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.10.2018, 10:31
#227
Pers1


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


Цитата:
Сообщение от Pers1 Посмотреть сообщение
Сначала запрашивает загрузку, затем зависает, раздвоив панель инструменов.

----- добавлено через ~2 мин. -----
Запустить автокад не удается. Возможно ли в ручную отключить их загрузку без запуска автокада?
Спасибо, все проблемы решились. Александр, извиняюсь за панику!
Pers1 вне форума  
 
Непрочитано 16.10.2018, 10:42
#228
Кулик Алексей aka kpblc
Moderator

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


Как решились-то?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.10.2018, 11:03
1 | #229
Александр Ривилис

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


Цитата:
Сообщение от Pers1 Посмотреть сообщение
Возможно ли в ручную отключить их загрузку без запуска автокада?
Или удалить/переименовать сами arx-файлы или убрать загрузку в реестре (удалить ветки):
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R22.0\ACAD-1001:419\Applications\explodeproxy2018x64
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R22.0\ACAD-1001:409\Applications\explodeproxy2018x64
Для других версий AutoCAD аналогично.
Но к тому что у Вас на экране ExplodeProxy отношения не имеет. Ищите причину в другом.
Александр Ривилис вне форума  
 
Непрочитано 16.10.2018, 16:47
#230
Pers1


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Как решились-то?
Пока никак, просто надо ждать подольше. Сначало думал автокад завис, несколько раз перезапускал. Разбираюсь пока.
Pers1 вне форума  
 
Непрочитано 19.10.2018, 00:07
#231
Тубус


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


Здравствуйте. Скажите, а как-то можно очистить от прокси-обхектов dwg файл в автокадах версии LT? У нас в офисе 9 из 10 станций оснащены версиями автокад LT 2007-2011 и только на одной полный автокад 2009 в котором и чистим файлы. Утилиты работают только в полных версиях?
Тубус вне форума  
 
Непрочитано 19.10.2018, 00:11
1 | #232
Александр Ривилис

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


Цитата:
Сообщение от Тубус Посмотреть сообщение
Утилиты работают только в полных версиях?
Да. AutoCAD LT не поддерживает возможность загрузки приложений. Поэтому он и дешевле полного AutoCAD в несколько раз.
Александр Ривилис вне форума  
 
Непрочитано 19.10.2018, 00:18
#233
Тубус


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


Александр, спасибо Вам за оперативный ответ и особенно - Ваши утилиты. Хочу задать ещё вопрос. Пример - простой файл dwg, но весит 200 Мб. При очистке указывает, что в файле примерно 275000 прокси-объектов. После очистки сохраняем, файл с 200 Мб, становится 3 Мб. Потом пользователь открывает его, и что-то переносит (копирует) из другого , захламлённого прокси-объектами файла. Например - простую линию. Сохраняет и вновь файл весит 180-200 Мб и при чистке указывает о наличии примерно 250000-290000 объектов прокси. Вопрос: можно как-то исключить (отключить) возможность копирования прокси-объектов из "грязных" файлов в очищенный ?

Последний раз редактировалось Тубус, 19.10.2018 в 00:24.
Тубус вне форума  
 
Непрочитано 19.10.2018, 00:32
#234
Александр Ривилис

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


Цитата:
Сообщение от Тубус Посмотреть сообщение
Вопрос: можно как-то исключить (отключить) возможность копирования прокси-объектов из "грязных" файлов в очищенный ?
Не копировать через буфер обмена, а пользоваться командами ПБЛОК (_WBLOCK) и ВСТАВИТЬ (_INSERT). Это частично избавит от проблем.
Александр Ривилис вне форума  
 
Непрочитано 19.10.2018, 00:39
#235
Тубус


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


Спасибо! Попробуем.
И если можно ещё один вопрос уровня песочницы если можно: кроме удаления прокси-объектов вашими утилитами, очисткой Purge, как ещё можно (и можно ли) уменьшить файл автокада?. Имею в виду , нужны ли ещё какие-либо дополнительные чистки файла или отключение подгрузок каких-либо функций, которые автоматом устанавливаются при установке автокада и не требуются обычному пользователю (типа "снять/поставить галочку в настройках)?
Тубус вне форума  
 
Непрочитано 17.08.2019, 07:13 после ObjectARX не сохраняется в 16 цивеле
#236
nik120927


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


день добрый установил ваше приложение Тема: ObjectARX. Расчленение и удаление proxy-объектов на 17 цивил после удаления всех объектов в 16 цивеле отказывается сохраняться
сам чертеж тоже приложу
Миниатюры
Нажмите на изображение для увеличения
Название: 2016 не сохраняет.jpg
Просмотров: 89
Размер:	161.9 Кб
ID:	216902  
Вложения
Тип файла: rar 11.rar (2.32 Мб, 37 просмотров)
nik120927 вне форума  
 
Непрочитано 17.08.2019, 11:19
#237
Александр Ривилис

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


Цитата:
Сообщение от nik120927 Посмотреть сообщение
день добрый установил ваше приложение Тема: ObjectARX. Расчленение и удаление proxy-объектов на 17 цивил после удаления всех объектов в 16 цивеле отказывается сохраняться
сам чертеж тоже приложу
Попробуй приложенный чертеж.
Вложения
Тип файла: rar 11.rar (1.10 Мб, 64 просмотров)
Александр Ривилис вне форума  
 
Непрочитано 31.03.2020, 08:02
#238
zRaFiNaDz


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


Цитата:
Сообщение от VVA Посмотреть сообщение
Вариант в виде команды
Код:
[Выделить все]
(defun C:DR ()
(mapcar
'(lambda(d)
(vl-catch-all-apply '(lambda()(dictremove (namedobjdict) d))))
(mapcar 'cdr(vl-remove-if-not '(lambda(x)(= (car x) 3))(entget(namedobjdict))))
) )
В командной строке набирать DR (Dict Remove)
=== Добавлено
Вариант со списком игнорируемых словарей + purge + audit
Код:
[Выделить все]
(defun c:dr (/ notdelete adoc)
;;;notdelete список неудаляемых словарей
 (vl-load-com)
(setq adoc      (vla-get-activedocument (vlax-get-acad-object)) 
      notdelete  '("ACAD_IMAGE_DICT" "ACAD_COLOR" "ACAD_FIELDLIST" "ACAD_GROUP" "ACAD_IMAGE_VARS"
            "ACAD_LAYOUT" "ACAD_MATERIAL" "ACAD_MLEADERSTYLE" "ACAD_MLINESTYLE" "ACAD_PLOTSETTINGS"
            "ACAD_PLOTSTYLENAME" "ACAD_SCALELIST" "ACAD_TABLESTYLE" "ACAD_VISUALSTYLE" "ACAD_WIPEOUT_VARS"
            "ACAD_PDFDEFINITIONS" "ACAD_DWFDEFINITIONS" "ACAD_BACKGROUND" "ACAD_CIP_PREVIOUS_PRODUCT_INFO" "ACAD_COLOR" 
            "ACAD_DETAILVIEWSTYLE" "ACAD_SECTIONVIEWSTYLE" "AcAec" "AcDbVariableDictionary" "AcDsDecomposeData"
            "ADE_QUERY_LIBRARY" "AEC_CLASSIFICATION_SYSTEM_DEFS" "AEC_DISP_REP_CONFIGURATIONS" "AEC_DISP_REP_SETS"
            "AEC_DISP_REPS" "AEC_DISPLAY_PROPS_DEFAULTS" "AEC_PROPERTY_SET_DEFS" "AEC_VARS" "ASE_INDEX_DICTIONARY"
            "Autodesk_MAP" )
) ;_ end of setq 
  (vla-startundomark adoc)
  (mapcar
    '(lambda (d)
       (vl-catch-all-apply '(lambda ()
                              (if (not (member d notdelete))
                                (dictremove (namedobjdict) d)
                                ) ;_ end of if
                              ) ;_ end of lambda
                           ) ;_ end of vl-catch-all-apply
       ) ;_ end of lambda
    (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 3)) (entget (namedobjdict))))
    ) ;_ end of mapcar
  (repeat 3 (vla-purgeall adoc))
  (vla-auditinfo adoc :vlax-true)
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Для удаления всех словарей кроме автокадовских смотрим команду DR отсюда
Доброго дня. Использовал ваш лисп для очистки чертежей для быстрого копипаста. Спасибо за такой лисп!!! Копипаст после очистки просто летает (до этого полминуты думал при копировании и полминуты при вставке). Но есть одно но: я работаю в связке екселя и автокада, и при DR удаляются связи с данными. А можно как-то изменить код лиспа, чтобы не удалять связи? Есть проекты где по 20 связей - восстанавливать очень долго.
zRaFiNaDz вне форума  
 
Непрочитано 20.11.2020, 15:21
#239
Shturman121


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


Здравствуйте. Установил себе автокад 2021 (до этого был 2016), Так вот ExplodeProxy не работает на автокад 2021 хотя на 2016 работал нормально. Есть ли версия ExplodeProxy для автокад 2021? Или что нужно сделать?
Shturman121 вне форума  
 
Непрочитано 20.11.2020, 16:11
#240
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,825
<phrase 1=


Цитата:
Сообщение от Shturman121 Посмотреть сообщение
Есть ли версия ExplodeProxy для автокад 2021? Или что нужно сделать?
А заглянуть в 1 сообщение не судьба?
https://forum.dwg.ru/showpost.php?p=177868&postcount=1
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > ObjectARX. Расчленение и удаление proxy-объектов

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

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


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