# Веб-приложения для просмотра IFC: обзор библиотек

## [![норм.gif](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/norm.gif)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/norm.gif)

## Аннотация

<span class="p1 pcustom">Данная статья представляет собой детальный анализ современных библиотек, предназначенных для разработки веб-приложения с использованием информационных моделей формата IFC. В статье акцентируется внимание на важности Open Source решений, которые не только способствуют доступности технологий для широкого круга пользователей, но и обеспечивают возможность гибкой модификации и интеграции в существующие рабочие процессы. Рассматриваемые библиотеки демонстрируют разнообразные подходы к визуализации и взаимодействию с IFC-моделями, подчеркивая их значимость для развития экосистемы BIM и повышения эффективности проектирования и управления строительными проектами. Статья будет полезна как разработчикам, так и специалистам в области BIM, стремящимся выбрать наиболее подходящее решение для своих нужд.</span>

## Введение

<span class="p1 pcustom">Формат IFC (Industry Foundation Classes) — один из самых популярных для хранения и обмена данными в строительстве. Чтобы работать с IFC-моделями удобно и эффективно, нужны подходящие инструменты.</span>

<span class="p1 pcustom">В этой статье мы рассмотрим популярные open source библиотеки, которые позволяют создавать веб-приложения для просмотра моделей IFC:</span>

- <span class="p1 pcustom">Ifc.js;</span>
- <span class="p1 pcustom">Xbim;</span>
- <span class="p1 pcustom">Xeokit.</span>

<span class="p1 pcustom">Вы узнаете о возможностях каждой библиотеки, их плюсах и минусах. Это поможет выбрать подходящее решение для вашего проекта: будь то демонстрация здания клиенту, визуализация проекта на сайте или создание платформы для совместной работы.</span>

## Критерии сравнения библиотек

<span class="p1 pcustom">Для сравнения библиотек мы сформировали критерии. Они разбиты на группы и подгруппы в зависимости от их назначения.</span>

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-%D0%9D%D0%BE%D0%BC%D0%B5%D1%80-%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9-%D0%A4%D1%83%D0%BD%D0%BA%D1%86" style="border-collapse: collapse; border-width: 1px; border-style: solid; border-image: initial; width: 830px; margin-left: auto; margin-right: auto;"><thead><tr style="height: 27.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">**Номер**</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">**Критерий**</span>

</td></tr></thead><tbody><tr style="height: 28.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**Функциональность**</span>

</td></tr><tr style="height: 27.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Поддержка IFC**</span>

</td></tr><tr style="height: 28.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">1</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Поддержка версий стандарта IFC (IFC2x3, IFC4)</span>

</td></tr><tr style="height: 27.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Визуализация**</span>

</td></tr><tr style="height: 25.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">2</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">3D-рендеринг (простая визуализация, материалы, текстуры, освещение)</span>

</td></tr><tr style="height: 26.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">3</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Возможность навигации по модели (панорамирование, вращение, масштабирование, перемещение)</span>

</td></tr><tr style="height: 25.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">4</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Поддержка различных режимов отображения (каркас, сплошной, заштрихованный)</span>

</td></tr><tr style="height: 26.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Взаимодействие**</span>

</td></tr><tr style="height: 26.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">5</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Выбор и выделение объектов</span>

</td></tr><tr style="height: 25.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">6</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Получение информации об объектах (идентификатор, свойства)</span>

</td></tr><tr style="height: 26.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">7</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Возможность изменения свойств объектов</span>

</td></tr><tr style="height: 25.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">8</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Поддержка пользовательского интерфейса для управления моделью (панели инструментов, меню)</span>

</td></tr><tr style="height: 26.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**Производительность**</span>

</td></tr><tr style="height: 25.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Скорость загрузки и рендеринга**</span>

</td></tr><tr style="height: 26.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">9</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Время загрузки модели в зависимости от ее размера и сложности</span>

