CAD БИБЛИОТЕКА
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

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

Автоматическое удаление неиспользуемых внешних ссылок

Ответ
Поиск в этой теме
Непрочитано 23.09.2016, 08:47 #1
Автоматическое удаление неиспользуемых внешних ссылок
Малюк
 
проектировщик
 
Житомир
Регистрация: 03.05.2007
Сообщений: 644

Есть dwg файл. После манипуляций с файлом образуется большое количество неиспользуемых внешних ссылок.
Как в Extrenal References их автоматом удалить (нажал на что-то там там и удалилось)? А то если выделить всё удалятся и нужные ссылки.
Просмотров: 8354
 
Непрочитано 23.09.2016, 09:14
#2
Кулик Алексей aka kpblc
Moderator

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


Сортируешь по столбцу "Статус" и выделяешь что не надо. Автоматического удаления нет. Можно, конечно, попробовать поискать или самостоятельно написать программу, выполняющую такие действия...
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.09.2016, 11:28
#3
flareon

техник-геолог
 
Регистрация: 26.12.2009
Kenigsberg
Сообщений: 78


Вот эта штука из магазина приложений, сносит все Drawing Purge
flareon вне форума  
 
Автор темы   Непрочитано 23.09.2016, 13:43
#4
Малюк

проектировщик
 
Регистрация: 03.05.2007
Житомир
Сообщений: 644


Тут всё не просто. Значит первоначально.
В файле присутствуют динамические блоки. Блок представляет собой разные виды оборудования. Причём каждое оборудывание это отдельный файл и в динамический блок вставляется, как внешняя ссылка. Для дальнейшей работы нет необходимости в динамике блока (нужно то оборудование которое выбрано и другое не нужно) + зачем передавать лишнюю информацию это же лишние мегабайты.
Поэтому с помощью - LISP. Подготовка подосновы
http://forum.dwg.ru/showthread.php?t=66355&page=18
BGBLDYN2S
Я превращаю динамические блоки в статические. Сохраняю всё это с помощью etransmit. Но в итоге в папку со вложенными файлами попадает все файлы с оборудыванием которые были в динамическом блоке (они почему то не исчезли). Если открыть Extrenal References, то используемой внешней ссылке и не используемой статус один и тот же "Loaded" (походу они всё таки как-то используются), поэтому индифицировать их через Extrenal References нельзя.
Вложения
Тип файла: zip 1 - 2007.zip (1.53 Мб, 40 просмотров)
Малюк вне форума  
 
Непрочитано 23.09.2016, 14:18
#5
Кулик Алексей aka kpblc
Moderator

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


Мсье знает толк...
У тебя все ссылки остались на месте (они находятся в "неактивных видимостях"). Показать их можно, например, таким лиспом:
Код:
[Выделить все]
 (defun tt (/ adoc ent)
  (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
  (vlax-for subent (vla-item (vla-get-blocks adoc) (vla-get-effectivename (vlax-ename->vla-object (car (entsel)))))
    (vla-put-visible subent :vlax-true)
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Ткнешь на вхождение блока, потом после отработки функции войди в редактор блока. Радуйся.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.09.2016, 14:27
#6
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Днепройт
Сообщений: 4,404


Цитата:
Сообщение от Малюк Посмотреть сообщение
они почему то не исчезли
Объекты из неиспользуемых состояний видимости никуда не исчезли, они просто ушли в сумрак стали "постоянно-невидимы" (свойство Visible, имеющееся у всех объектов, установлено в False). А т.к. в чертеже присутствуют невидимые экземпляры всех внеш. ссылок, то и ссылки остаются загружены. Вывести их из сумрака Вернуть видимость можно командой OBV из Toolpack. Так что куй железо пока горячо чисти блок пока он динамический

kpblc опередил
__________________
Одно меня лишь радует - я это вижу сам! (С)
kp+ вне форума  
 
Непрочитано 23.09.2016, 14:56
#7
baksconstructor


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


Цитата:
Сообщение от Малюк Посмотреть сообщение
Тут всё не просто. Значит первоначально.
Всё предельно просто - выделить все ссылки в редакторе ссылок и нажать "Внедрить". Всё.
А если Вам надо другие варианты, то приложите нормальный файл примера, где есть то что надо оставить и то что надо удалить с подписью текстом о действии.
baksconstructor вне форума  
 
Непрочитано 23.09.2016, 15:09
#8
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Днепройт
Сообщений: 4,404


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
выделить все ссылки в редакторе ссылок и нажать "Внедрить"
Цитата:
Сообщение от Малюк Посмотреть сообщение
это же лишние мегабайты

По идее, автору нужен скрипт, который:
1) проверит, какие объекты блока находятся в невидимом состоянии;
2) удалит их;
3) отсоединит ставшие неиспользуемыми внешние ссылки.
Вообще-то это нетрудно сделать и вручную:
1) в редакторе блоков выбрать всЁ (CTRL+A). В набор попадут как видимые, так и невидимые объекты;
2) исключить видимые (Shift+рамка выбора)
3) Del. Удалятся только невидимые.
4) закрыть редактор блоков
5) повторить для всех сортов экс-динамических блоков
6) отсоединить освободившиеся внеш. ссылки
5) Profit
Но это ж сколько щелчков мыши и клавы...особенно если таких экс-динамических блоков достаточно много.
__________________
Одно меня лишь радует - я это вижу сам! (С)

