К основному контенту

В гостях у C3D

В процессе разработки Renga мы решаем множество задач по созданию геометрии архитектурных и конструктивных объектов, преобразованию этой геометрии, получению разрезов и фасадов зданий, расчету масс и площадей. Основную часть этих задач мы решаем с помощью математического ядра C3D.
Это мощная библиотека для твердотельного моделирования, установки зависимостей и ограничений для геометрических объектов, работы с различными форматами.
18-19 мая в прекрасном городе Коломна прошла конференция, организованная компанией C3D Labs, разработчиком этого ядра. На наш взгляд, конференция получилось отличная - душевная и полезная. Мы познакомились с новинками, поделились опытом, пообщались с разработкой, погуляли по Коломенскому кремлю. Но обо всем по порядку.
В Коломенском Кремле
C3D Labs рассказали о новинках в Modeler, Vision и Viewer. Докладываем, как их поняли мы, активные пользователи ядра.
C3D Modeler - это основной модуль ядра C3D, предназначенный для построения и редактирования геометрических моделей, как плоских так и твердотельных. По просьбам пользователей ядра в него был добавлен ряд новых возможностей. Была значительно доработана и расширена функциональность построения скруглений. Улучшены операции выдавливания до поверхности и построения тел по сечениям, которые теперь справляются с самыми сложными формами.
 Построение тел по сечениям
Добавлены новые возможности для работы с листовыми телами. Что особенно интересно для команды разработки Renga Structure, появилась возможность строить серединные оболочки.
Срединная оболочка
Реализован новый формат хранения данных, позволяющий выполнять частичную загрузку модели. Кроме того было проведено множество других доработок, которые перечислять в рамках нашей статьи было бы слишком утомительно, и с которым при желании можно ознакомиться в документации к ядру.
Интересной новостью стало то, что на основе C3D Modeler появился модуль 3D моделирования для Teigha, которая разрабатывается Open Design Alliance и представляет собой платформу разработки САПР с поддержкой форматов DWG и DGN. До этого момента у пользователей Teigha был выбор только между сложно лицензируемым модулем ACIS и штатным ODA Modeler с откровенно слабыми возможностями. Модуль C3D займет место как раз между ними, предоставляя широкие возможности. А приобрести его можно за один клик через ODA.
Если Modeler это старейший и базовый модуль, то Vision это новая разработка. Ядро C3D обзавелось своим собственным визуализатором модели, основанным на OpenGL.
C3D Vision
Любой разработчик САПР, и мы не исключение, знает, какой трудоемкой задачей является создание собственного визуализатора. Так вот, C3D Vision позволит пользователям ядра получить модуль визуализации, совместимый с объектами C3D. При этом в первой версии Vision обладает базовыми функциями: представлением сцены в виде графа, выбором стиля визуализации (цветной, каркасный), настройкой освещения, настройкой уровней детализации, управлением камерой, и другими.
На основе модуля C3D Vision разработчиками ядра был создан отдельный продукт C3D Viewer. Приложение позволяет просматривать твердотельные модели, как в родном формате ядра *.c3d, так и в таких популярных форматах, как STEP, ACIS, Parasolid, IGES, STL, VRML, JT. Для загрузки сторонних моделей используется ещё один модуль ядра C3D Converter.
C3D Viewer
C3D Viewer предоставляет конечному пользователю весь спектр возможностей визуализатора. Кроме того, возможно открытие в одном пространстве массива файлов, сохранение в растр с настройками сцены, а также включение анимации модели. Для разработчиков ПО, в котором требуется просмотр твердотельных моделей, без моделирования как такового, будет интересной возможность встраивания ActiveX компонента C3D Viewer в собственные приложения.
В недавнем времени у ядра появилась C# обертка, которая сейчас покрывает почти всё API ядра. Разработчики рассказали об особенностях работы с оболочкой (отображение типов ядра в типы оболочки, особенности связанные с самой платформой .Net, и др.). Особенный интерес представляет новинка - реализация модуля C3D Solver для JavaScript, было продемонстрировано использование решателя в веб приложении. Движение в сторону применения ядра в веб кажется весьма перспективным, думаем, в скором времени стоит ожидать адаптации под веб остальных компонентов ядра.
Разумеется, на конференции C3D докладывались не только хозяева, но и гости.
Алексей Барахвостов из РФЯЦ-ВНИИТФ рассказывал о редакторе геометрической модели, которая используется в системе моделирования переноса излучения. Первоначально их редактор был основан на математическом ядре OpenCascade, но в данный момент они перешли на значительно более производительное ядро C3D.
Разработчик Базис-Центра Роман Колесников представил собственную разработку WebPlanner, это браузерное решение для моделирования интерьеров помещений. Серверная часть в своей основе использует математическое ядро C3D, а клиентская часть визуализирует модель с использованием WebGL.
Саша Волков рассказывает об алгоритме построения крыш
От нас, т.е. от разработки Renga, докладчиками выступали Саша Волков - рассказывал об алгоритме построения крыш, Влад Монахов - рассказывал о том, как использовать пользовательские атрибуты для разметки частей геометрических объектов, Саша Ершов - рассказывал (и показывал) как можно визуализировать переменные геометрических объектов в процессе отладки в VisualStudio (у Саши есть об этом пост на Хабре).
Влад Монахов рассказывает об использовании пользовательских атрибутов для разметки частей геометрических объектов

