Удаление прокси-объекта в Автокаде
Октябрь 2014
Столкнулся с вопросом что же делает апостроф в записях на autoLISP, покопавшись в интернетах нашел это исчерпывающее объяснение. Ну и в меру своих сил постарался перевести его на русский язык:
Введение
Мой опыт показывает, что информации о назначении апострофа в записях на AutoLISP крайне мало, а разъяснения и уроки в которых он есть, если и объясняют его назначение то походя, как нечто само-собой разумеющееся.
Многих начинающих работать с AutoLISP этот символ часто ставит в тупик, когда попадается в коде.
Так же для начинающих далеко не очевидно в каких случаях его следует применять, а в каких напротив имеет смысл воспользоваться другими языковыми средствами.
Поэтому здесь я собрал объяснения и примеры, которые, я надеюсь, сделают понятным назначение и способы применения оператора апостроф и функции quote в языке AutoLISP.
Читать далее «Апостроф в autoLISP»
Сначала про динамику, хорошо?
Итак, мы создали уникальный динамический блок — несколько вариантов видимостей, масса зависимостей и теде, и тепе. Начинаем вставлять — опаньки, AutoCAD начинает безбожно тормозить. Мало того, как недавно выяснилось, файл может вообще не сохраниться при некоторых условиях.
Дело в том, что это только для пользователя вхождение динамического блока имеет одно и то же имя независимо от состояния его параметров. А вот для AutoCAD каждое такое вхождение — отдельный анонимный блок (кстати, именно поэтому не корректно работает знаменитый _attout). И, как мне кажется, на каждое вхождение «навешаны» объектные реакторы.
А теперь представьте: допустим, создан динамический блок с 2 состояниями видимости и в каждом пускай по 5 линейных параметров. В таблице блоков — 1 запись, плюс словарные записи, регулирующие поведение 10 параметров.Каждое вхождение — дополнительно 11 записей (не меньше!) Это же все равно, как в каждом вхождении руками создавать новый блок! Рано или поздно AutoCAD «ловит» переполнение по одному из критериев и начинаются танцы с бубнами для нормальной работы с afqkjd и его сохранения.
Именно поэтому лично я стараюсь динамику использовать «по минимуму» — там, где без нее совсем становится уныло. И очень осторожно, с минимальным набором параметров и видимостей.
Всю статью можно смело рекомендовать к прочтению. Мнение профессионала о внедряемых с маниакальной последовательностью нововведениях в Автокад.
В этой заметке собраны ссылки на приложения А.Ривилиса. Всем кто работает с Автокадом стоит ознакомиться с его программными расширениями, они просты в установке, и спасают огромное количество времени.
- Приложения А.Ривилиса
- Как загрузить приложение в Автокад
Приложения А.Ривилиса:
GeomProps — добавляет в стандартные свойства (ctrl+1) сумму длин примитивов, сумму площадей и сумму объёмов. Очень удобно когда надо быстро посчитать сумму выделенного. Описание проекта. (идеально работает вместе с SelSim, см.ниже)
Новые свойства после установки плагина
SelSim — быстрый выбор однотипных объектов с выбором параметров по которым можно их считать однотипными. Однозначно из разряда иметь и использовать.
Ускоряет работу в Автокаде в десятки раз. Можно быстро выбрать все линии на определенном слое, или определенного вида, блоки с одинаковым именем, и т.п.
После установки ищи в контекстном меню новые пункты Select Similar, Select Similar From Selected, Select Similar Settings.
ArxDgb — Приложение ArxDbg.arx полностью выводит скрытые связи объектов Автокада. По ссылке можно узнать подробнее и скачать архив с версиями под различные сборки AutoCAD. После загрузки файла ArxDbg.arx в автокад, кликаем правой кнопкой в пустую область чертежа и ищем новую строку в контекстном меню.
DWGConvert — позволяет конвертировать кодировки текста в dwg файле, т.е. лечит и чинит запущенные случаи кракозябр в Автокаде.
ExplodeProxy — взрывает прокси объекты на чертеже, например те которые остались после использования СПДС или еще каких надстроек. ExplodeProxy добавляет в Автокад две команды:
- Команда EXPLODEALLPROXY: Расчленяет все proxy-примитивы (которые можно расчленить, т.е. программист при их создании не указал флаг нерасчленяемости), во всем чертеже.
- Команда REMOVEALLPROXY: Удаляет все proxy-объекты и proxy-примитивы (в том числе и те, которые имеют флаг неудаляемости). Ее удобно выполнять после EXPLODEALLPROXY — тогда она удалит все то, что не удалось расчленить.
LayerFilter позволяет быстро включать выключать группы слоёв. Описание. UPD: Эти функции для добавление в меню кнопок включения/выключения/инверсии фильтров слоёв.
DynDraw — добавляет дополнительные возможности для работы с системой привязки. Лично я так и не разобрался в каких случаях стоит применять.
GetDwgProps это расширение позволяет, на сколько я понял, скопировать свойства одного dwg файла и перенести их в другой. В том числе и кастомные пользовательские свойства. Если вы используете UDA(пользовательские атрибуты) в файле чертежа для хранения каких-то переменных, которые потом в виде полей используете в чертежах, то получается незаменимая вещь
Как загрузить приложение в Автокад?
- Скачиваем и распаковываем архив.
(у меня все расширения, скрипты, шрифты, типы линий, библиотеки блоков живут в папке cadsupport)
- Набираем _appload в командной строке (ctrl+9 — вызвать командную строку в Автокаде, если она скрыта)
- В появившемся диалоге ищем подходящий вам arx, lsp… и так далее, файл.
- После нажатия кнопки Load(Загрузить) команда или приложение будут доступны в Автокаде.
P.S. обычно arx файл достаточно загрузить один раз, после чего он будет подгружаться автоматически. lsp и fas скрипты остаются в программе до перезагрузки, чтобы они постоянно были доступны можно добавить их в список автозагрузки (на скриншоте startup suitecontent).
P.P.S: http://www.maestrogroup.com.ua/support/ — обновления для части программ так же возможно поискать по этой ссылке.
Другие материалы по теме Автокад
структура файлов в модели Tekla Structures
Модель Tekla Structures состоит из целого ряда файлов и папок, здесь я постараюсь вкратце рассказать вам о наиболее важных из них.
Drawing — как следует из названия хранит чертежи. Однако если вы ожидаете увидеть там имена чертежей созданных в текле — вас ждет разочарование. Текла присваивает каждому чертежу уникальный номер — UID. И под ним сохраняет чертеж.
Причем после внесения изменений в чертеж, ему присваивается новый UID, под которым он и сохраняется. Это изрядно затрудняет синхронизацию чертежей, если модель была разделена на несколько локальных копий для смежной работы.
А в некоторых случаях и делает её вовсе — невозможной.
attributes — тут хранятся сведения о различных настройках созданных вами в модели. Например в каталоге компонентов выбрали компонент 1042 — база колонны, настроили его для себя, и сохранили эти настройки в виде прессета.
Вот эти сохранённые настройки и оказываются в папке attributes. Соответственно если вы хотите свои настройки перенести в другую модель, то обычно проще всего скопировать эту папку из одной модели в другую.Еще вариант это создать универсальную папку attributes в сетевой среде и прописать её в качестве основной для хранения пресетов в настройках Текла.
Читать далее «Структура файлов модели Текла. Tekla Structures, file structure of model»
Горячая история техподдержки, или Почему AutoCAD удаляет прокси-объекты?28.09.2018 17:34
Целью этой статьи не является дискредитация программного обеспечения. Статья носит исключительно информационный характер и предназначена для защиты конечного пользователя, который может при определенных обстоятельствах потерять свои данные, работая в 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, но всё же цель этой статьи не только предупредить пользователей. Главное — спасти их проекты. Поэтому хочу поделиться решениями этой проблемы.
1) Полное удаление приложения SDPS Extension через панель управления.
Радикально, но спасает все прокси.
2) Установка Enabler’ов под платформу AutoCAD.
Подходит не для всех прокси-объектов, так как не у всех приложений есть энейблеры под AutoCAD. Например, для продуктов nanoCAD СПДС/СПДС GraphiCS можно скачать Enabler для AutoCAD. После установки данного энейблера объекты СПДС перестанут быть прокси и больше не будут удаляться из AutoCAD.
Советы
Я призываю пользователей быть острожными и всегда хранить несколько копий своих проектов. nanoCAD, например, при открытии dwg-файла сразу делает средствами операционной системы его копию с расширением dwg.original; поэтому у вас всегда будет резервная копия исходного файла.
Если же вы пользуетесь другими САПР, то просто не поленитесь и вручную сделайте несколько копий своих проектов — на всякий случай.
Берегите свои dwg-файлы и удачного проектирования! Сергей Спирин, mahbak
АО Нанософт
Горячая история техподдержки, или Почему AutoCAD удаляет прокси-объекты?
Целью этой статьи не является дискредитация программного обеспечения. Статья носит исключительно информационный характер и предназначена для защиты конечного пользователя, который может при определенных обстоятельствах потерять свои данные, работая в AutoCAD.
SPDS Extension или модуль СПДС — дополнение к продуктам семейства AutoCAD, разрабатываемое компанией Autodesk.
СПДС GraphiCS — кроссплатформенное приложение, предназначенное для разработки проектно-технической документации, разрабатываемое компанией CSoft Development.
nanoCAD СПДС — тот же самый СПДС GraphiCS, но на платформе nanoCAD Plus от компании Нанософт.