</td></tr><tr style="height: 25.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">10</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Скорость рендеринга и плавность анимации</span>

</td></tr><tr style="height: 27.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Оптимизация**</span>

</td></tr><tr style="height: 25.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">11</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Сжатие данных модели для уменьшения размера файла;</span>

</td></tr><tr style="height: 24.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">12</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Использование ускоряющих графических процессоров (GPU) для оптимизации визуализации</span>

</td></tr><tr style="height: 26.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**Доступность**</span>

</td></tr><tr style="height: 23.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Простота интеграции**</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">13</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Доступность документации, примеров и учебных материалов</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">14</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Простота подключения библиотеки к проекту</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">15</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Возможность использования с различными веб-фреймворками</span>

</td></tr><tr style="height: 23.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Цена**</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">16</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Стоимость лицензии (бесплатная, платная)</span>

</td></tr><tr style="height: 23.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Открытый код**</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">17</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Возможность использования библиотеки с открытым кодом</span>

</td></tr><tr style="height: 23.2px;"><td colspan="2" style="width: 831.265px;" valign="top"><span class="p1 pcustom">**- Поддержка платформ**</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">18</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Поддержка различных браузеров (Chrome, Firefox, Safari, Edge)</span>

</td></tr><tr style="height: 23.2px;"><td style="width: 80.1562px;" valign="top"><span class="p1 pcustom">19</span>

</td><td style="width: 751.109px;" valign="top"><span class="p1 pcustom">Поддержка различных операционных систем (Windows, macOS, Linux)</span>

</td></tr></tbody></table>

## Ifc.js

<span class="p1 pcustom">Ifc.js — это библиотека JavaScript, предназначенная для работы с IFC-моделями в веб-приложениях. Она позволяет загружать, отображать и взаимодействовать с 3D-моделями IFC непосредственно в браузере. Библиотека построена на основе Three.js, популярной библиотеки для работы с 3D-графикой в вебе, и использует WebGL для рендеринга.</span>  
<span class="p1 pcustom">Основные компоненты:</span>

- <span class="p1 pcustom">web-ifc - основной компонент, который отвечает за парсинг и обработку IFC-файлов. Он позволяет загружать IFC-модели, извлекать данные о компонентах, их свойствах и взаимосвязях. Основная задача — обеспечить доступ к информации в IFC-файлах и подготовить её для дальнейшего использования.</span>
- <span class="p1 pcustom">web-ifc-three – компонент, который связывает библиотеку three.js с web-ifc. Он отвечает за визуализацию 3D-моделей в браузере, используя возможности three.js. Позволяет отображать геометрию, материалы и другие визуальные аспекты IFC-объектов, обеспечивая интерактивность и рендеринг.</span>
- <span class="p1 pcustom">web-ifc-viewer - высокоуровневый компонент, который объединяет функциональность предыдущих двух библиотек. Он предоставляет готовый интерфейс для отображения и взаимодействия с IFC-моделями в веб-приложениях. Включает в себя инструменты для навигации по модели, выбора объектов и отображения их свойств, что делает его удобным для конечных пользователей.</span>

<span class="p1 pcustom">Данные компоненты можно использовать в комбинированном формате. В статье будут рассмотрены три варианта организации: web-ifc-viewer, Three.js + web-ifc и Three.js + Open Bim Components. Скорость обработки модели с помощью библиотеки web-ifc составляет 50 секунд на модель размером 20 мегабайт. Модель размером 559 мегабайт не загрузилась из-за ограничений библиотеки. При использовании библиотеки от этих же разработчиков Open Bim Components конвертация элементов моделей происходит в специальные геометрические фигуры, которые более оптимизированы и являются оболочкой над InstancedMesh из ThreeJS. Это позволяет загружать модель размером 20 мегабайт за 5 секунд и модель размером 559 мегабайт за 10 секунд. Однако важно следить за утечкой памяти, которая может сильно повлиять на производительность. Не обращать внимание на использование памяти - распространенная ошибка в самом начале изучения. Создатели библиотеки указывают на критичность реализации интерфейса IDisposable и рекомендуют придерживаться правил создания компонентов.</span>

