Куда сохранить dll lookup revit

Обновлено: 04.07.2024

Interactive Revit BIM database exploration tool to view and navigate BIM element parameters, properties and relationships.

Please refer to The Building Coder for more information.

The project currently supports the 2022 version of Revit. You can find the source code of previous versions at the links below:

    for Revit 2022 for Revit 2021 for Revit 2020 for Revit 2019 for Revit 2018 for Revit 2017 for Revit 2016 for Revit 2015

Please refer to the changelog for details.

  • Go to the Releases section.
  • Download and run MSI file.

The installer contains all the latest versions starting from the 2015 version of Revit.

  • Run Debug Profile in Visual Studio or Run Configuration in JetBrains Rider. The required files have been added. All project files will be automatically copied to the Revit plugins folder.

Creating a package:

  • Open the terminal of your IDE.
  • Install Nuke global tools dotnet tool install Nuke.GlobalTool --global .
  • Run nuke command.
  • The generated package will be in the output folder.

For more information on building, see the RevitTemplates Wiki page.

Caveat – RevitLookup Cannot Snoop Everything

Answer: RevitLookup cannot report all properties and methods on all elements.

For instance, in the case of GetFullGeometryForView , a view input argument is required. How is RevitLookup supposed to be able to guess what view you are interested in?

For methods requiring dynamic input that cannot be automatically determined, you can make use of more intimate interactive database exploration tools, e.g. RevitPythonShell.

Contributions are more than welcome! Please work in the dev branch to do so:

  • Create or update your own fork of RevitLookup under your GitHub account.
  • Checkout to the dev branch.
  • In the dev branch, implement and test you changes specific to the feature.
  • Build the project and make sure everything works.
  • Create well-documented commits of your changes.
  • Submit a pull request to the origin:dev branch.
  • Lots of unrelated changes in one commit.
  • Modifying files that are not directly related to the feature you implement.

Originally implemented by Jim Awe and the Revit API development team at Autodesk.

Maintained by Jeremy Tammik, The Building Coder and The 3D Web Coder, Forge Platform Development, ADN Open, Autodesk Inc., with invaluable contributions from the entire Revit add-in developer community.

This sample is licensed under the terms of the MIT License. Please see the LICENSE file for full details.

About

Interactive Revit BIM database exploration tool to view and navigate element properties and relationships.

Что же такое таблицы поиска и как они используются в Revit?

Как работают таблицы поиска (Revit Lookup tables)?

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

В тот момент, когда изменяется один параметр (чаще всего, это сечение воздуховода или диаметр трубы), вместе с ним изменяется и геометрия самого семейства. Увидеть это можно на следующем примере отвода из стандартной библиотеки Revit:

Lookup tables Revit

В данном случае, значение «Наружный диаметр фитинга» зависит от значения «Диаметр». В нашем случае «Диаметр» равен 100 мм, значит, из таблицы производится выбор значения параметра «Наружный диаметр фитинга» , равное 4.125 дюйма, что при пересчёте и округлении (25.4 * 4.125 = 104,775) даст 104.8 мм.

Аналогичным образом при изменении значения параметра «Диаметр» происходит поиск в таблице и пересчёт значения параметра «Наружный диаметр фитинга» :

 Lookup tables Revit MEP

Реализовано это параметризованным семейством: в формуле задана зависимость геометрии от конкретных параметров семейства (в случае с отводом - это построение наружного диаметра фитинга в зависимости от номинального диаметра соединителя) и поиском этих значений параметров в файле таблицы поиска Revit (Поиск в таблице имен).

Lookup tables (поиск в таблице имен)

Где найти таблицы поиска Revit?

До 2015 версии Revit все файлы таблиц поиска должны были находиться в одном месте для возможности их использования. За это отвечает параметр в файле revit.ini - LookupTableLocation, он содержит путь по умолчанию к папке со всеми таблицами поиска.

Lookup revit ini

Lookup tables выбор таблицы в семействе

Теперь актуальные таблицы поиска всегда живут в самом семействе, но возможность использования таблиц из папки (параметр LookupTableLocation файла revit.ini) так же осталась.

Структура файла таблиц поиска (Revit lookup tables)

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

Если заглянуть внутрь файла таблицы поиска, то можно увидеть примерно такое содержимое:

