Что такое прокси графика, и зачем она нужна?
Прокси графика — это понятие из программы AutoCAD. Она применяется и используется тогда, когда нужно представить сторонние объекты, а адаптер этих объектов не доступен.
Объекты, открытые через прокси графику, не будут иметь всех атрибутов и не будут отображать в точности всех тех объектов, нежели они бы были открыты через адаптер этих объектов.
автор вопроса выбрал этот ответ лучшим
Прокси-графика
Если адаптер объектов не доступен, то вместо стороннего объекта можно использовать прокси-графику. Прокси-графика используется для представления сторонних объектов. Они не отражают в точности сторонние объекты и не имеют всех атрибутов этих объектов.
При построении прокси-объектов в AutoCAD MEP 2023 toolset отображается диалоговое окно «Информация о прокси-объектах». В этом диалоговом окне содержится следующая информация.
- Общее количество графических и неграфических прокси-объектов в чертеже
- Название недостающего приложения
- Тип и экранное состояние прокси-объекта
Для управления экранным представлением прокси-объектов можно использовать диалоговое окно «Информация о прокси».
Понятия, связанные с данным
CADmaster
Горячая история техподдержки, или Почему AutoCAD удаляет прокси-объекты?
При работе с пользовательским обращением в службу техподдержки выяснилось неприятное обстоятельство: AutoCAD с установленным приложением SPDS Extension удаляет из *.dwg-файлов все прокси-объекты. Как это происходит, что получается в результате и, главное, как защититься от последствий ошибки в приложении к AutoCAD?
Скачать статью в формате PDF — 2.25 Мбайт
Главная » CADmaster №2(88) 2018 » Платформы САПР Горячая история техподдержки, или Почему AutoCAD удаляет прокси-объекты?
Дисклеймер
Целью этой статьи не является дискредитация программного обеспечения. Статья носит исключительно информационный характер и предназначена для защиты конечного пользователя, который может при определенных обстоятельствах потерять свои данные, работая в AutoCAD.
Предисловие
SPDS Extension или модуль СПДС — дополнение к продуктам семейства AutoCAD, разрабатываемым компанией Autodesk.
СПДС GraphiCS — кроссплатформенное приложение, предназначенное для подготовки проектно-технической документации. Разработчик — компания CSoft Development.
nanoCAD СПДС — тот же самый СПДС GraphiCS, но на платформе nanoCAD Plus от компании «Нанософт».
История
Разгребая утреннюю почту, наткнулся на обращение пользователя в техническую поддержку. Тема письма в принципе объясняла суть проблемы: «Объекты nanoCAD СПДС не отображаются в AutoCAD». К письму, как и полагается, были приложены файлы, скриншоты и подробное описание действий пользователя. Если говорить кратко, то суть обращения сводилась к следующему: пользователь создал проект в nanoCAD СПДС и передал его подрядчикам. Подрядчики, открывая этот файл в AutoCAD, не видят объектов СПДС.
Опытные пользователи сразу скажут, что скорее всего подрядчики просто не включили отображение прокси-объектов, поэтому и не видят данные, которые были созданы в специализированном приложении. Но, как оказалось, всё не так просто…
Исследование проблемы
Первым делом открываем файл в nanoCAD СПДС и проверяем состояние переменных proxyshow и proxygraphics. Всё в порядке, оба значения равны единице и файл отображается корректно.
proxyshow — переменная, которая управляет отображением прокси-объектов в чертеже;
proxygraphics — переменная, которая управляет сохранением прокси-объектов в чертеже.
Затем проверяем этот же файл в AutoCAD. При запуске файла появляется всплывающее сообщение, которое спрашивает, что нужно делать с проксями.
Выбираем опцию Показывать прокси-графику и нажимаем ОК. Всё в порядке, на моей машине AutoCAD корректно отображает все объекты nanoCAD СПДС.
С полной уверенностью, что я знаю причину проблемы, закрываю файл и пишу пользователю, что у подрядчиков скорее всего скрыты прокси-объекты в AutoCAD. Даю рекомендацию проверить значение переменной proxyshow (оно должно быть равным единице) прямо из командной строки AutoCAD.
Неожиданные открытия
Утром следующего дня получаю от пользователя ответ: значение переменной равно единице, но объекты по-прежнему не отображаются. К слову, чертеж у подрядчика выглядел вот так (вместо плана отображались лишь размеры и несколько отрезков):
Начинаю разбираться, почему один и тот же файл с одинаковыми значениями переменных может по-разному отображаться в AutoCAD. Дело в операционной системе? В версии AutoCAD? Может, у пользователя стоят какие-то дополнительные приложения? В общем, чтобы понять разницу в конфигурациях, запросил у пользователя больше данных.
Еще раз внимательно просмотрев материалы пользователя, замечаю на одном из скриншотов одну маленькую, но важную деталь. На скриншоте подрядчика в AutoCAD был установлен модуль СПДС или, как его еще называют, SPDS Extension.
В моей конфигурации был чистый AutoCAD без всяких надстроек — и, по сути, это оказалось единственной зацепкой. Не дождавшись от пользователя дополнительных данных, начинаю копать дальше.
Загрузив с официального сайта Autodesk модуль СПДС, устанавливаю его на свою версию AutoCAD 2018. Далее запускаю файл пользователя и вижу привычное сообщение. При этом объекты nanoCAD СПДС отображаются в AutoCAD еще до закрытия окна информации о прокси-объектах.
С мыслью «Мое расследование заходит в тупик» нажимаю кнопку ОК и готовлюсь к дальнейшим действиям. Через мгновение все прокси-объекты исчезают и я получаю тот же результат, что и подрядчики из обращения пользователя.
Перезагружаю AutoCAD и снова открываю этот файл — картина повторяется. Прокси-объекты исчезают из файла, хотя значение переменной proxyshow равно единице. И это очень странно.
Сохранив открытый в AutoCAD файл рядом с файлом, полученным от пользователя, и дописав в название файла _proxy, сравниваю их размеры.
Размер файла, сохраненного в AutoCAD, уменьшился в 10 раз, но я решаю открыть его в исходном приложении — nanoCAD СПДС.
Теперь и в nanoCAD СПДС наблюдаю ту же картинку, что при открытии файла в AutoCAD с модулем СПДС. Выходит, что после сохранения в AutoCAD файл пользователя потерял все прокси-объекты.
Удалять чужие прокси очень некрасиво. Решаю проверить данный баг, используя прокси от собственных приложений Autodesk. Нахожу в сети несколько файлов, созданных в приложениях Civil 3D и Advance Steel, и повторяю вышеупомянутый эксперимент, открывая чертежи с прокси-объектами. Во всех случаях после запуска этих файлов прокси-графика удалялась. Получается, что с модулем SPDS Extension многоуважаемый AutoCAD удаляет любые прокси.
Решаю откатиться к своей старой конфигурации AutoCAD и удаляю модуль СПДС от Autodesk, чтобы снова проверить работу файлов с прокси-объектами. Как ни странно, они снова стали нормально сохраняться. Из всего увиденного делаю окончательный вывод:
AutoCAD с установленным модулем СПДС удаляет все прокси-объекты из *.dwg-файлов.
Решение
Можно только предполагать, сколько пользователей потеряли свои данные из-за ошибки приложения SPDS Extension, но всё же цель этой статьи не только предупредить пользователей. Главное — спасти их проекты. Поэтому хочу поделиться решениями этой проблемы.
-
Полное удаление приложения SDPS Extension через панель управления.
Советы
Я призываю пользователей быть острожными и всегда хранить несколько копий своих проектов. nanoCAD, например, при открытии *.dwg-файла сразу делает средствами операционной системы его копию с расширением dwg. original; поэтому у вас всегда будет резервная копия исходного файла.
Если же вы пользуетесь другими САПР, то просто не поленитесь и вручную сделайте несколько копий своих проектов — на всякий случай.
Берегите свои *.dwg-файлы и удачного проектирования!
Удаление прокси-объекта в Автокаде
Прокси-объекты — это элементы, которые созданы в сторонних приложениях и импортированы в Autocad, при этом создавшее их приложение недоступно. Они обычно ограничены в возможностях по сравнению с обычными сторонними объектами, с ними не всегда корректно производятся некоторые действия, а часто они и совсем недоступны. Например, не редактируются или занимают много памяти, обладают неправильной структурой, выдают ошибку о невозможности поместить в буфер обмена. Чтобы решить эту проблему, можно либо установить приложение, в котором создавался элемент, либо удалить прокси-объект в Автокаде.
Проблема в том, что таких приложений может быть не одно, а несколько разных. Многие из которых и стоят недёшево. Покупать ради такого случая программное обеспечение не имеет смысла.
Использование ExplodeAllProxy
Чтобы легко произвести удаление proxy, скачайте инструмент ExplodeProxy http://www.maestrogroup.com.ua/support/ExplodeProxy.zip. Разархивируйте его в любую папку на компьютере. Далее в Автокаде выполните следующие действия:
- Зайдите в «Управление».
- Нажмите кнопку «Приложения».
- Выберите из скаченной папки файл с названием, соответствующим вашей версии AutoCad и разрядности операционной системы.
- Нажмите «Загрузить».
- Также вы можете добавить этот инструмента в автозагрузки, нажав соответствующую кнопку в окне. В результате, он будет автоматически запускаться при старте программы.
ВАЖНО. При перемещении папки с ExplodeProxy в другое расположение, он не будет подгружаться в Автокад. Не перемещайте его или придётся заново добавлять в программу.
Далее нужно выполнить следующие действия:
-
После успешной загрузки программы нужно выполнить расчленение proxy-объектов. Для этого в командной строке Автокад наберите EXPLODEALLPROXY. Расчленить, или, как ещё по-другому можно сказать, «взорвать» блок, означает, что он будет разгруппирован до первоначальных элементов. Таким образом, вы сможете внести нужные изменения и снова собрать группу. В случае с proxy действие позволит избавиться от нередактируемых и некопируемых элементов.
Команда explodeallproxy в Автокаде
Команда removeallproxy в Автокаде
Рассмотрим, как узнать, из какого именно приложения попали в документ эти proxy:
- Правым щелчком мыши в окне документа выберите в меню «Параметры».
- Перейдите на вкладку «Открытие сохранения».
- Поставьте галочку в пункте «Выводить окно сведений о прокси объектах».
- Теперь закройте и заново откройте чертёж.
- При открытии документа появится окно «Информация о proxy-объектах».
Информация о proxy-объектах в Автокаде
После выполнения действий по расчленению и удалению неразделённых прокси рекомендуется выполнить команду Purge. Она позволяет очистить документ от ненужной информации, например, неиспользуемых блоков, слоёв, текстовых стилей, типов линий и элементов. Если вы просто удалите элементы, то информация о них в программе останется. Например, в списке слоёв они будут отображаться как не содержащие объектов. Чтобы полностью удалить ненужные элементы чертежа выполните следующее:
- Наберите команду PURGE.
- Появится окно со списком найденных объектов, нажмите Purge.
- Чтобы удалить всё в следующем диалоге нажмите «Purge all items».
- Повторите действия последовательно для всех групп блоков до тех пор, пока будет активна кнопка «Purge».
Таким образом, можно удалить ненужные прокси объекты и их остатки в Автокаде. Обычно просто встроенной команде «Разделить» они не поддаются и приходится применять специальную утилиту ExplodeProxy, после чего проводить проверку и чистку документа. В итоге можно будет свободно с ним работать, кроме того, благодаря этим действиям он существенно уменьшится в размере.