В этой статье посмотрим на разные варианты того, как можно передать заказчику результат своей работы в Ревите — проекты и семейства. Иначе говоря, какие существует варианты защиты файлов.
Зачем защищать модели
На всякий случай напишу очевидное. Когда заказывают проект в Ревите, то часто заказчику нужны 3Д-модель и чертежи. Если вы долго собирали семейства по всему интернету, или тратили время на их разработку, или поступили разумно и купили семейства в моём магазине, то естественно, что вам не хочется просто так отдавать наработки. Ведь платят вам, скорее всего, именно за проект, а получают по сути готовый шаблон проекта.
Поэтому хочется сделать как-то так, чтобы и проект сдать, и наработки свои от повторного применения защитить. Посмотрим в статье, какие варианты тут возможны. Сперва разберём ненативные форматы, а потом — форматы проекта и семейства Ревита.
1. Формат NWD
NWD — это формат Navisworks Document. Navisworks Manage, далее просто Нэвис, — программа для создания и проверок координационной модели проекта. То есть модели, куда можно загрузить все разделы, в том числе наружные сети и землю. Это очередная программа, которую Автодеск выкупил и засунул в свою коллекцию.
С точки зрения обмена файлами и их защиты Нэвис — прекрасное решение:
- Вся геометрия преобразуется в формат Нэвиса, полигональную модель. В итоге заказчик получит визуально ту же модель, что и в Ревите, но никакой параметризации и самих файлов семейств тут не будет. Только преобразованная геометрия + свойства.
- Файл в формате NWD можно защитить паролем и даже поставить срок его действия. Эту модель нельзя никак отредактировать, вы всегда будете понимать, оригинальный это файл или нет.
- Файл весит чуть ли не на порядок меньше оригинального проекта из Ревита. Вроде бы некритичная мелочь, а по почте пересылать всё равно проще.
- Эту модель можно подгружать в Ревит как связь. Не во всех версиях, только с 2018 версии.
- Можно присоединить чертежи в формате DWF(x), сохранится даже связь между чертежами и 3Д-моделью. ПДФ тоже подгрузить можно, но без связи с моделью.
- Заказчик может открыть и покрутить модель, посмотреть чертежи в бесплатном версии программы — Navisworks Freedom.
Конечно, есть и минусы:
- Визуализация иногда хромает, в частности могут окрашиваться в разные цвета фитинги и прямые участки. Не так, чтобы это всегда было так, но иногда проблема возникает.
- С архитектурой бывают проблемы, например многослойные конструкции выгружаются без слоев, то есть как один элемент.
- При подгрузке связей из DWG и IFC нужно внимательно следить за координатами. Мне всегда было проще подгрузить всё сначала в Ревит, настроить там координаты, а уже потом грузить в Нэвис. С общими координатами для Ревита проблем не возникает, всё встаёт, как надо.
- Нужно устанавливать программу на компьютер, выделять под неё место, а потом ещё и учиться с ней работать. Бесплатного просмотрщика будет недостаточно.
2. Autodesk Viewer
У Автодеска есть бесплатный сервис для просмотра моделей. На апрель 2023 года он работает даже с территории России. Вам нужен только аккаунт на сайте Автодеска, а дальше можете перейти на страницу сервиса «Автодеск Вьювер» и грузить свои модели. Можно грузить не просто отдельные файлы, а указывать и связанные модели. Листы также будут подгружаться. По умолчанию выгружается первый 3Д-вид с именем {3D}, поэтому не забудьте настроить его видимость.
В результате получится модель, которую можно смотреть прямо в браузере. Инструментарий интуитивно понятен, можно скрывать элементы, изолировать, смотреть свойства, крутить, рассекать и расчленять модель. В общем, разберётесь.
Ну и конечно, можно поделиться ссылкой на этот просмотр с кем угодно, в том числе и с заказчиком. Очень удобно для предварительных согласований и обсуждений. Вам — потому что не передаёте модель заказчику, ему — потому что не нужно ставить Ревит и разбираться в интерфейсе.
Можете посмотреть на модель из статьи, если ссылка ещё активна: https://autode.sk/3UJKvgQ
Если ссылка не активна, то увидите то, что видят люди, когда ссылка истекла.
Здесь, как и в Нэвисе, геометрия преобразовывается, ничего скачать нельзя, только смотреть.
3. Экспорт в IFC
IFC — формат для обмена данными между БИМ-программами. В нём хранятся геометрия элементов и их свойства. При этом геометрия переходит в нередактируемый непараметрический формат. Ну ладно, в некоторых программах редактировать можно, но в целом это настолько трудозатратно, что вряд ли кто-то будет этим заниматься.
Работать с IFC в Ревит — боль, которая сжигает жопу в угли.
При экспорте вы передаёте заказчику только геометрию и свойства элементов модели. Листы засунуть в этот формат нельзя, поэтому придётся их выгружать отдельно в ПДФ. В принципе, вы всё равно так будете делать с документацией, но хочется, чтобы на один проект был один файл.
Если работаете с госэкспертизой, то они в принципе принимают модель только в IFC. Так что выгружать всё равно придётся, если заказчик не забыл упомянуть это в договоре.
Самое сложное при работе с IFC — настроить выгрузку параметров и координат. Кроме того, нельзя выгрузить сводную модель из нескольких разделов, Ревит умеет выгружать только каждый файл отдельно.
Заказчик сможет использовать вашу модель IFC в Ревите, но только в качестве мёртвой геометрии. Можно даже преобзовать IFC в формат Ревита, но опять же — это только геометрия. Этим и удобен формат, вы не передаёте параметрические семейства, только слепок с их геометрии.
4. Экспорт в DWF(x)
Ещё один формат экспорта, который можно открыть и посмотреть в бесплатной программе от Автодеска — Design Review, Дизайн Ревью. Очень классная программа, на которую забили болт и больше не развивают. Видимо, сначала все силы бросили на Нэвис, потом на облачные продукты.
Формат хорош тем, что в него можно выгрузить и 3Д, и чертежи, всё это покрутить, посмотреть в бесплатном софте. Даже в Ревит можно связью подгрузить, на вкладке «Вставить» эта команда называется «Пометка DWF». В этих файлах можно оставлять пометки, скорее всего, изначальная идея была именно в этом — выгружать модель в лёгкий формат, проверять, оставлять пометки и возвращать исполнителю.
Именно с помощью Дизайн Ревью можно в Ревитах до 2022 версии получать набор листов для печати по форматам. При экспорте в DWF Ревит может закинуть в него все листы разом по нужным форматам. И вот уже из Дизайн Ревью можно отправлять листы на печать в ПДФ сразу скопом, без деления по размерам листов. Мне кажется, это проще, чем отправлять всё в ПДФ на листы 2х2 метра, а потом кропать края. Хотя дело вкуса и привычки.
5. Экспорт в 3D DWG
Идея простая — выгружаете в CAD-форматы модель, только геометрия, никакой параметрики, никакой информации. Здесь мы уже заходим на территорию зла, поэтому давайте не будем. Предыдущие варианты оставляли информацию об элементах, здесь же только графика, никакого БИМа.
6. Семейство → шаблон семейства → семейство
Посмотрим, как защитить семейство. В принципе, можно сразу сказать — да никак. Любые меры можно обойти. Всё, что делается, это больше про усложнение «взлома», но никак не полная защита.
Основной метод состоит из трёхступенчатой работы с семейством. Сначала разрабатываете семейство, как обычно. Далее меняете в проводнике Винды расширение семейства на RFT — revit family template, то есть создаёте из семейства шаблон семейства. Затем в Ревите создаёте новое семейство и в качестве шаблона выбираете преобразованное семейство.
В итоге получается то же самое семейство, те же свойства и формулы, та же геометрия. Но при этом геометрию нельзя удалить. Выделяете, нажимаете на Del и ничего не происходит. Потому что она теперь часть шаблона. С параметрами такого нет — они удаляются, как обычно.
Именно этот способ «защиты» выбрали в семействах Ровена. Казалось бы, ну вот она — победа. Однако радоваться рано.
Удалить геометрию можно. Для этого нужно вызвать ошибку, например «испортить» эскиз, но проще всего свести какое-то измерение к нулю. Например, поменять толщину выдавливания на нулевую — получаете ошибку и удаление геометрии.
Соединители точно так же удаляются, если удалить их основу. Конечно, не все элементы можно удалить супер просто, например опорные плоскости удалить у меня не получилось, но и особой пользы они не несут в отсутствии всей остальной геометрии.
Вложенные семейства напрямую удалить нельзя. Геометрию можно удалить через редактирование вложенного, а вот из пространства модели удалить можно только через Family Symbol. Для этого достаточно поставить плагин Revit Lookup. Алгоритм такой:
- Выделяем экземпляр вложенного семейства.
- Лукапом находим его типоразмер и айди типоразмера.
- Через «Выбрать по коду» выделяем удаляем типоразмер по его айди.
- Финита.
Аналогично через выделение типа можно удалить размеры. В общем, всё важное — геометрию и параметры — удалить можно. А значит от такой защиты смысла немного, только против тех, кто не захочет потратить время на поиски взлома.
7. Водяные знаки
В Ревите есть возможность программно записывать внутрь файла что-нибудь. Этим чем-нибудь может быть уникальный GUID разработчика или ещё что-нибудь такое. Причём спрятать можно так, что незнакомый с программированием пользователь ничего не увидит и не узнает.
Всё это основано на какой-то невиданной фиготени, в которой может разобраться только программист. Если интересно, читайте статью Зуева на эту тему, мне там ничего не понятно.
Этим способом пользуются для защиты семейств, например, в Бимлибе. Скачайте любое семейство, там будет среди параметров параметр «Watermark» или аналогичный.
Так как я с программированием «на Вы», то не могу оценить, насколько это надёжный способ. Поэтому обратился к Максиму Похомову, разработчику плагинов ITV Tools.
Сделаю краткую выжимку из того, что он мне рассказал:
Удалить водяной знак можно. Для этого нужно знать, куда его записали и как. Это может сделать удаление такого водяного знака трудозатратным, но в теории возможность остаётся.
Однако автор защиты может сделать так, что удалить защиту можно будет только тем приложением, которым он эту защиту создавал. Тут тоже есть риски — если по какой-то причине потерять доступ к этому приложению, то никто ничего уже сделать не сможет, защиту никак не снять даже автору.
Максим предположил, что удалить защиту всё же можно, если написать для этого специальный плагин, но утверждать не берётся — не изучал данный вопрос настолько глубоко.
Если от теории перейти к реальной жизни, то в этом не так много смысла. Чтобы смысл был, должно быть наказание того, кто будет модели красть. То есть компания должна сначала выявить этот факт, потом написать досудебную претензию о нарушении авторских прав, дождаться, что ей не ответят или пошлют в задницу, а после этого обращаться к юристам и составлять исковое заявление в суд. Потом судиться, аппеляции, кароч — вся вот эта вот демократия и отстаивание прав.
Чтобы понимать, какой это геморрой и как это дорого, можете почитать в блоге Максима Ильяхова о том, как он судился с компанией, которая незаконно использовала его книги. У Ильяхова успешный пример, он выиграл суд. Но выиграть это же полдела. Деньги ещё нужно получить. Много ли компаний готовы на такие траты ради семейств? Даже если на разработку потратили пару миллионов рублей. Вопрос риторический и зависит исключительно от нрава владельца компании.
С точки зрения разработки это тоже имеет мало смысла. Ну вот придёт ко мне производитель, скажет: есть конкурент, мы с ним делаем вообще одно и то же, на одном заводе в Китае покупаем и клеим свои шильдики. Хотим библиотеку, она уже есть у конкурента, надо только вбить артикулы и наше название. Сделаешь?
Скорее всего, я откажусь. Дело даже не в честности, это просто тупая и унылая работа. Не, ну если много денег предложат, то что уж тут поделать, мне ребёнка кормить и одевать надо, жене цветы покупать. Но есть ещё аспект. Вполне вероятно, что семейство будет сделано либо через жопу, либо так заморочено, что разбираться в нём и править будет для меня психологически сложнее, чем сделать с нуля.
То есть я всё равно запрошу денег как за разработку с нуля. Производитель не сэкономит, только если не найдёт какого-нибудь разработчика-копрофага.
Короче. Водяные знаки — туфта, если вы не готовы реально идти судиться с ворами.
8. Защита модели в Ревите
Как уже догадываетесь, надёжного способа по сути нет. Если у вас вдруг такая модель, в которой каждое семейство представлено отдельным типом, то в теории можно заморочиться, пойти и поломать все семейства, оставить только геометрию. Или экспортировать в DWG, а потом загрузить внутрь семейства и удалить всю параметризацию, кроме данных для спецификации.
Какая должна быть мотивация, чтобы этим заниматься? Ну разве что наказать заказчика, который ведёт себя некрасиво. В общем-то, это в итоге вы своё время тратите.
9. Единственный способ защиты
Ничего не делать, тогда и защищать ничего не нужно.
Если серьёзно, то можно делать следующее:
- Обговаривать с заказчиком форматы передачи данных. Подписались только на проектирование — значит, передаёте чертежи в DWG, ПДФ и модель в виде IFC или NWD. Подписались на передачу модели в нативном формате — можете максимально вычистить её, удалить шаблоны видов, и передавайте всё как есть. Будут пользоваться вашими семействами — ну ок. Вы ведь заказ получили, потому что в Ревите можете выдать, а не потому что красивый и умный. Ну для мамы, конечно, красивый и умный.
- Использовать шаблоны АДСК. К ним идёт достаточно большая библиотека качественных семейств, её не жалко и не стыдно передать заказчику — всё ведь из открытого доступа. Множество инженерных семейств в ней моих рук дело.
- Применять сторонние или собственные средства автоматизации. Так как их вы никому не передаёте и не обязаны отчитываться об их использовании, то без таких инструментов работать в вашем файле будет проблематично.
- Договариваться, что, если при моделировании потребуются какие-то семейства, то их покупает заказчик. Например, у меня так покупали библиотеку медных труб и кондиционеров: заказчик оплатил, передал исполнителю в работу. Какие тут могут быть претензии — это не ваши семейства, вам их вообще подарили.
- Рассматривать свои наработки не как интеллектуальную собственность, за которую вам должны платить, а как своё конкурентное преимущество и ускорение работы. Быстрее сделали проект → больше проектов в году выполняете → больше денег зарабатываете → отбиваете траты на развитие своих библиотек и шаблонов.
Если экспортировать семейство как SAT и вставлять его в семейство которое потом сделаем шаблоном и на основе шаблона новое семейство, то эту геометрию вообще никак удалить нельзя будет. Так можно даже текст 3D экспортировать. Я думал так себе Watermark сделать, но шрифты все маленькие ломаются к сожалению:(
О, надо попробовать) Спасибо. Посмотри у меня видео про супермасштабируемое УГО, можно сделать очень маленький кусочек через этот метод, с линиями меньше 0,8 мм. Ну а потом пользуйся своим способом с экспортом. В то же время, по идее если мы сможет эту геометрию за ручку свести к нулю, то Ревит и её может удалить. Надо пробовать.
Люди на тыреном софтваре пытаются защищать свою интеллектуальную работу. Анекдот.
Ещё вариант для очень умных, если пригорает от "несправделивости жизни". Не закладывать в модель и семейства, алгоритмы расчёта, автоматизацию и производственные паттерны. Это всё должно быть в своих скриптах. А сами семейства должны быть заполняемой болванкой. Пример - мэджикад для ревит.
Клиент всегда получает то, за что платит. Не делайте больше, не будет обидно.
Про конвертирование стен по слоям в невис есть вариант создать из них части и в настройках экспорта поставить галочку "Преобразовать элементы конструкции". А единственный адекватный способ защитить семейства от дальнейшего использования удалить неиспользуемое, а потом посносить все формулы в загружаемых семействах. Значения параметров при этом должны сохранится. А при удалении формул все параметричность семейств пропадет, как и их ценность (ну за исключением примитивных семейств, но их ценность сама по себе около плинтуса). Скриптом такой финт сделать не сложно, только на практике не вижу в этом смысла. Главное технология, а не "высокохудожественные" кубики)
Золотые слова, а что делать, рад бы купить да не у кого
однажды ломал весь проект так, все таблицы выбора делал через общий параметр потом убивал этот общий параметр и сразу ломались все семейства в проекте у которых есть таблица выбора внутри
Браво)