В отличие от предыдущей темы – сегодня очень простая, но в то же время крайне полезная статья. Давно искал инструмент, который может если не на 100%, то на 80% защитить мою интеллектуальную собственность. Судя по названию, думаю, уже догадались, о чем эта статья.
Некоторые заказчики требуют предоставить проектно-сметную документацию в электронном виде. Это даже прописывают в договоре.
Но, я считаю, что документация должна передаваться заказчику исключительно в формате pdf, поскольку на листах могут присутствовать подписи разработчиков.
Что делать, если проект (чертеж) нужно передать в формате dwg?
Такое тоже часто бывает. И это вполне нормально, если заказчик будет использовать эти файлы исключительно для своих, некоммерческих целей.
Для меня основная ценность проекта – мои динамические блоки, которые постоянно совершенствую и на которые потрачено очень много времени.
При передаче dwg файлов мне хочется, чтобы хотя бы моими динамическими блоками он не смог воспользоваться, но при этом у него была бы возможность редактировать файл.
На блоге у меня имеется статья: Как защитить файл AutoCADa? Описанный там способ не решает поставленных задач, поэтому я искал нечто более совершенное.
Если блок простой, то его достаточно разбить на примитивы стандартным инструментом программы AutoCAD. Но, если в блоке используются атрибуты, то здесь могут возникнуть сложности.
Также я дополнительно устанавливал панель EXSPRESS, но блоки с атрибутами разбивались некорректно.
Ползая по просторам интернета, я наткнулся на очень полезное приложение (bgtools 3.1а.lsp).
Загружается оно в AutoCAD аналогично приложению ES_Convert.
Данное приложение позволяет сделать следующее:
BG1BLEXP — Взрывает блоки, состоящие из одного примитива (возможно другого блока);
BGBLEXP — Взрывает блок и все блоки, входящие в него, превращая видимые атрибуты в текст;
BGBLEXP1 — Взрывает блоки 1-го уровня, превращая видимые атрибуты в текст;
BGBLDYNEXP1 — Взрывает динамические блоки 1-го уровня, превращая видимые атрибуты в текст;
BGBLEXP1NOATT — Взрывает блоки 1-го уровня, у которых нет видимых атрибутов;
BGBLXCLIP — Показывает подрезанные блоки;
BGBLDYN2A — Преобразовывает динамические блоки в анонимные;
BGBLDYN2S — Преобразовывает динамические блоки в статические;
BGBLALLDYN2A — Преобразовывает ВСЕ динамические блоки в анонимные;
BGBLALLDYN2S — Преобразовывает ВСЕ динамические блоки в статические;
BGBLXCLIPEXP — взорвать подрезанный блок;
BGCB — копирует одно из вхождений блока в блок с новым именем;
BGRB — переименовывает одно из вхождений блока в блок с новым именем;
M2U — Преобразовать MINSERT в Unnamed блок;
M2B — Преобразовать MINSERT в блок;
U2B — Преобразовать UNNAMED в блок;
U2BM — Преобразовать UNNAMED в блок множественный выбор;
UX — Взорвать UNNAMED блок;
BGRGB2ACI — Изменяет цвет с RGB на ACI;
BGAll2RGB — Изменяет ACI цвет в его RGB эквивалент;
BGCOLOR — Задает выбранный цвет всем объектам;
BGCOLORXREF — Меняет цвет выбранных внешних сылок (только в текушем сеансе);
BGResetXRef -Сброс настроек слоев выбранных внешних ссылок на установленные в исходном файле;
BGBLCC — Изменяет цвет выбранных блоков;
BGENCC — Изменяет цвет выбранного элемента блока;
BGCATT — Изменяет цвет атрибутов выбранных блоков;
BGCBL2 — Изменяет цвет в блоках 2 и более уровня (вложенных блоках);
BGBLFIX — Нормализация блоков;
BGCFT — Конвертирует все поля в обычный текст;
BGCFTSEL — конвертирование полей в обычный текст в выбранных примитивах;
BGHATCHDEL — Удаление штриховки.
Из всех функций нашу задачу позволяют решить BGBLEXP1, BGBLDYNEXP1, BGBLDYN2A, BGBLDYN2S.
BGBLEXP1, BGBLDYNEXP1 работают отлично, однако, на одном блоке у меня пропадает атрибут. С чем это связано… мне не понятно.
Если и у вас возникнет такая же проблема, то просто преобразуйте свой блок в анонимный либо статический при помощи BGBLDYN2A, BGBLDYN2S.
В видео можно посмотреть, как работают данные команды:
bgtools 3.1а.lsp можно найти в интернете.
Ничего лучше я пока не встречал.