TXT lookup tables revit

На первый взгляд – это совершенно непонятный набор символов. На самом деле это структура таблицы – описание (заголовки) столбцов данных.

Для более наглядного вида я открою этот файл с помощью Excel. Но для того что бы Excel воспринял наш файл как данные с разделителями, необходимо изменить расширение с CSV на TXT:

Lookup tables excel 1

Lookup tables excel 2

Lookup tables excel 3

И форматируем столбцы. Делать это лучше для значений с дробной частью, потому как Excel переведёт эти значения в дату автоматически, если оставить формат данных столбца «общий».

Lookup tables excel 4

И в итоге получаем уже наглядное представление нашей таблицы:

Excel lookup tables revit

Теперь мы видим структуру таблицы именно так, как воспринимает её Revit. Наши данные хранятся в ячейках: пересечение строки и столбца. Именно по такому принципу и сам Revit получает данные из файла таблицы поиска.

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

Если взглянуть на первый столбец нашей шапки, то мы увидим, что он пустой, и это не ошибка! В первом столбце ВСЕГДА (!) пишется комментарий. По аналогии с каталогом типоразмеров семейств Revit, это есть ни что иное, как имя типоразмера. Вы можете использовать этот столбец для своих целей, чаще всего в нем указывается текстовое обозначение строки данных, описание набора значения параметров.

Таким образом, можно понять, что в данном столбце с именем «ND» хранятся параметры типа «длина» (length) и измеряются в миллиметрах (millimeters). Так же можно распознать остальные столбцы.

После сохранения в формат CSV, записи сами разделяются запятыми. Напомню, как выглядит в итоге строка из нашего примера:

Работа Lookup tables в семействе Revit

Каким же образом Revit получает эти значения в нашем семействе? Для этих целей, в качестве формулы значения параметра, используется функция size_lookup. Из стандартной справки Revit можно увидеть описание её использования:

size_lookup (LookupTableName, LookupColumn, DefaultIfNotFound, LookupValue1, LookupValue2, . LookupValueN)

LookupTableName - имя таблицы файла CSV, в котором будет производиться поиск;

LookupColumn - имя столбца, из которого будет возвращено значение результата;

DefaultIfNotFound - значение, которое будет возвращено, если значение в столбце (столбцах) LookupValue(1-N) поиска не найдено;

LookupValue(1-N) - значение, которое требуется найти в первом, втором и последующих столбцах таблицы. (При поиске значений первый столбец пропускается).

Самая первая ошибка в понимании механизма этой функции кроется именно в понимании параметров LookupColumn и LookupValue(1-N). Для объяснения вернёмся к уточнению: «при поиске значений первый столбец пропускается». Когда речь шла о заголовке таблицы поиска, было сказано, что первый столбец ВСЕГДА используется для аннотации строки данных (комментария), поэтому поиск по столбцам производится, начиная со ВТОРОГО столбца. Наглядно для конкретного примера нашего отвода это можно отобразить в таком виде:

Lookup explanation 1

Ну и детальная схема всего механизма на примере конкретной формулы:

Lookup explanation 2

То есть для получения значения, сначала мы определяем имя таблицы, в которой будем производить поиск. В данном примере это сделано через параметр семейства «Поиск в таблице имен»:

Lookup explanation 3

Следующим параметром для нашей функции определяем, из какого столбца по итогам поиска мы хотим получить данные – «FOD» . Имя указывается так, как оно определено в заголовке таблицы.

После указывается, какое значение будет возвращено функцией, если поиск не даст результатов из таблицы. В нашем случае это будет значение параметра «Номинальный диаметр» + 3.2 мм . На случай, если подходящего значения не будет найдено, а геометрию нашего отвода необходимо сформировать, то просто увеличим наш наружный диаметр фитинга на 3.2 мм от номинального диаметра.

