Программирование семейств в Autodesk Revit

В статье представлены практические методы работы с семействами в программе Autodesk Revit. Семейства необходимы для хранения информации о проекте, параметров поверхностей (размерах, углах поворота, положении относительно начала координат и т.д.).  В программе предусмотрено сохранение параметров семейства как шаблона для дальнейшего использования в проектировании. Это облегчает настройку программных шаблонов для следующих проектов, позволяет разрабатывать библиотеки шаблонов для использования в программировании проектов кабеленесущих систем. Для разработки используется язык программирования SharpDevelop, позволяющий программным способом считывать информацию из проектов, определять идентификаторы семейств разных уровней в существующих проектах, генерировать новые идентификаторы для файла общих параметров. Каждый программный идентификатор семейства уникален и является внутренней программной переменной для обозначения семейств и их параметров. С точки зрения программирования набор идентификаторов позволяет осуществлять взаимодействие с внешними программными библиотеками, плагинами, автоматизирующими проектирование кабеленесущих систем.

Поскольку в программе Autodesk Revit предусмотрено взаимодействие с программой разработки запросов SQLite, важным моментом является возможность чтения параметров проекта с помощью SQL-запросов, их сохранения в базе данных проектов, организации ссылок на идентификаторы семейств в проектах. При разработке внутренней системы учета проектов возможно создание структуры проектов на основе программных идентификаторов, повторное использование которых можно зафиксировать на основе использования семейств с повторяющимися идентификаторами в любом проекте. Разрабатывая таким образом иерархию классов семейств и их параметров, получают возможность программирования типовых семейств для кабелей, систем кабелей без значительных затрат времени на программирование новых проектов, обеспечения контроля их версий, быстрого перепрограммирования при появлении новых версий API в Autodesk Revit. При обновлении API могут меняться параметры семейств, процедуры и функции для их обработки, что может усложнить процесс практического внедрения проекта у заказчика. Следовательно, перед программированием необходимо определить набор средств программирования, которые будут использоваться в процессе разработки плагинов, прикладных библиотек. Изучены программные методы работы с семействами Revit в среде программирования Visual Studio 2019 на основе встроенных методов API, языка программирования С# как более универсального языка программирования. Предусмотрено использования языков программирования Dynamo, Iron Python для обработки информации о проектах Revit, но все же был выбрана программа SharpDevelop как менее объемная по отношению к загрузке компьютера и простоты разработки. Среда программирования Dynamo является параметрической системой с необходимостью ручного программирования и настройки параметров для каждого проекта в новых версиях Autodesk Revit. Применение среды программирования Iron Python может потребовать загрузки дополнительных библиотек в процессе разработки программ, медленной программной обработки проектов по мере выходы новых версий Autodesk Revit, API.

Поэтому сейчас для разработки выбраны программы SQLite, SharpDevelop, VisualStudio 2019 как более универсальные программные средства работы с внутренней средой Autodesk Revit. Перспективы использования этих программ будут рассмотрены по мере тестирования новых версий Revit.