Как защитить свои динамические блоки от несанкционированного использования?

В отличие от предыдущей темы – сегодня очень простая, но в то же время крайне полезная статья. Давно искал инструмент, который может если не на 100%, то на 80% защитить мою интеллектуальную собственность. Судя по названию, думаю, уже догадались, о чем эта статья.

Некоторые заказчики требуют предоставить проектно-сметную документацию в электронном виде. Это даже прописывают в договоре.

Но, я считаю, что документация должна передаваться заказчику исключительно в формате pdf, поскольку на листах могут присутствовать подписи разработчиков.

Что делать, если проект (чертеж) нужно передать в формате dwg?

Такое тоже часто бывает. И это вполне нормально, если заказчик будет использовать эти файлы исключительно для своих, некоммерческих целей.

Для меня основная ценность проекта – мои динамические блоки, которые постоянно совершенствую и на которые потрачено очень много времени.

При передаче dwg файлов мне хочется, чтобы хотя бы моими динамическими блоками он не смог воспользоваться, но при этом у него была бы возможность редактировать файл.

На блоге у меня имеется статья: Как защитить файл AutoCADa? Описанный там способ не решает поставленных задач, поэтому я искал нечто более совершенное.

Если блок простой, то его достаточно разбить на примитивы стандартным инструментом программы AutoCAD. Но, если в блоке используются атрибуты, то здесь могут возникнуть сложности.

Также я дополнительно устанавливал панель EXSPRESS, но блоки с атрибутами разбивались некорректно.

Ползая по просторам интернета, я наткнулся на очень полезное приложение (bgtools 3.1а.lsp).

Загружается оно в AutoCAD аналогично приложению ES_Convert.

Данное приложение позволяет сделать следующее:

BGLAYDEL — Удаление выключенных и замороженных слоев с примитивами;

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 можно найти в интернете.

Ничего лучше я пока не встречал.

комментариев 7 “Как защитить свои динамические блоки от несанкционированного использования?”

  1. Дмитрий:

    Есть еще какая-то встроенная защита автокада, извините, что без пруфов, просто раз сталкивался. так вот, там было файлу автокада присвоено свойство наподобие учебный, то есть он был полностью рабочий, но при печати с него на полэкрана печаталась полупрозрачная надпись "учебный". и при копировании любого элемента из этого проекта в новый файл свойство "учебный" переходило на новый файл. то есть копировать любые элементы для дальнейшего использования становилось проблематично. а для визуального  ознакомления  пожалуйста.

    и для нормальной печати заказчику отправляется конечно же ПДФ )

  2. Артем:

    На форуме-первоисточнике forum.dwg.ru/showthread.php?t=66355 уже давно версия макроса 3.1а. С ней возможно у Вас исчезнет указанная проблема.

    Changelog (после выложенной 2.22)

    2.23 — Fix BGCB BGRB command

    2.24 — Edit UX command

    2.25 — Fix BGBLCC и BGCBL2 command. Add BGCFTSEL

    2.26 — Fix BGCFT command. Add BGBLALLDYN2A and BGBLALLDYN2S

    2.27 — in command U2B, UX added processing blocks named *E

    2.28 Fixed minor bugs in BGCFT command and function bg:DynToStatic

    2.29 Fixed minor bugs in function ClearFieldInThisObject

    2.30 Fixed minor bugs in function ClearFieldInThisObject

    forums.autodesk.com/t5/vi...ols/td-p/4365165

    2.31 BGCFT clear field in dimention now

    (forum.dwg.ru/showthread.p...5110#post1335110)

    2.32 minor change in bg:get-TextString (forum.dwg.ru/showpost.php...mp;postcount=235) mark ; VVA 2015-03-27

    2.33 minor change in bg:get-TextString (forum.dwg.ru/showpost.php...mp;postcount=252) mark ; VVA 2015-05-23

    2.34 BGBLFIX now change named plot style

    2.35 BGBLEXP minor change

    2.36 UX minor change forum.dwg.ru/showthread.p...1560#post1421560

    2.37 BGCFT fix bug with lock sell/ Marked as ;_Add VVA 2015-07-08

    2.38 BGLAYDEL fix bug with restore layer setting

    2.40 minor change in function bg:FieldCode. Add function bg:GetObjectIDString mark VVA 2015-12-07

    2.41 minor change in function ClearFieldInThisObject. Mark VVA 2016-01-04

    3.0 BGCOLBL

    3.1 BGBLEXP — save field in attrib

  3. Анатолий:

    Все это от жадности ну и пусть пользуются. В сети авторы блоков выкладывают свои разработки, не требуя и не прося денег. Вы же табличку Exel называете программой и требуете денег.

  4. Я ничего ни от кого не требую, исключительно по желанию!

  5. Игорь:

    Для взрыва блоков с атрибутами использую BurstUpgradedV1-2. На DWG.RU есть описание. 

     

  6. У меня BurstUpgradedV1-3.lsp. Раньше не мог ее запустить (burst), сейчас проверил, разбивает мой проблемный блок без проблем.

  7. Александр:

    Некоторые заказчики требуют предоставить проектно-сметную документацию в электронном виде.

    А пдф это не электронный вид, где прописано что именно в dwg формате? Для этих целей существует формат dxf? ПДФ, это очень даже электронный вид.

Ответить Дмитрий