Дисклеймер
Целью этой статьи не является дискредитация программного обеспечения. Статья носит исключительно информационный характер и предназначена для защиты конечного пользователя, который может при определенных обстоятельствах потерять свои данные, работая в AutoCAD.
Предисловие
SPDS Extension или модуль СПДС – дополнение к продуктам семейства AutoCAD, разрабатываемое компанией Autodesk.
СПДС GraphiCS – кроссплатформенное приложение, предназначенное для разработки проектно-технической документации, разрабатываемое компанией CSoft Development.
nanoCAD СПДС — тот же самый СПДС GraphiCS, но на платформе nanoCAD Plus от компании Нанософт.
История
Разгребая утреннюю почту, наткнулся на обращение пользователя в техническую поддержку. Тема письма в принципе объясняла суть проблемы: «Объекты nanoCAD СПДС не отображаются в AutoCAD». К письму, как и полагается, были приложены файлы, скриншоты и подробное описание действий пользователя. Если говорить кратко, то суть обращения сводилась к следующему: пользователь создал проект в nanoCAD СПДС и передал его подрядчикам. Подрядчики, открывая этот файл в AutoCAD, не видят объектов СПДС.
Опытные пользователи сразу скажут, что скорее всего подрядчики просто не включили отображение прокси-объектов, поэтому и не видят данные, которые были созданы в специализированном приложении. Но, как оказалось, всё не так просто…
Исследование проблемы
Первым делом открываем файл в nanoCAD СПДС и проверяем состояние переменных proxyshow и proxygraphics. Всё в порядке, оба значения равны единице и файл отображается корректно.
proxyshow – переменная, которая управляет отображением прокси-объектов в чертеже;Затем проверяем этот же файл в AutoCAD. При запуске файла появляется всплывающее сообщение, которое спрашивает, что нужно делать с проксями.
proxygraphics – переменная, которая управляет сохранением прокси-объектов в чертеже.
Выбираем опцию Показывать прокси-графику и нажимаем ОК. Всё в порядке, на моей машине 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, но всё же цель этой статьи не только предупредить пользователей. Главное – спасти их проекты. Поэтому хочу поделиться решениями этой проблемы.
1) Полное удаление приложения SDPS Extension через панель управления.
Радикально, но спасает все прокси.
2) Установка Enabler'ов под платформу AutoCAD.
Подходит не для всех прокси-объектов, так как не у всех приложений есть энейблеры под AutoCAD. Например, для продуктов nanoCAD СПДС/СПДС GraphiCS можно скачать Enabler для AutoCAD. После установки данного энейблера объекты СПДС перестанут быть прокси и больше не будут удаляться из AutoCAD.
Советы
Я призываю пользователей быть осторожными и всегда хранить несколько копий своих проектов. nanoCAD, например, при открытии dwg-файла сразу делает средствами операционной системы его копию с расширением dwg.original; поэтому у вас всегда будет резервная копия исходного файла.
Если же вы пользуетесь другими САПР, то просто не поленитесь и вручную сделайте несколько копий своих проектов – на всякий случай.
Берегите свои dwg-файлы и удачного проектирования!
Сергей Спирин, mahbak
АО Нанософт
Комментарии (15)
Hwd
29.09.2018 17:00Хотя… Если удаляются прокся и самой доски, то скорее это очередная безалаберность. Ведь выпускать в прод дырявое ведро ао маркетинговому плану каждую весну.
Hwd
29.09.2018 19:05T9, будь он неладен :) Должно было быть так:
> Ведь выпускать в PROD дырявое ведро по маркетинговому плану нужно каждую весну.
trir
30.09.2018 03:04+2SPDS Extension адище полное — от него словари пухнут как от вируса и AutoDESK не собирается его исправлять. AutoDESK вообще не собирается исправлять баги в своих продуктах — им вообще пофиг на пользователей — только деньги несите
trir
30.09.2018 03:08+1
Ifuckmydreams
30.09.2018 10:36Спасибо, хорошая статья, буду иметь ввиду. Фирма, как и я, совсем недавно перешла на Нанокад.
serGV_IT
30.09.2018 16:30+2Очень актуальный сюжет с ликвидацией чужих прокси в AutoCad. Автору хорошо бы уточнить версию, с которой это все началось. У нас стоит Enabler СПДС для AutoCAD и поэтому при открытии файлов из Нанокад СПДС мы проблем не обнаружили. Но рядом пользователи, у которых всё не так… А разработке AutoDesk надо предупреждать хотя бы, что делают. Или мы все уходим в Нанокад СПДС.
mahbak Автор
30.09.2018 16:32Исследуем этот вопрос, может кто-то из сообщества пользователей тоже подключится…
serGV_IT
01.10.2018 11:04+2Мы проверили на AutoCad-2016 с SPDS Extension c открытием файла с СПДС-прокси из NanоCad СПДС-8. Потери прокси не обнаружили. Отображение имеется. Файл после сохранения в Autocad уменьшается в размере в несколько раз, но это это такой ужимающий сервис от AutoDesk в новых версий. Значит, это обрезание прокси появилось в последних версиях (2017-2018). С Civil были ранее проблемы с пропажей сторонних прокси в версии -2016… Надо уточнить реальное наличие параметра proxygraphics=1 в файле от nanoCad. Там пока не все ясно. Мы его сохраняем в файл принудительно.
mahbak Автор
01.10.2018 11:15+1По поводу переменной proxygraphics=1: принято решение в новых версиях nanoCAD СПДС /SPDS Graphics сохранять переменную принудительно.
serGV_IT
01.10.2018 14:49В новых версиях каких? Начиная с 10-й? Мы также выявили, что процесс зависит от чистоты эксперимента. Если создать прокси в Нанокад СПДС и открыть файл в AutoCad-2016+Ext, то все нормально. А если этот файл еще сохраняли и в других средах, то с прокси все идет криво. Возникает ощущение ералаша. Наверное, это самое и творится в AutoDesk…
mahbak Автор
01.10.2018 15:42+1Вопрос с изменением переменной proxygraphics сейчас стоит на контроле. Пока не удалось точно выяснить, кто его всё-таки выключает: либо сам пользователь, либо какое-то стороннее приложение.
P.S. Сейчас вышла новая версия nanoCAD СПДС — 9.0 (Она базируется на основе платформы 10.1). Исправление с принудительным включением переменной proxygraphics скорее всего появится в ближайшем техническом апдейте.
eteh
На самом деле все эти прокси объекты большая беда — своих сотрудников уже отучил от их использования, но сторонних, к сожалению, не получится...
dows
беда, не беда, но это концепция работы, которую закладывал в формат DWG сам Autodesk. Лично меня очень удивило, что они уже несколько лет держат на рынке addon, который фактически уничтожает данные внутри DWG файла. Причем по реакции некоторых спецов на эту статью — Autodesk Community хорошо знают эту проблему, но решать не собираются… очень странно…