18.06.2021

Как C3Days 2021 в оффлайне прошел: заметки с конференции разработчиков инженерного ПО

1-2 июня мы провели четвертую конференцию для разработчиков инженерного программного обеспечения, которые пишут продукты на геометрическом ядре C3D.

После годичного онлайн-общения и удаленной работы все запланированные места были ожидаемо «распроданы» — сказалось длительное отсутствие публичной жизни. Мы с большим удовольствием встретились на «живой» конференции, чтобы как в старые добрые времена поговорить за чашкой кофе и горячими сэндвичами.



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



Итак, старт конференции 1 июня дал Олег Зыков, директор C3D Labs, со словами «Что нового в жизни C3D Labs?». Он же подвел бизнес-итоги и рассказал, какое влияние на нас оказала пандемия. За два последних года ряды команды C3D пополнили 9 новых сотрудников, сформирована DevOps-команда, а также не потерян темп разработки, о чем говорят наши результаты: версии C3D Toolkit 2020 и 2021 вышли по плану.



На конференции был представлен обновленный инструментарий C3D Toolkit 2021 для разработки инженерных приложений, в состав которого входят пять полноценных компонентов: геометрическое ядро C3D Modeler, параметрический решатель C3D Solver, движок визуализации C3D Vision, модуль обмена данными C3D Converter и модуль C3D B-Shaper, ставший доступным для пользования относительно недавно и выполняющий преобразование полигональных сеток в граничное представление.



Традиционно доклады по каждому компоненту были выделены в отдельные блоки программы. В каждом блоке за презентацией C3D-модуля следовал доклад его пользователя.

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

Во-первых, мы презентовали совершенно новое решение для нашего модуля визуализации C3D Vision — C3D Web Vision! Что же это?

  • Тот же Vision, но теперь и в браузере на большинстве устройств — от смартфона до компьютера
  • Своя понятная архитектура
  • Тот же API для облегчения изучения пользователями десктопной версии C3D Vison.


Во-вторых, мы представили новый раздел геометрического ядра C3D Modeler — C3D FairCurveModeler, позволяющий моделировать так называемые функциональные кривые. Данный тип кривых отвечает высоким требованиям качества и эстетики кривых и позволяет улучшить характеристики и эффективность работы промышленных изделий. Новые функциональные кривые уже доступны в нашем тестовом приложении, а их основные параметры описаны в серии статей на нашем сайте.

Наконец, 1 сентября мы запускаем приложение-помощник C3D Studio, цель которого — облегчить процесс изучения API C3D. Приложение содержит множество примеров функционала и обучающих материалов, изучение API проходит в интерактивном режиме.

Детально о всех продуктовых новинках мы расскажем в следующих новостях, а сейчас представляем самое интересное из выступлений заказчиков и партнеров C3D Labs.

C3D для 3В Сервис

Компания «3В Сервис» использует компоненты C3D — C3D Vision и C3D Converter — в разработке системы LCMS (Lean Construction Management System), предназначенной для планирования, визуализации строительно-монтажных работ и создания 4D-моделей сложных инженерных объектов. Почему компания выбрала C3D? По ряду объективных причин: во-первых, с целью повысить производительность при работе с большими сборками и расширить поддержку форматов; во-вторых, для решения проблемы импортозамещения. И с помощью C3D им это удалось! Об особенностях внедрения компонентов C3D на конференции рассказал разработчик LCMS Артем Солдатов.



Благодаря новому представлению C3D Vision — групповой геометрии (MathGroupRepresentation) в LCMS увеличилась производительность при работе с моделями сцены, содержащими огромное количество объектов. Возможность манипуляций с отдельными элементами модели, например, селектирование объектов, при этом сохранилась.

По запросу разработчиков «3В Сервис» в C3D Vision был реализован специальный материал (SpecialMaterial), который позволяет назначать один цвет на все элементы выбранной геометрии и сохранять, а затем возвращать исходные цвета по умолчанию для каждого элемента геометрии.

C3D для BIM: Renga

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

Семейство продуктов Renga для информационного моделирования зданий с самого начала разрабатывается на геометрическом ядре C3D. О том, как ядро C3D позволяет достичь интероперабельности в Renga, на конференции рассказал разработчик Renga Software Евгений Коростелев. 

Благодаря применению C3D Converter Renga может передавать результаты твердотельного моделирования в форматах IGES, ACIS, STEP и Parasolid для последующего просмотра 3D-модели.

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

Второй доклад от команды Renga в исполнении Павла Аникина раскрыл применение интерпретируемого языка (C3D и Lua) для описания геометрии объектов.

Для ускорения создания новых стилей объектов и уменьшения количества С++ хардкода, возникающего при этом, разработчики Renga пошли по пути написания скриптов для этих стилей на языке Lua. Это, в свою очередь, потребовало написания скриптовых «классов» для представления твердотельной геометрии C3D. Сейчас в планах Renga отобразить необходимый функционал C3D Toolkit в Lua, перенести в скрипт остальные стили объектов и предоставить пользователям возможность визуального редактирования скриптов.



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

Импортозамещение: ТЕСИС

Инжиниринговая компания ТЕСИС использует C3D Vision для визуализации расчетных моделей в программном комплексе FlowVision, решающем задачи вычислительной аэро- и гидродинамики (CFD — computational fluid dynamics). Перед командой разработчиков встала задача портировать FlowVision на Linux и Эльбрус. Опытом этой непростой работы на конференции поделился специалист ТЕСИС Алексей Ющенко.



Трудности портирования появились уже на первом этапе — не получалось собрать сам FlowVision на процессорах Эльбрус по причине их малого количества и медленной производительности. Были сложности и с распространением уже собранного приложения FlowVision.

Что касается портирования всего приложения на Linux, то здесь разработчики выбрали тактику постепенного перевода всех модулей на «кроссплатформенные рельсы». И если для графического интерфейса применяется библиотека Qt, то для визуализации — библиотека C3D Vision. Сотрудничество с C3D Labs позволяет коллегам из ТЕСИС повышать производительность визуализации, а также добавить некоторые фишки, имеющиеся в Vision и, что самое главное, получить решение, работающее в том числе на Linux.

Импортозамещение: АСКОН

Тема кросплатформенности коснулась и главного продукта компании АСКОН — КОМПАС-3D. Перед командой разработчиков была поставлена задача по переводу системы автоматизированного проектирования на Linux. О том, насколько проблемным являлся переход и какие инструменты для его ускорения были применены, на конференции рассказал разработчик АСКОН Александр Тулуп.

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

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

В результате поисков были найдены: clang-tidy, clang-query и llvm api. Применение этих инструментов позволило ускорить рефакторинг кода.



И это далеко не все прозвучавшие выступления на C3Days-2021. Среди спикеров были VR Concept, команды Pilot-BIM и приложения КОМПАС-3D из АСКОН, КАДЭКС, Московский Политех, Уфимский государственный нефтяной технический университет. Записи всех докладов будут выложены на нашем youtube-канале.

Мы благодарим всех докладчиков C3Days за ценный опыт, которым они поделились, и участников конференции за вопросы и предложения по улучшению C3D-компонентов. Команда C3D Labs продолжает работать над геометрическим ядром и готовит темы для будущей конференции, которая, как мы надеемся, состоится 2022 года.









Поделиться материалом