<span class="p1 pcustom">Множество полезного функционала, по типу загрузки и последующего многократного использования, мини-карты модели, измерительные утилиты, возможность скрывать элементы моделей и поддержка UI с различными элементами (кнопки, таблицы, строки под ввод данных и т.д.) делают библиотеку эффективной и конкурентоспособной.</span>

<span class="p1 pcustom">Можно отметить низкий порог вхождения, если пользователь знаком с базой JavaScript/TypeScript. Обучающий курс на официальном сайте и активное сообщество помогут быстро начать работу с ThreeJS и инструментами.</span>

<span class="p1 pcustom">Все библиотеки кроме web-ifc являются Open Source решениями и имеют MIT лицензию, соответственно свободны в использовании. Библиотека web-ifc имеет лицензию Mozilla Public License Version 2.0. Данный тип лицензии не является вирусной лицензией. Это означает, что она не требует, чтобы производные работы, созданные на основе кода, лицензированного под MPL-2.0, также были лицензированы под MPL-2.0. Таким образом, MPL-2.0 предоставляет гибкость и позволяет интегрировать её с другими проектами без необходимости открывать весь исходный код вашего проекта.</span>

## Xbim

<span class="p1 pcustom">Xbim — это набор инструментов и библиотек для работы с BIM-данными, созданный на платформе .NET. Он предоставляет разработчикам возможность интегрировать функционал работы с IFC-моделями в свои приложения. Xbim поддерживает как настольные, так и веб-приложения, что делает его универсальным решением для работы с BIM.</span>  
<span class="p1 pcustom">Основные компоненты:</span>

- <span class="p1 pcustom">Xbim Essentials - библиотека для работы с IFC-файлами. Она позволяет загружать, анализировать и модифицировать данные IFC.</span>
- <span class="p1 pcustom">Xbim Geometry: Компонент для рендеринга 3D-геометрии из IFC-моделей. Он обеспечивает визуализацию сложных объектов и позволяет работать с их геометрией.</span>
- <span class="p1 pcustom">Xbim WebUI: Набор инструментов для создания веб-приложений, которые могут отображать и взаимодействовать с IFC-моделями.</span>

<span class="p1 pcustom">Библиотека Xbim - мощная среда, в которой задействована как серверная часть с логикой работы с объектами, так и область отображения. Основная особенность в том, что сам веб-просмотрщик не работает с моделями формата IFC, ему необходим его собственный формат WEXBIM. Модель в данном формате можно получить создав простой .NET проект для конвертации IFC в WEXBIM с помощью библиотек Xbim Essential и Xbim Geometry. Благодаря конвертации модели в данный формат, проект размером в 20 мегабайт загружается за 2 секунды при этом сама конвертация заняла 6 секунд. На конвертацию модели размером 559 мегабайт ушло 120 секунд и на загрузку 5 секунд. Если есть необходимость в более широком функционале и эластичности отображения, то есть возможность использовать THREE.js и модели в формате GLTF. Конвертация модели размером 20 мегабайт прошла за 6 секунд, для модели размером 559 мегабайт ушло 130 секунд. Загрузка моделей размером 20 и 559 мегабайт прошла за 2 секунды.</span>

<span class="p1 pcustom">Помимо отображения модели Xbim, доступно полное топологическое и геометрическое манипулирование над объектами моделей. Таким образом, с помощью данной библиотеки можно создавать сервисы по обработке моделей различных форматов с возможностью дальнейшей передачи на WebGL. При необходимости Xbim toolkit можно использовать полностью на desktop.</span>

<span class="p1 pcustom">Порог вхождения низкий при базовых знаниях языка и фреймворка. Разработчики предоставляют обучающий курс и документацию для изучения.</span>