Все наши доклады, судя по реакции аудитории, были интересными и полезными. И если доклад про отладку геометрических переменных сопровождался обсуждением вариантов доступа к адресному пространству другого процесса и прочих гиковских фокусов, столь дорогих нашему программистскому сердцу, то доклады про атрибуты и кровли вызвали сугубо практический интерес коллег по цеху инженерного ПО. Надеемся, что смогли помочь им в решении их насущных задач или хотя бы натолкнуть на новые идеи.
Саша Ершов рассказывает о визуализации переменных геометрических объектов в процессе отладки в Visual Studio
Сами мы узнали много нового у разработчиков ядра и участников конференции. Мы вернулись с конференции как и положено с кучей новых идей, с некоторыми решенными текущими проблемами и с мощным зарядом позитива. Да и просто пообщались с хорошими людьми=) Это мероприятие стоило посетить, а C3DLabs - Молодцы!

P.S. А если у вас после прочтения нашего обзора возникли какие-то вопросы к нам, будем рады на них ответить!

Комментарии

Популярные сообщения из этого блога

Освой электрику в Renga

UPD: 13.11.2024 Добрый день! Принципы проектирования всех инженерных систем в Renga одинаковы, однако каждая из них достойна отдельного внимания. В этой заметке мы расскажем и наглядно покажем на примере однокомнатной квартиры, как проектировать электрику в Renga. Надеемся, что вы попробуете повторить приведенную ниже инструкцию и это поможет вам оценить возможности Renga. Начинаем проектирование электрики с установки осветительных приборов, выключателей и розеток. Их можно размещать только на стенах, перекрытиях, колоннах и балках. Также хорошо, если перед проектированием электрики в модели расставлена мебель, если речь идет о жилых помещениях, или оборудование в промышленных. Модель квартиры, в которой будет происходить дальнейшая работа, уже подготовлена. Итак, скачайте проект, в котором расставлена мебель, и приступим. Откройте проект в Renga MEP. Щелкните правой кнопкой мыши на пустом месте и выберите Режим измерения > Кубический . Это необходимо, так как расставлять ос...

Под крышей дома моего....

Крыша - это главный атрибут любого дома, а особенно частного загородного дома, коттеджа. Она не только призвана защищать его от дождя, снега и палящего солнца, но и является украшением дома и улицы, притягивает взгляд соседей и прохожих. В Renga Architecture инструмент Крыша позволяет строить самые разные модели крыши с помощью небольшого набора команд, но с первого взгляда не всегда ясно, как сделать её той или иной формы. Поэтому мы, Арина Соболева (инженер тех.поддержки) и Анастасия Тян (технический писатель), решили рассказать о разных тонкостях и нюансах работы с этим инструментом на примере нескольких загородных домов -  от простого к сложному. Проще всего в Renga Architecture создать четырехскатную вальмовую крышу. Здесь не надо менять никаких параметров, крыша строится по точкам, непрерывно (Рисунок 1). Рисунок 1 Чтобы её создать, один раз задаем Параметры сегмента (Рисунок 2) и указываем 4 точки по углам здания на 3D Виде. Построение крыши вс...

Как применять расчётные характеристики помещений

Последнее время очень часто задают вопросы про расчёт площади помещений. В этой заметке разберём, какие характеристики есть у помещений в Renga, как они рассчитываются и как их применять. Сначала рассмотрим способы построения помещений. Обозначить помещение можно: Автоматически по точке. В этом случае границы помещения будут определены автоматически по замкнутому контуру, в котором указана точка. При изменении конструкций, образующих контур, все расчётные характеристики помещения будут автоматически пересчитываться. Особенности работы именно с автоматическими помещениями мы рассматривали в заметке Нюансы работы с автопомещениями . С помощью способов построения Автоматически по подобию, Прямая по двум точкам, Дуга по трем точкам, Дуга по начальной точке, радиусу и конечной точке, Окружность по центру и радиусу. Способы построения Прямая по двум точкам, Дуга по трем точкам, Дуга по начальной точке, радиусу и конечной точке можно комбинировать ...