Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: Пашин Евгений от 02-09-2015, 12:11:59
-
Как можно осуществить защиту семейств (а также вложенных семейств) с помощью водяного знака (WaterMark). Защитить водяной знак паролем.
-
Смотря какая защита Вам нужна. Защитить от изменений Вы не сможете, но можете ввести какую-нибудь контрольную сумму и хранить её в семействе, но зачем?
Если нужно быстро проверить какой-нибудь проект на предмет использования семейств, то вот тут есть похожая тема http://adn-cis.org/forum/index.php?topic=2802.0
-
Требуется не только проверять наличие определенных семейств в большом проекте, но также защитить их от копирования.
Постараюсь объяснить в рамках того, как сам понимаю:
1. Имеются несколько проектных организаций, в каждой из которых имеется отдел разработчиков семейств Revit.
2. Все эти проектные организации участвуют в едином проекте и потому семейства этих проектных организаций будут использоваться в единой модели проекта.
3. Когда будет подводиться итог выполненной работы, будет учитываться процентное содержание объема выполненных работ каждой из организаций, а соответственно и будет рассчитываться вознаграждение по результатам данного проекта.
4. Хочется защитить семейства не просто водяным знаком, а водяным знаком, который нельзя изменить даже программно. Только при вводе пароля.
Определять семейства по водяному знаку - хорошо, но дополнительно нужно защитить их от умышленного копирования и стирания водяного знака.
Надеюсь, этого комментария будет достаточно.
-
Нельзя изменить даже программно - это 100% нет :-)
Дальше смотри: любые запреты можно реализовать только в случае, если на всех компьютерах всех проектировщиков будет установлен плагин, что не гарантирует того, что кто-то снесет плагин или унесет *.rvt домой, откроет на своем компе и что-то в нем поправит.
А еще возникает куча вопросов. Например, семейство сделала организация А, в проекте организации Б в это семейство добавляется типоразмер или меняются параметры типоразмера. Это тоже редактирование семейства так то... Запретить? Злостно.
Я бы на вашем месте подумал о хранилище для семейств с версионностью и авторизацией, например что-то вроде Autodesk Vault или самописного решения. Тогда, если семейства будут там, Вы сможете и ограничить доступ и построить нужные отчеты и все, что Вашей душе угодно
-
Я уточню у руководителей, что конкретно от меня требуется и тогда смогу дать развернутый ответ. У меня всегда складывалось впечатление, что семейства редактировать и менять типоразмеры можно, но вот его уникальный водяной знак не изменяем, а главное переносится с любого компьютера вместе с семейством. Так что я пока затрудняюсь сказать, в каком виде развить данный вопрос. Но Ваши предварительные ответы меня чуток огорчили. Получается нельзя назначить семейству его автора так, чтобы это семейство было живо и несло информацию о его создателе. И главное любой может себя назначить автором чужой работы. Пока грустно.
-
Если у всех пользователей будет установлен плагин, то можно поступить как в теме по ссылке, инфа об авторе, какой-нибудь идентификатор семейства, будет храниться в семействе, даже если открыть семейство из проекта и сохранить в отдельный файл. Если сделать как предложено с помощью Extension Storage, то и выпилить его оттуда можно, но только программно, что сможет сделать не так уж много, кто
-
Как раз смотрю про этот Extension Storage информацию. Спасибо за ориентир-направление :)
-
Евгений, если вас заинтересовало, могу показать готовое решение.
-
Евгений, если вас заинтересовало, могу показать готовое решение.
Было бы странно, если бы я отказался увидеть решение )))
Сразу встречный вопрос: а это будет работать со вложенными семействами (двойное, тройное вложение и т.д.)?
-
На данный момент работает только с Owner Family.
-
ИМХО, так и должно быть, у вложенного семейства - свой автор.
-
Антон Останин, а где можно посмотреть Ваш пример?
И еще вопрос: можно ли будет найти Ваше семейство по водяному знаку внутри проекта?
-
Евгений, в личном сообщении ссылка.
Только в открытом семействе можно посмотреть.
Опять же, это все на данный момент. Думаю, что можно будет потом как угодно смотреть.
-
Спасибо большое!
-
Добрый день,
наткнулся на этот пост в поиске ресения к такой проблемы.
Если совсем не туда, силно не ругайте.
Цель зафиксировать стандартные атрибуты идентификации семейства, такие как например производитель.
Т.е. сделать какой нить атрибут нередактируемым, но видимым для ползователя.
Возможно ли это впринципе?
-
Возможно ли это впринципе?
Без нативной поддержки Autodesk такой функции - нельзя.
С помощью Revit API конечно можно реализовать все что угодно, но вот ничего не помешают пользователю отключить вашу надстройку или вообще работать без нее.
-
begiz, у меня такой вариант ("Т.е. сделать какой нить атрибут нередактируемым, но видимым для ползователя.") не получился.
Мой опыт показывает, что сделать параметр нередактируемым и хорошо защищенным невозможно.
-
Евгений, если вас заинтересовало, могу показать готовое решение.
Антон, а мне можете показать?:) ну или хотя бы вкратце рассказать алгоритм
-
Виктор, да, конечно.
http://tools.prorubim.com/ru/watermarks/
-
Ну смысл программы именно такой что нужно, но тут предпалагается что у всех установлена эта программа.
я правильно понимаю, что если этой программы не установленно, то и Watermark отобразаться не будет?
-
begiz, все правильно понимаете. Приложение для просмотра бесплатное и никаких сложностей с установкой нет. Поэтому не вижу лучшего решения.
-
Я к тому что недобросовестные конкуренты могут специально неустанавливать это приложение и использовать/изменять семейства под себя, меняя производителя и тд.
А конечный клинет/получатель вообсе может быть не в курсе что тут WaterMark должен быть.
Я нашел такую вешь как UserModifiable, но толко для ExternalSharedParameters.
Можно ли это как то исползовать?
или может есть нечто для встроеных атрибутов идентификации?
-
недобросовестные конкуренты могут специально неустанавливать это приложение и использовать/изменять семейства под себя, меняя производителя и тд.
О чем я и говорю, что без поддержки Autodesk такое невозможно полноценно реализовать. Первое что приходит в голову - реализовать механизм, при котором работа с конкретной моделью/семейство обязательно требует наличие установленного определенного плагина. Без нее, либо совсем невозможно, либо ограничено.
-
begiz, дело в том, что защищается водяной знак паролем. Удалить водяной знак из семейства не зная необходимую информацию невозможно. А ее как раз и закладывает владелец.
-
Я нашел такую вешь как UserModifiable, но толко для ExternalSharedParameters.
Можно ли это как то исползовать?
или может есть нечто для встроеных атрибутов идентификации?
Важно определиться что мы обсуждаем: либо возможность защиты с использованием Revit API (при этом защита будет работать только если надстройка установлена), либо полноценную защиту.
Если имеет смысл реализовывать защиту с помощью Revit API(хотя я не вижу смысла в такой защите), то можно продолжить рассуждать:) Полноценная защита невозможна.
-
О чем я и говорю, что без поддержки Autodesk такое невозможно полноценно реализовать. Первое что приходит в голову - реализовать механизм, при котором работа с конкретной моделью/семейство обязательно требует наличие установленного определенного плагина. Без нее, либо совсем невозможно, либо ограничено.
А как можно заставить требовать plugin?
Revit API(хотя я не вижу смысла в такой защите)
Я пока тоже, потому что пока не знаю какиэ есть возможность зашиты.
А Autocad можно было пароли на чертежи ставить (блоки например) и программо при налиции лицензии эти блоки вытаскивать.
Как я понимаю UserModifiable можно установить толко через API.
Поэтому и рассматриваем Api, т.к. Revitсам никаких инструментов для зашиты не предлагает.
-
А как можно заставить требовать plugin?
О чем я и говорю - никак:) нужно чтобы Autodesk это реализовал.
-
Если имеет смысл реализовывать защиту с помощью Revit API(хотя я не вижу смысла в такой защите), то можно продолжить рассуждать:) Полноценная защита невозможна.
...
О чем я и говорю - никак:) нужно чтобы Autodesk это реализовал.
Вот тебе и приплыли!
Извините, если неправильно понял, но у меня сложилось так, если на пальцах...
Я делаю полгода библиотеку семейств по своей специальности, которой больше ни у кого нет, в расчете на будущие гонорары при повторе в дальнейшем подобных же проектов, из которых я там за пару дней сделаю новую модельку из кубиков (семейств). Но заказчик получив, первый же мой проект, уже смело мне говорит "досвидос"! Следующие проекты вполне успешно соберу и без тебя...
Так неужели против этого нет никакой защиты? Какой-то механизм должен же быть, чтобы только был возможен просмотр (в 3d) и печать... Значит можно заканчивать уже даже просто с проектированием в Ревит, а не то что там еще чего-то программировать?!
-
Владимир П, можешь только доказать, что это твоё семейство.
-
Владимир П, можешь только доказать, что это твоё семейство.
Совсем печально... Каким же образом я могу отследить в принципе где и как применялись подобные проекты, чтобы еще потом долго и нудно разбираться со всеми семействами в них? проекты будут крутиться внутри какого-нибудь ведомства куда у меня и доступа никакого...
-
Так неужели против этого нет никакой защиты?
Только юридические видимо. Программных - нет.
Каким же образом я могу отследить в принципе где и как применялись подобные проекты
Очевидно, что никак, к сожалению.
-
Какой-то механизм должен же быть, чтобы только был возможен просмотр (в 3d) и печать...
А если в 3d dwf отдавать?
-
А если в 3d dwf отдавать?
Кстати да, как вариант. Отдавать заказчику в другом формате.
Но если условием было именно отдать в формате Revitа то тут никак.
Сравнивая это с программированием, вы отдаете заказчику исходный код и при этом хотите, чтобы заказчик больше этот код нигде не смог использовать.
Наткнулся вот еще на какой совет на форуме (https://forums.autodesk.com/t5/revit-architecture/protecting-my-revit-families/td-p/5128564):
Можно загрузить семейство в проект, использовать его в проекте по назначению, затем отредактировать это семейство путем удаления всех параметров (видимо за исключением тех, которые влияют на геометрию) и загрузить его в проект путем замены всех параметров.
Таким образом геометрия сохранится, но семейство уже не будет параметризированным.
-
Так неужели против этого нет никакой защиты?
Только юридические видимо. Программных - нет.
Каким же образом я могу отследить в принципе где и как применялись подобные проекты
Очевидно, что никак, к сожалению.
Не-е, такой БИМ нам не нужен! В акаде хоть просто переводили dwg в pdf и вот, типа, о чем я говорил - просмотр и печать, извольте... А тут ведь БИМ! даже про просмотр и печать, речи не может быть по определению... Именно полноценная модель должна передаваться от одних пользователей к другим на протяжении всей жизни сооружения!
-
Именно полноценная модель должна передаваться от одних пользователей к другим на протяжении всей жизни сооружения!
Не соглашусь. Для этого не обязательно иметь модель в исходном формате. Геометрия модели и ее параметры вполне могут жить отдельно. Это что касается эксплуатации здания.
-
Именно полноценная модель должна передаваться от одних пользователей к другим на протяжении всей жизни сооружения!
Не соглашусь. Для этого не обязательно иметь модель в исходном формате. Геометрия модели и ее параметры вполне могут жить отдельно. Это что касается эксплуатации здания.
Про параметры понятно, не спорю... но это как-то не то... и без параметров голые семейства и те немало времени могут потребовать... а потом за просто так это кому-то подарить?
Надо че-то придумывать... чтоб при изменении модели или семейства возникал запрет, типа, мол, только с согласия автора...
-
Коллеги добрый день, касательно защиты ваших прав. Надо подходить к этому вопросу более ответственно и не замыкаться в рамках техники вопроса.
Единственной вашей защитой может быть юридически оформленное авторское право. Это стоит денег, но это предметно. Приложение Watermark позволяет идентефицировать ваши материалы и защитить их принадлежность автору. Но никакое техническое/программное решение не сможет защитить ваши авторские права.
На наш взгляд этот вариант наиболее реалистичный в текущих реалиях
-
Коллеги добрый день, касательно защиты ваших прав. Надо подходить к этому вопросу более ответственно и не замыкаться в рамках техники вопроса.
Единственной вашей защитой может быть юридически оформленное авторское право. Это стоит денег, но это предметно. Приложение Watermark позволяет идентефицировать ваши материалы и защитить их принадлежность автору. Но никакое техническое/программное решение не сможет защитить ваши авторские права.
На наш взгляд этот вариант наиболее реалистичный в текущих реалиях
Так-то все правильно да, все верно... Но... права - правами, авторство - авторством... Но это уже потом, постфактум, когда деньги уже украли... Но, чтобы так-то уж просто не было возможности походя прихватить че плохо лежит, устанавливаются всякие пин-коды даже на куске пластмассы.. а уж если мы имеем дело с компьютером... уверен должно быть решение... пусть через автодеск, как предлагает Виктор, но должно быть
PS А ведь наверное этот велосипед уже должен быть избретен... на западе наверное эти все вопросы порешали... у кого есть знакомые проектировщики в, так называемых, "развитых" странах? Сдается мне там за бесплатно люди работать не станут
-
В мире юридических сентенций, всегда разбирательство идёт постфактум, это неизбежно. С другой стороны это единственный вариант правового решения, а попытка закрыть доступ к информации, на наш взгляд больше принесёт вреда чем пользы. Для себя мы нашли решение, когда наши материалы (семейства) не выгодно переделывать и распространять. Для компании производителя изделий/оборудования, наш вариант понятный и вполне рабочий.
Вобщем если смотреть на ситуацию шире, то можно находить решение задач в других плоскостях и меньшими усилиями.
-
Владимир, мне кажется ваши высказывания сейчас носят больше эмоциональный характер.
Если вы хотите продавать ваши семейства - продавайте, кто ж вам мешает. Кому они действительно нужны - купят.
А так, любую программную защиту можно взломать. Так что если вы действительно озабочены защитой, то юридическое оформление в любом случае обязательно.
Проблема эта касается по сути любого формата файла, а не только файлов семейств. Вы же хотите решить задачу вида "я отдал кому-то файл, как мне сделать так, чтобы пользователь не мог его использовать без моего ведома?" Да никак.
-
А как насчет такого варианта.
Создать семейство, в идентификаторах через формулу описать производителя например и загрузить в шаблон. Т.е. передавать не само семейство а шаблон, там производителя не поменять как я понимаю. Или можно и функсионал семейства не пропадет?
-
Watermark вписывается в семейство. Если его сохранять под разным именем, данные будут сохраняться.
Вполне рабочий вариант. Именно на файле шаблона семейства не тестировали.
Я надеюсь до нового года выпустим версию с пакетной записью watermark и тогда будет удобнее пользоваться.
-
Владимир, мне кажется ваши высказывания сейчас носят больше эмоциональный характер.
конечно, эмоциональный... извините, если эмоции тут запрещены...
Если вы хотите продавать ваши семейства - продавайте, кто ж вам мешает. Кому они действительно нужны - купят.
Я бы продал, да кто ж их купит... Заказчик, я думаю, он как Бендер, может и взял бы по отдельности, но ему нужно все сразу! Т. е. весь проект, причем по цене видимо той же, что и акадовский проект в PDF... Про цену пока только мои домыслы, прецедента не было... Подскажите, кто уже реализовал продукт...
А так, любую программную защиту можно взломать.
Ну, опять кто б спорил, да еще на форуме, где сплошь программисты... Однако ж, согласитесь и Вы в своей жизни пользуетесь всяческими кодами и паролями? Не оставляете все открытым только лишь по той причине, что, де мол, все равно ж сломают, если кому захочется..
Проблема эта касается по сути любого формата файла, а не только файлов семейств. Вы же хотите решить задачу вида "я отдал кому-то файл, как мне сделать так, чтобы пользователь не мог его использовать без моего ведома?" Да никак.
Ну, а как например, файл Ексел, я могу его запаролить, и сделать доступ только для чтения... А уж в файле проекта Ревит, Вы, конечно же, знаете, есть поддержка макросов...
Я не спорю, я только призываю не отмахиваться с ходу, невозможно и все!
-
извините, если эмоции тут запрещены.
да не запрещены конечно. Я просто к тому, что проблема отчасти не является уж такой большой проблемой...
Я бы продал, да кто ж их купит...
Значит продавать и не было цели? Хм. я правильно понимаю, что вам заказчик дает задание на проект и естественно его оплачивает. Вы, в рамках этого проекта, создаете в том числе и семейства. Затем, вы хотите использовать эти же семейства в других проектах, за которые вам также заплатят деньги, но только проект вы этот сделаете быстрее, так как вам не нужно будет уже создавать семейства. Если так, то вы за создание семейств уже получили свое. Так в чем же тогда проблема? ЗА свой труд вы получили деньги.
Ну, а как например, файл Ексел, я могу его запаролить, и сделать доступ только для чтения...
Угу, только в том же экселе можно взять и скопировать данные из одного файла в другой. Если даже будет возможность запрета редактирования семейств, то запрет на копирование из одного проекта в другой это уже кажется слишком жестким ограничением.
есть поддержка макросов...
Макросы макросы.. надо кстати попробовать.
-
есть поддержка макросов...
Не, с макросами тоже неудача. Код можно туда вставить на проверку, но если сохраняешь макрос в файл семейства, то после загрузки семейства в проект макрос этот пропадает. Так что с макросом тоже не вариант.
-
Значит продавать и не было цели? Хм. я правильно понимаю, что вам заказчик дает задание на проект и естественно его оплачивает. Вы, в рамках этого проекта, создаете в том числе и семейства. Затем, вы хотите использовать эти же семейства в других проектах, за которые вам также заплатят деньги, но только проект вы этот сделаете быстрее, так как вам не нужно будет уже создавать семейства. Если так, то вы за создание семейств уже получили свое. Так в чем же тогда проблема? ЗА свой труд вы получили деньги.
Затем, вы хотите использовать эти же семейства в других проектах, за которые вам также заплатят деньги
Ну, вот в этом-то я и сомневаюсь! Любой начинающий ревитчик получив, первый проект, т. е. полный набор необходимых семейств (даже не параметризованных) легко может составить новый проект, и уже в дальнейшем никто в моих услугах не нуждается.
Ну, а как например, файл Ексел, я могу его запаролить, и сделать доступ только для чтения...
Угу, только в том же экселе можно взять и скопировать данные из одного файла в другой. Если даже будет возможность запрета редактирования семейств, то запрет на копирование из одного проекта в другой это уже кажется слишком жестким ограничением.
[/quote ]
здесь, согласен с примером погорячился...
-
есть поддержка макросов...
Не, с макросами тоже неудача. Код можно туда вставить на проверку, но если сохраняешь макрос в файл семейства, то после загрузки семейства в проект макрос этот пропадает. Так что с макросом тоже не вариант.
Я почему видимо про макросы и вспомнил, что сам бывало делал кой-какие поделки в Ексел и там по ходу заполнения исходных данных, например, идет проверка (в макросе) на то, имеет ли право данный пользователь на данном компьютере пользоваться моим файлом... Дальше понятно, если "да", если "нет". Так вот, макрос такой может запускаться, например, при открытии файла проекта ревит и при изменении каких-то параметров в проекте делать проверку, имеется ли такое право...
Все это только мои сиюминутные фантазии, но предлагаю знатакам специалистам API Ревита, прикинуть и какой-то такой подход.
-
Макросы - потенциальный источник распространения вирусов. Поэтому все ПО, использующие макросы, предупреждают о том что есть макросы и имеют возможность их отключить. Так что это не подходит.
-
Макросы - потенциальный источник распространения вирусов. Поэтому все ПО, использующие макросы, предупреждают о том что есть макросы и имеют возможность их отключить. Так что это не подходит.
А если не будут брать лотерейки - отключим газ! А если отключат макросы - не получат доступ к содержимому файла!
Ну, что ж эмоции маленько поостыли (может только пока)... результат хоть и отрицательный, но это тоже результат... Спасибо, Виктор!
-
А если отключат макросы - не получат доступ к содержимому файла!
Ну, если такое действительно реализовать, то эмоции будут уже у сисадминов и специалистов по безопасности:)
-
А куда можно написать в поддержку по вопросам Revit Api или просто Revit?
-
А куда можно написать в поддержку по вопросам Revit Api или просто Revit?
При наличии действующей подписки есть форма для техподдержки.
-
Ну так, дополнить информацию по теме...
В одной российской компании в планах мероприятий по внедрению BIM записано:
Совместно с заказчиком определить правила передачи моделей, включая ограничения по защите прав и правила верификации моделей с помощью электронной подписи...
Походу, вот только такое (не программное) решение: очень плотно работать с заказчиком, чтоб не было у последнего сооблазна прихватить то, за что не заплатил..