<span class="p1 pcustom">Библиотеки находятся под лицензией Common Development and Distribution License. Она позволяет использовать, модифицировать и распространять программное обеспечение, но при этом требует, чтобы производные работы также были лицензированы под CDDL, если они основаны на исходном коде, который распространяется под этой лицензией. Это делает ее более совместимой с другими лицензиями и менее строгой в отношении требований к распространению производных работ.</span>

## Xeokit

<span class="p1 pcustom">Xeokit — это библиотека для визуализации 3D-моделей, разработанная специально для работы с IFC и другими форматами BIM. Она основана на WebGL и предоставляет разработчикам возможность создавать интерактивные веб-приложения, которые позволяют пользователям просматривать, анализировать и взаимодействовать с трехмерными моделями зданий.</span>

<span class="p1 pcustom">Решение сфокусировано на визуальном слое. Оно не предоставляет возможности каких-либо топологических изменений модели, лишь отображение её у клиента и создание удобного интерфейса. Для отображения низко детализированных моделей может использоваться формат IFC с подключением библиотеки web-ifc. Для нагруженных проектов необходимо конвертировать модели в формат XKT, что позволяет в разы сократить время загрузки. Время, затраченное на загрузку файла формата IFC размером 20 мегабайт - 13 секунд. Модель размером 559 мегабайт не загрузилась из-за ограничения библиотеки. Конвертация модели размером 20 мегабайт в формат XKT прошла за 23 секунды и загрузка за 1 секунду. Конвертация модели размером 559 мегабайт закончилась ошибкой конвертации. Конвертировать модели в формат XKT можно достаточно просто, разработчики предоставили git репозиторий, который можно клонировать на локальную машину и производить конвертации через командную строку. Также для оптимизации взаимодействия с большими моделями разработчики предоставляют плагин FatNavPlugin, который понижает качество рендера модели при передвижении.</span>

<span class="p1 pcustom">Так как весь функционал направлен на эффективную визуализацию, то xeokit предоставляет множество интересных и полезных плагинов:</span>

- <span class="p1 pcustom">AnnotationsPlugin - позволяет создавать заметки на модели;</span>
- <span class="p1 pcustom">AngleMeasurementsPlugin - позволяет по координатам вычислять градус угла;</span>
- <span class="p1 pcustom">FaceAlignedSectionPlanesPlugin - позволяет создавать разрезы в модели;</span>

<span class="p1 pcustom">И множество иных плагинов, позволяющие сделать продукт эффективнее и более привлекательным при просмотре. Именно такие возможности и доступность делают эту библиотеку популярной.</span>

<span class="p1 pcustom">Библиотека находится под лицензией GNU Affero General Public License. AGPL считается вирусной лицензией. Это означает, что, если вы используете или модифицируете программное обеспечение, лицензированное под AGPL, и распространяете его (включая использование через сеть), вы обязаны сделать доступным исходный код вашей модификации под той же лицензией. Это требование распространяется даже на программное обеспечение, которое не распространяется в традиционном смысле, а используется, например, на сервере.</span>

## Итоги сравнения библиотек

<span class="p1 pcustom">Мы рассмотрели популярные библиотеки для создания веб-приложений просмотра моделей IFC: Ifc.js, Xbim и Xeokit. По результатам анализа сформировали таблицу соответствия критериям.</span>

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-%D0%9D%D0%BE%D0%BC%D0%B5%D1%80-%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9-ifc.j" style="border-collapse: collapse; border: none; width: 101.19%; height: 3076.53px;"><tbody><tr style="height: 45.5938px;"><td style="width: 8.93921%; border: 1pt solid windowtext; padding: 0in 5.4pt; height: 45.5938px;" valign="top" width="59"><span class="p1 pcustom">**Номер**</span>

