В статье представлены практические приемы программирования сегментации кабеленесущих систем с помощью интерфейса RevitAPI и среды программирования VisualStudioComunity. Сегментация необходима для правильной компоновки кабельных лотков, оценки их геометрии и положения в кабеленесущих системах.

Программирование типовых процедур расположения кабельных лотков в системе позволяет быстрее скомпоновать лотки в оптимальном положении с учетом допускаемых нормативных расстояний между лотками. Расстановка креплений также является важной задачей в выборе оптимальной компоновки кабеленесущей системы.

В составе RevitAPI SDK содержится множество типовых примеров для работы с объектами Revit, но большинство этих примеров демонстрируют только общие возможности программирования с помощью RevitAPI. В результате систематизации методов сегментации выбраны программы для выбора оптимальной трассировки объектов в кабеленесущих системах и автоматизированного выбора конфигурации лотков в кабеленесущих системах.

The tray databases are located within the Revit project structure and are linked to the actual tray parameters through a shared parameters file that must be connected to the Revit projects before starting work. Automated cabling is based on the use of plugins and add-ons to Autodesk Revit. The addins are tested in Revit 2021 to detect API updates as opposed to previous versions of the API.

Среда программирования VisualStudioCommunity предоставляет широкий набор методов для обработки свойств и параметров лотков, обеспечивает необходимое быстродействие в процессе обработки данных из проектов Revit. Указанное обстоятельство является важным при открытии проектов большого размера на ноутбуках средней производительности, поскольку именно такое оборудование установлено на рабочих местах проектировщиков. Динамические библиотеки, подключаемые к проектам, экономят память ноутбука, поскольку используются в проектах только в момент вызова необходимых методов программной обработки.

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

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

The developed programs in the programming language C# allow formalizing the algorithms for calculating the components of cabling systems with the possibility of automating the creation of special families for cable trays and the development of typical parametric libraries for different types of trays. Software libraries for tray geometry evaluation as they are developed increase the efficiency of the cable distribution system layout calculation and allow the designer not to perform tray segmentation every time, a perform the specified procedure once for a specified tray size and use the results of the calculation in further projects to choose the optimum configuration of cable distribution systems.