Последний раз редактировалось kp+, 23.09.2016 в 15:20.
kp+ вне форума  
 
Непрочитано 28.09.2016, 12:54
#9
skkkk


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
По идее, автору нужен скрипт, который:
1) проверит, какие объекты блока находятся в невидимом состоянии;
2) удалит их;
3) отсоединит ставшие неиспользуемыми внешние ссылки.
1), 2) Тут по идее справится burst из Express Tools, а затем _-purge с нужными опциями, если не критично, что блока не станет вовсе. Если предварительно запомнить для взрываемого блока точку вставки, то следом можно блок создать заново из вновь появившихся после burst объектов. Для этого подойдут функции mip:mark и mip:get-last-ss из темы Отслеживание объектов появившихся после pasteclip, если заменить pasteclip на burst.
3) Думаю, подойдут коды из этих тем:
Как автоматизировать отсоединение неиспользуемых IMAGE?
Как автоматизировать отсоединение ненайденых IMAGE и XREF?
skkkk на форуме  
 
Непрочитано 24.11.2020, 08:30
#10
allar8


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


Люди добрые, всем доброго времени суток.
Чета давно я тут никому не надоедал))). Прошу прощения, если что)
Чета вот вспомнилось вдруг.
Имеются ли решения удаления неиспользуемых внешних ссылок из диспетчера внешних ссылок в одно нажатие с ярлыка.
Т.е. когда ссылок таких много, то сразу все их удалить из диспетчера внешних ссылок проблематично - акад несколько раз зависал, когда их все там выделяешь и удаляешь. А так бы нажал на кнопочку незаходя в диспетчер внешних ссылок и вуаля - диспетчер внешних ссылок подчистился сразу. Или описанная в посте #3 Drawing Purge енто тоже умеет. Подскажите если кто пользовался.
Заранее благодарен за ответы!
allar8 вне форума  
 
Непрочитано 25.11.2020, 19:36
1 | #11
skkkk


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


allar8, не это ли то, что надо?
skkkk на форуме  
 
Непрочитано 25.11.2020, 20:13
#12
allar8


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
allar8, не это ли то, что надо?
О это божественно!)
Низкий Вам поклон!)
allar8 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автоматическое удаление неиспользуемых внешних ссылок

Система Техэксперт дает уверенность в правильности и эффективности принимаемых инженерных решений!
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слои внешних ссылок Werwolf AutoCAD 20 25.07.2020 01:21
ФАТАЛЬНАЯ ОШИБКА: Unhandled Access Violation Reading 0x0000 Exception at 3d4a0045h AutoCAD 2011русский Nikolays AutoCAD 13 13.10.2015 14:57
Как удалить тип линии Tolyanovich AutoCAD 48 20.11.2014 09:24
C# обновление внешних ссылок при открытии файла Sfinks7s1 Программирование 1 27.06.2013 14:13
Проблема с шрифтами внешних ссылок evdm0011 AutoCAD 1 31.05.2013 14:29