</td><td style="width: 23.1228%; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-image: initial; border-left: none; padding: 0in 5.4pt; height: 45.5938px;" valign="top" width="211"><span class="p1 pcustom">**Критерий**</span>

</td><td style="width: 22.2884%; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-image: initial; border-left: none; padding: 0in 5.4pt; height: 45.5938px;" valign="top" width="145"><span class="p1 pcustom">**<span lang="EN-US" style="mso-ansi-language: EN-US;">Ifc.js</span>**</span>

</td><td style="width: 22.5268%; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-image: initial; border-left: none; padding: 0in 5.4pt; height: 45.5938px;" valign="top" width="152"><span class="p1 pcustom">**Xbim**</span>

</td><td colspan="2" style="width: 23.0978%; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-image: initial; border-left: none; padding: 0in 5.4pt; height: 45.5938px;" valign="top" width="150"><span class="p1 pcustom">**Xeokit**</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**Функциональность**</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Поддержка IFC**</span>

</td></tr><tr style="height: 97.7812px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="59"><span class="p1 pcustom">1</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="211"><span class="p1 pcustom">Поддержка версий стандарта IFC (IFC2x3, IFC4)</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="150">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Визуализация**</span>

</td></tr><tr style="height: 135.188px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 135.188px;" valign="top" width="59"><span class="p1 pcustom">2</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 135.188px;" valign="top" width="211"><span class="p1 pcustom">3D-рендеринг (простая визуализация, материалы, текстуры, освещение)</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 135.188px;" width="150">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 180px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 180px;" valign="top" width="59"><span class="p1 pcustom">3</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="211"><span class="p1 pcustom">Возможность навигации по модели (панорамирование, вращение, масштабирование, перемещение)</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="150">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 180px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 180px;" valign="top" width="59"><span class="p1 pcustom">4</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="211"><span class="p1 pcustom">Поддержка различных режимов отображения (каркас, сплошной, заштрихованный)</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="150">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Взаимодействие**</span>