Ну и последний параметр для функции - это непосредственно само значение, по которому мы будем искать соответствие во ВТОРОМ столбце – «Номинальный диаметр» . Наша таблица должна быть построена с учетом того, что столбцы с данными, по значениям в которых будет происходить поиск, должны начинаться со ВТОРОГО столбца. А уже после них должны идти столбцы, из которых мы хотим получать соответствующие данные. В нашем примере из таблицы поиска мы получаем всего лишь одно значение – «FOD» , значение наружного диаметра в дюймах для определённого значения «ND» - номинального диаметра. Поэтому в заголовке порядок столбцов именно такой:

  • первый столбец для аннотации строки данных;
  • второй столбец ND - по этим значениям мы будем выбирать подходящую строку;
  • третий столбец FOD - это столбец со значением в найденной строке, которое мы будем получать в результате успешного поиска.

Для правильной работы с таблицами поиска необходимо корректно создавать её структуру!

Краткий итог первой части обзора Lookup tables (таблиц поиска) Revit

На этом хочу подвести итог для первой части полного обзора Lookup tables (таблиц поиска) Revit:

  • таблицы поиска используются в семействах;
  • из таблиц поиска можно получать значения параметров в семействе;
  • оптимальное использование таблиц поиска – параметризированные семейства;
  • таблицы поиска могут храниться в семействе;
  • основным разделителем столбцов в таблице поиска служит «,»;
  • таблица поиска должна содержать обязательный элемент: заголовок в 1 строке;
  • первый столбец ВСЕГДА содержит необязательное описание для строк данных;
  • столбцы, по которым будет производиться поиск, должны располагаться сразу после первого;
  • описание столбцов унифицированы, необходимо соблюдать правило описания, тип параметров и тип единиц.

На этом первая часть, знакомство с таблицами поиска и данными по структуре и описанию, завершена. Во второй части я рассмотрю основные способы использования функции size_lookup в параметрах семейства для доступа к данным в таблицах поиска. Рассмотрим простейшее параметрическое семейство в связке с таблицами поиска и поиском нескольких параметров в одной таблице.

Каждый пользователь Revit сталкивался с ситуацией аварийного завершения работы и потери данных. Да, Revit иногда «вылетает», не всегда предлагает создать файл восстановления… А ведь так обидно терять время и проделанную работу!

В то же время, даже в AutoCAD есть функция автосохранения, многие привыкли к ней и очень огорчаются, узнав, что в Revit настроить автосохранение невозможно!

Это вдохновило нас на создание приложения «R AutoSave» – автосохранения для Revit!


Основная задача R AutoSave – свести к минимуму потерю данных.

Вам достаточно просто установить R AutoSave, настроить интервал автосохранения и всё!


Как это работает?

Например, вы указали интервал сохранения 5 минут. Это значит, что каждые 5 минут будет происходить автоматическое сохранение проекта в специальный файл автоматического сохранения (.AS$), полностью без вашего участия.

Вы по-прежнему можете произвести «ручное» сохранение файла (команда «Сохранить») тогда, когда вам будет необходимо.

Файлы резервных копий, созданные во время «ручных» сохранений (файлы вида «Имя проекта.001.rvt»), по умолчанию будут храниться в папке «Backup» в директории с проектом.

Да-да, теперь в папках ваших проектов будет полный порядок!


Итак, Revit «вылетел»… или «завис» компьютер, отключили свет… в общем, произошло аварийное завершения работы. Что делать?

Запустите Revit, а потом откройте нужный файл. Появится диалоговое окно с вариантами восстановления файла и временем сохранения. Выберите желаемый вариант, и вы восстановите нужный файл.


А если я открыл файл, просто чтобы посмотреть? Я смогу закрыть его без сохранения?

Начало автосохранения отсчитывается с момента внесения первых изменений в проекте. Если вы ничего не меняете в файле, а просто открываете виды – автосохранение не начнется (сохранять-то нечего).

Но даже если вы поработали, а потом решили закрыть файл, не сохраняя внесённых изменений – просто сделайте это, как обычно. Изменения (включая все автоматические сохранения) не будут сохранены, сохранятся только стандартные «ручные» сохранения.

Какие файлы сохраняет R AutoSave?

  • Файлы проектов (RVT)
  • Файлы локальных копий центрального хранилища (RVT)
  • Файлы семейств (RFA)
  • Файлы шаблонов проектов (RTE)

Что это за файлы: «.AS$» и «.S$$»?

Файл «.AS$» - это копия файла, созданная в момент автосохранения.

Файл «.S$$» - это копия файла, созданная в момент открытия файла либо «ручного» сохранения файла.

