Немного фактов
По статистике от момента первого обращения за тестированием C3D до принятия компанией решения о лицензировании ПО проходит от полугода до двух лет. За это время потенциальный заказчик успевает задать множество вопросов команде разработки C3D по функционалу C3D Toolkit и его грамотному использованию в своих будущих проектах. Количество входящих запросов в службу технической поддержки тоже ежегодно растёт (рис. 1). Это непосредственно связано с увеличением числа заказчиков C3D Labs и глубиной внедрения ими технологий C3D в собственные продукты.Рисунок 1. Входящие запросы в техподдержку C3D Labs в период с 2013 по 2016 гг.
Стоит отметить, что сотрудники C3D Labs ежегодно посещают промышленные выставки и конференции разработчиков ПО, чтобы всегда оставаться в курсе актуальных событий отрасли и развивать технологии в правильном направлении. В прошлом году делегация C3D Labs была представлена на всемирно известных выставках Hannover Messe 2016 (Ганновер, Германия) и SIMTOS (Сеул, Корея), а также на конференциях Альянса по открытому проектированию (Прага, Чехия) и Intel (Москва, Россия). В апреле 2017 года компания провела собственную конференцию в США в рамках Конгресса о будущем инженерного программного обеспечения (COFES).
Тесное взаимодействие с пользователями C3D Toolkit и рынком САПР позволяет C3D Labs создавать по-настоящему качественные и удобные продукты для разработчиков 3D-приложений. Технические подробности произведенных за год работ представляем далее.
Геометрическое ядро C3D Modeler
Геометрическое ядро C3D Modeler выполняет построение геометрической модели и вычисление геометрических характеристик моделируемого объекта. В новой версии C3D Modeler появилась функциональность для удаления из модели отверстий и скруглений (рис. 2). Это может быть полезно для упрощения 3D-модели, которая подготавливается к дальнейшему расчёту в CAE-системе.Рисунок 2. Удаление отверстий из 3D-модели
Рисунок 3. Поэтапное удаление скруглений
Рисунок 4. Прямое редактирование модели со скруглениями
Рисунок 5. Модификация скруглений
Рисунок 6. Построение литейных радиусов
Рисунок 7. Выдавливание «до ближайшего тела»
Рисунки 8 и 9. Выдавливание до поверхностей, лежащих по одну сторону от эскиза
Рисунок 10. Выдавливание до поверхности независимо от её положения по отношению к эскизу
Рисунок 11. Выдавливание до поверхности, лежащей по обе стороны от эскиза
Рисунок 12. Выдавливание нескольких контуров (с пересечениями и без)
Рисунок 13. Построение тел по сечениям с несколькими направляющими
Рисунок 14. Построение тонкостенных тел по сечениям с направляющими
Рисунок 15. Построение сложных тел по сечениям с направляющими кривыми
Рисунок 16. Усовершенствованная операция сгиба и разгиба обечайки
Рисунок 17. Сгиб листового тела с множественным выбором рёбер
Рисунок 18. Построение срединной оболочки по наборам пар граней тела
Доступно несколько опций построения:
- ручной выбор одной пары эквидистантных граней;
- последовательный выбор набора пар эквидистантных граней;
- автоматический поиск и выбор всех подходящих граней тела, которые являются эквидистантными и смещение которых друг относительно друга равно заданному значению d.
Рисунок 19. Варьирование положения срединной оболочки
Рисунок 20. Построение объёмных сеток в C3D Modeler
Рисунок 21. Хранение объектов геометрической модели в расширенном формате C3D
Рисунок 22. Загрузка геометрических объектов из файла C3D (по наименованию, типу или размеру)
Рисунок 23. Стыковка скруглений с постоянной хордой
Рисунок 24. Пример булевой операции, в которой используется доработанный алгоритм построения кривых пересечения поверхностей
Рисунок 25. Вычисление кривой пересечения двух сфер, совпадающих полюсами
По усмотрению пользователя C3D Modeler, поиск столкновений элементов 3D-модели теперь может быть остановлен уже на первом соударении или будет произведён от начала и до конца с фиксацией всех имеющихся столкновений в сборке. Появилось управление слиянием рёбер и граней в операциях C3D Modeler 2017, возросло быстродействие булевой операции и скорость построения NURBS-кривых по большим группам точек.
Набор многопоточных операций геометрического ядра C3D Modeler также был обновлён. В него вошли: построение плоских проекций, триангуляция геометрической модели, расчёт массово-центровочных характеристик. Обнаружены и устранены избыточные блокировки в контейнере атрибутов и в менеджере кэша, который теперь переведён на систему мьютексов. При этом объектное распараллеливание программного кода, отвечающего за создание триангуляционных сеток, дало приращение скорости в 4 раза на рабочей станции с 8-ядерным процессором и операционной системой Windows 10 – против 30%, которые даёт классическое распараллеливание кода.
Параметрическое ядро C3D Solver
Параметрическое ядро C3D Solver обеспечивает связь элементов геометрической модели друг с другом путем наложения на них геометрических ограничений - условий, выражаемых с помощью уравнений. Оно работает с трехмерными и двумерными объектами и может быть использовано для управления геометрической моделью с помощью логических и размерных ограничений.В новой версии C3D Solver существенно переработан программный интерфейс: API теперь основывается на базовом наборе типов и функций, необходимых для постановки задачи геометрических ограничений; в то же время объектно-ориентированная часть интерфейса остается в качестве надстройки над базовой. Данное улучшение упрощает работу с геометрическими данными, а унификация интерфейса позволяет встраивать параметрическое ядро C3D Solver в приложения с произвольной архитектурой.
Для 3D-моделей в C3D Solver 2017 появилась возможность регистрировать субобъекты, что согласуется с концепцией «геометрически жёстких» кластеров и позволяет корректно организовать работу с большими и сложными сборками 3D-моделей.
По запросу пользователей C3D был добавлен новый тип данных – скалярная переменная. Несмотря на кажущуюся простоту, данное улучшение потребовало переработать параметрическое ядро C3D Solver. В настоящее время ядро может работать с варьируемыми радиусами различных геометрических объектов (окружностей, цилиндров, торов и сфер), а также умеет масштабировать размеры линейных и угловых паттернов (рис. 26).
Рисунок 26. Масштабирование размеров линейных и угловых паттернов
Одна из главных тенденций ИТ-отрасли последних лет – это миграция технологий в облака. Мы учли популярный тренд в своей работе и создали новый продукт – C3D Solver для JavaScript. Уникальность данного решения состоит в том, что программное обеспечение, написанное на его основе, может не только функционировать в браузере, но, что самое ценное, способно производить геометрические расчёты на стороне клиента. C3D Solver – первое параметрическое ядро, которое работает в браузере без необходимости вычислений на стороне сервера!
Модуль обмена данными C3D Converter
Модуль обмена данными C3D Converter используется разработчиками инженерного ПО для чтения и записи 3D-моделей в такие форматы данных, как STEP, IGES, X_T, X_B, SAT, JT, STL, VRML. В новой версии C3D Converter появилась поддержка STEP AP242. По замыслу комитета ISO, данный протокол должен со временем заменить двух других его предшественников – AP203 и AP214. Обновленный формат STEP претерпел существенные изменения преимущественно в той области, которая находится вне функционала геометрического ядра C3D Modeler. Наибольших изменений в AP242 коснулась работа с информацией о производстве изделия (PMI). Существенно доработаны способы передачи аннотации, которая включает в себя технические требования, размеры и обозначения.Команда разработчиков C3D Converter внимательно отслеживает практическое применение обменного формата STEP. Анализ файлов показывает, что объём передаваемых PMI-данных существенно возрос, а представление для передачи текста используется преимущественно графическое (рис. 27).
Рисунок 27. Чтение модели с PMI из файла в формате STEP AP242
Граничное представление геометрии наиболее полно передаёт информацию о форме изделия и в явном виде описывает гладкость поверхностей, топологию и т.д. Поддержка данного представления в JT была реализована за счёт имеющихся у C3D Labs наработок по конвертации обменных форматов Parasolid. Граничное представление удобно использовать для внесения изменений в 3D-модель, но есть ряд задач, например визуализация, для которых оно является избыточным. В таких случаях лучше использовать полигональное представление геометрии, которое может быть отдельно прочитано из файла с меньшими вычислительными затратами на обработку. Имеющиеся в JT метаданные позволяют выбрать необходимый уровень детализации 3D-модели с учётом режима её отображения (рис. 28).
Рисунок 28. Отображение модели с разными уровнями детализации
Рисунок 29. Импорт геометрической модели из файла в формате JT
Приложение C3D Viewer
Впервые в истории C3D Labs разработано конечно-пользовательское приложение – C3D Viewer, которое позволяет открывать 3D-модели в распространенных форматах данных и сохранять их в собственный формат C3D. Приложение создано на основе геометрического ядра C3D Modeler, модуля визуализации C3D Vision и модуля обмена данными C3D Converter.Возможности C3D Viewer:
- чтение 3D-моделей в форматах STEP, X_T, X_B, SAT, IGES, STL, VRML, C3D;
- загрузка массива моделей в одну сцену;
- управление ориентацией модели, стандартные виды;
- управление отображением модели, перспективная проекция;
- управление качеством отображения модели (детализацией);
- управление параметрами производительности;
- сохранение моделей в растр с настройкой сцены (форматы JPEG, TIFF, BMP, PNG);
- сохранение моделей в формат C3D.
Рисунок 30. Графический интерфейс приложения C3D Viewer для просмотра и конвертации 3D-моделей
Приведённый в статье перечень доработок и улучшений C3D Toolkit не является исчерпывающим. Стоит добавить, что «Руководство пользователя C3D» было дополнено новыми главами и разделами, а каталог 3D-моделей – новыми примерами.
Если у вас возникли какие-то вопросы, то вы можете задать их по адресу: info@c3dlabs.com
Скачать C3D Viewer можно на официальном сайте компании
Приложение распространяется БЕСПЛАТНО без каких-либо ограничений в использовании.