</td></tr><tr style="height: 69.375px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 69.375px;" valign="top" width="59"><span class="p1 pcustom">5</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 69.375px;" valign="top" width="211"><span class="p1 pcustom">Выбор и выделение объектов</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 69.375px;" valign="top" width="150">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 112.797px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="59"><span class="p1 pcustom">6</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="211"><span class="p1 pcustom">Получение информации об объектах (идентификатор, свойства)</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="150">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 90.375px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="59"><span class="p1 pcustom">7</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="211"><span class="p1 pcustom">Возможность изменения свойств объектов</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)[![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/t2Timage.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/t2Timage.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="152">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="150"> ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/t2Timage.png)

</td></tr><tr style="height: 180px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 180px;" valign="top" width="59"><span class="p1 pcustom">8</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="211"><span class="p1 pcustom">Поддержка пользовательского интерфейса для управления моделью (панели инструментов, меню)</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="145">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 97.7812px;" valign="top" width="152">[ ](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="150">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**Производительность**</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Скорость загрузки и рендеринга**</span>

</td></tr><tr style="height: 202.391px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 202.391px;" valign="top" width="59"><span class="p1 pcustom">9</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 202.391px;" valign="top" width="211"><span class="p1 pcustom">Время загрузки моделей 20 и 559 мегабайт в секундах</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 202.391px;" valign="top" width="145"><span class="p1 pcustom"><span lang="EN-US" style="mso-ansi-language: EN-US;">web</span>-<span lang="EN-US" style="mso-ansi-language: EN-US;">ifc</span>-<span lang="EN-US" style="mso-ansi-language: EN-US;">viewer</span> – 53 и 55</span>

<span class="p1 pcustom"><span lang="EN-US" style="mso-ansi-language: EN-US;">three</span>.<span lang="EN-US" style="mso-ansi-language: EN-US;">js</span> + <span lang="EN-US" style="mso-ansi-language: EN-US;">web</span>-<span lang="EN-US" style="mso-ansi-language: EN-US;">ifc</span> – 50 и не загрузилась </span>  
<span class="p1 pcustom"><span lang="EN-US" style="mso-ansi-language: EN-US;">three</span>.<span lang="EN-US" style="mso-ansi-language: EN-US;">js</span> + <span lang="EN-US" style="mso-ansi-language: EN-US;">open</span> <span lang="EN-US" style="mso-ansi-language: EN-US;">bim</span> <span lang="EN-US" style="mso-ansi-language: EN-US;">components</span> – 5 и 10</span>

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 202.391px;" valign="top" width="152"><span class="p1 pcustom"><span lang="EN-US" style="mso-ansi-language: EN-US;">wexbim</span> – 6 конвертация, 2 загрузка и 120 конвертация, 2 загрузка</span>

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 202.391px;" valign="top" width="150"><span class="p1 pcustom"><span lang="EN-US" style="mso-ansi-language: EN-US;">ifc</span> – 13 и не загрузилась</span>

<span class="p1 pcustom">xkt – 23 конвертация, 1 загрузка и не загрузилась</span>

</td></tr><tr style="height: 157.594px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="59"><span class="p1 pcustom">10</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="211"><span class="p1 pcustom">Скорость рендеринга и плавность анимации</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="447"><span class="p1 pcustom">В связи с тем, что исходный код движка рендера одинаковый во многом, рендер одинаково быстрый после загрузки и только Xeokit использует дополнительный плагин для ускорения рендера тяжелых моделей за счет понижения качества. Остальные решения при увеличении размера модели проседают по производительности.</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Оптимизация**</span>

</td></tr><tr style="height: 180px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 180px;" valign="top" width="59"><span class="p1 pcustom">11</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="211"><span class="p1 pcustom">Сжатие данных модели для уменьшения размера файла;</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="145"><span class="p1 pcustom">Нет возможности динамично урезать, только заранее перевести в Compressed Texture Format</span>

</td><td style="width: 22.5268%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="152"><span class="p1 pcustom">Только для системы в облаке через <span lang="EN-US" style="mso-ansi-language: EN-US;">Xbim</span> <span lang="EN-US" style="mso-ansi-language: EN-US;">flex</span></span>

</td><td colspan="2" style="width: 23.0978%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 180px;" valign="top" width="150">[ ![image.png](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/scaled-1680-/pw3image.png)](https://wiki.marksdigital.ru/uploads/images/gallery/2025-02/pw3image.png)

</td></tr><tr style="height: 157.594px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="59"><span class="p1 pcustom">12</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="211"><span class="p1 pcustom">Использование ускоряющих графических процессоров (GPU) для оптимизации визуализации</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="447"><span class="p1 pcustom">Так как в основе лежит <span lang="EN-US" style="mso-ansi-language: EN-US;">WebGL</span>, то возможно ускорение его и только через настройку самой машины, на которой происходит обработка модели</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**Доступность**</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Простота интеграции**</span>

</td></tr><tr style="height: 269.594px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 269.594px;" valign="top" width="59"><span class="p1 pcustom">13</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 269.594px;" valign="top" width="211"><span class="p1 pcustom">Доступность документации, примеров и учебных материалов</span>

</td><td style="width: 22.2884%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 269.594px;" valign="top" width="145"><span class="p1 pcustom">Переход на <span lang="EN-US" style="mso-ansi-language: EN-US;">That</span> <span lang="EN-US" style="mso-ansi-language: EN-US;">Open</span>, сместил фокус на новые библиотеки, поэтому документация не развивается, но остается также полезной, как и сообщество.</span>

</td><td colspan="3" style="width: 45.6247%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 269.594px;" valign="top" width="302"><span class="p1 pcustom">Так как являются лидирующими на рынке и сообщество растет с каждым днем, то на просторах интернета большое количество обсуждений и документаций.</span>

</td></tr><tr style="height: 90.375px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="59"><span class="p1 pcustom">14</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="211"><span class="p1 pcustom">Простота подключения библиотеки к проекту</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="447"><span class="p1 pcustom">Все проекты направлены на низкий порог вхождения и независимую работу, поэтому легки в подключении.</span>

</td></tr><tr style="height: 112.797px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="59"><span class="p1 pcustom">15</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="211"><span class="p1 pcustom">Возможность использования с различными веб-фреймворками</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="447"><span class="p1 pcustom">Библиотеки независимы от фреймворков, есть возможность подключаться к любым, главное использование <span lang="EN-US" style="mso-ansi-language: EN-US;">WebGL</span>.</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Цена**</span>

</td></tr><tr style="height: 90.375px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="59"><span class="p1 pcustom">18</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="211"><span class="p1 pcustom">Стоимость лицензии (бесплатная, платная)</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 90.375px;" valign="top" width="447"><span class="p1 pcustom">Все библиотеки являются бесплатными.</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Открытый код**</span>

</td></tr><tr style="height: 157.594px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="59"><span class="p1 pcustom">19</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="211"><span class="p1 pcustom">Возможность использования библиотеки с открытым кодом</span>

</td><td colspan="3" style="width: 56.3517%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="301"><span class="p1 pcustom">Библиотеки не имеют вирусные лицензии</span>

</td><td style="width: 11.5614%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 157.594px;" valign="top" width="146"><span class="p1 pcustom">Библиотека имеет вирусную лицензию</span>

</td></tr><tr style="height: 26.5938px;"><td colspan="6" style="width: 99.9751%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 26.5938px;" valign="top" width="717"><span class="p1 pcustom">**- Поддержка платформ**</span>

</td></tr><tr style="height: 112.797px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="59"><span class="p1 pcustom">20</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="211"><span class="p1 pcustom">Поддержка различных браузеров (Chrome, Firefox, Safari, Edge)</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 112.797px;" valign="top" width="447"><span class="p1 pcustom">Главное требование от браузера – это поддержка <span lang="EN-US" style="mso-ansi-language: EN-US;">WebGL</span>, который на данный момент поддерживается практически всеми браузерами, а также многие библиотеки имеют встроенный функционал для проверки совместимости с браузером.</span>

</td></tr><tr style="height: 135.188px;"><td style="width: 8.93921%; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-image: initial; border-top: none; padding: 0in 5.4pt; height: 135.188px;" valign="top" width="59"><span class="p1 pcustom">21</span>

</td><td style="width: 23.1228%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 135.188px;" valign="top" width="211"><span class="p1 pcustom">Поддержка различных операционных систем (Windows, macOS, Linux)</span>

</td><td colspan="4" style="width: 67.9131%; border-top: none; border-left: none; border-bottom: 1pt solid windowtext; border-right: 1pt solid windowtext; padding: 0in 5.4pt; height: 135.188px;" valign="top" width="447"><span class="p1 pcustom">Так как все библиотеки распространяются через n<span lang="EN-US" style="mso-ansi-language: EN-US;">pm</span> и <span lang="EN-US" style="mso-ansi-language: EN-US;">nuget</span>, а доступ к готовому продукту осуществляется через веб-клиент, то проблем с доступом и использованием нет, главное поддержка браузера и доступ к площадкам распространения.</span>

</td></tr></tbody></table>

## Вывод

<span class="p1 pcustom">Выбор оптимальной библиотеки зависит от конкретных потребностей проекта.</span>

- <span class="p1 pcustom">Ifc.js — универсальное решение с хорошей производительностью, но требует внимательного управления памятью.</span>
- <span class="p1 pcustom">Xbim — подойдёт для сложных проектов, где нужно больше инструментов для работы с моделями.</span>
- <span class="p1 pcustom">Xeokit — лучшее решение для быстрой визуализации и простоты использования.</span>