Оба этих файла позволяют выполнять как автосохранение, так и закрытие без сохранения либо восстановление файла после аварийного завершения работы.

Как включить / выключить R AutoSave?

После установки приложения R AutoSave функция автоматического сохранения включается по умолчанию.

Для включения или отключения автоматического сохранения, а также для изменения дополнительных параметров необходимо перейти на панель «Параметры» («R» - «Параметры» или «Файл» - «Параметры») к разделу «Автосохранение».

Включить автоматическое сохранение можно для уже открытых документов, но отключить - только если все документы закрыты. Автоматическое сохранение не работает для файлов, открытых только для чтения.


Какие еще настройки есть у R AutoSave?

Автоматическое сохранение выполняется через заданный интервал времени. Вы можете выбрать интервал автосохранения от 5 минут до 1 часа.

Начало автосохранения отсчитывается с момента внесения первых изменений в проекте.

Если во время работы вы выполняете «ручное» сохранение файла (команда «Сохранить»), оригинальный проект перезаписывается и создаются резервные копии (файлы типа «Имя проекта.0001.rvt») - это стандартный принцип работы Revit.Файлы резервных копий будут храниться в папке Backup или другой, указанной пользователем.

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

Сохранять в папке открытого проекта / Расположение папки для резервных копий.

Если вы включите опцию «Сохранять в папке открытого проекта» (включена по умолчанию), резервные копии будут храниться в папке «Backup» в директории файла Revit.

При желании, место хранения файлов резервных копий можно заменить на другую, централизованную папку (для всех проектов и семейств Revit). Для активации поля «Расположение папки для резервных копий» нужно отключить параметр «Сохранять в папке открытого проекта».

Напоминание для несохранённых файлов

Если файл не был ни разу сохранён (вновь созданный проект или семейство, открытое из проекта для редактирования), то автосохранение для него не работает. Мы добавили напоминание для таких файлов. Если оно вам надоест, просто отключите функцию «Напоминание для несохранённых файлов».

Последнее занятие учебного курса посвящено дополнительной информации, которая поможет вам увеличить эффективность разработки плагинов для Autodesk Revit. Мы покажем вам, где найти справочные сведения по API, документацию и примеры для изучения Autodesk Revit API.

Прежде всего давайте проанализируем ресурсы API, которые могут быть установлены с продуктом Autodesk Revit:

Набор инструментов разработчика Autodesk Revit (SDK)

Revit SDK содержит большой набор информации по Revit API. Они делятся на три категории: документация, примеры и инструменты.



Документация

Инструменты

  1. Autodesk Revit LookUp – инструмент, который позволяет проанализировать документы и элементы в Revit с точки зрения API. Другими словами, это отличное средство для понимания того, что происходит в базе данных Revit. Данный инструмент распространяется с исходным кодом, что позволяет понять, как осуществляется доступ к данным. Но чаще всего он используется с целью понимания модели Revit, и исходные файлы вам могут и не понадобиться.
  2. Add-In Manager – инструмент для добавления в Revit внешних команд и приложений без создания файла манифеста (вспомните урок 1). В диалоговом окне Add-In Manager можно указать DLL-файл плагина и задать для него имя команды и описание. Используя данную информацию, вы можете загружать плагины непосредственно в Revit или сохранять файл манифеста для дальнейшей загрузки. Помимо всего прочего, это позволяет избежать опечаток при создании файла манифеста, которые могут привести к непредвиденным ошибкам во время загрузки плагина.

Autodesk Revit Developer Center – это отличный ресурс, посвященный Autodesk Revit API. Помимо улучшений и дополнений к API, он содержит еще несколько полезных вещей. В него включено:

  1. Самые последние версии Revit SDK, доступные для загрузки.
  2. DevTV – учебные видеоролики, которые демонстрируют процесс создания плагинов с помощью Revit API. Их можно смотреть в реальном времени, а также скачивать для просмотра в дальнейшем.

Блог The Building Coder

Building Coder – это популярный блог с информацией по Revit API, включая статьи, обсуждения методов использования API и ответы на наиболее часто задаваемые вопросы по API.

На этом учебный курс завершается. Надеемся, что данные статьи оказались вам полезны и дали старт в освоении Revit API. Желаем вам успеха в работе с API.

Читайте также: