18 июля 2015
Чемоданные углы и бельгийские вафли: теперь вы знаете, чем занимаются в C3D Labs этим летом
Олег Зыков
От редакции isicad.ru: По просьбе заинтересованных лиц воспроизводим заметку автора, опубликованную в Facebook.
В среду в Коломенском офисе C3D Labs прошло очередное, в чем то рутинное совещание — обсуждали итоги 2 квартала, намечали планы на осень, обсуждали отпуска... т. е. текущие проекты в разработке. Обычно информация с подобных мероприятий является закрытой для внешнего мира, но на этот раз мы решили сделать исключение - добро пожаловать за кулисы разработки геометрического ядра C3D!
Вот, например, Сергей Бирюков (выпускник Коломенского государственного педагогического института, 3 года в C3D) рассказал о своей работе над операцией построения тела по сечениям с несколькими направляющими — уже написан алгоритм расчёта всех направляющих кривых (каркаса) для построения тела в общем случае (см. картинку). В дальнейшем предстоит доработать методы для частных случаев (простейшие поверхности) и диагностику построения этих тел.
Анна Ладилова (выпускница Нижегородского государственного университета им. Лобачевского, кандидат физико-математических наук, 3 года в C3D) разработала новый алгоритм построения скруглений, который отрабатывает в сложных пограничных случаях — например, когда близко к скругляемому ребру подходит другое ребро, или в случае скругления чемоданного угла сложной конфигурации. Новый алгоритм позволит строить скругления, которые раньше или вообще не выполнялись, или выполнялись не оптимальными методами (см. картинку).
Алексей Горячих (выпускник Новосибирского государственного университета, второй год в C3D) научил ядро “булить бельгийские вафли» - если раньше самопересекающиеся эскизы обрабатывались только булением по отдельности выдавленных тел, то сейчас все делает одна операция выдавливания, используя только одно буление. Вторая его летняя работа — выдавливание телом — функциональность, которую ждут от нас сразу несколько заказчиков: теперь в качестве исходного объекта для операций выдавливания можно использовать не только плоские и пространственные эскизы, но и объемные тела (как на картинке).
Если кто забыл - вспоминайте: C3D – это не только первоклассное геометрическое ядро, но и один из немногих в мире геометрических решателей, конкурент D-Cubed от Siemens PLM и LGS от Bricsys. Руководит разработкой C3D Solver Александр Максименко (15 лет в C3D) — последние месяцы он посвятил написанию абсолютно нового API для трехмерного решателя, с которым уже можно познакомиться на сайте, в разделе онлайн-документации.
Вторая важнейшая работа — поддержка геометрических объектов с варьируемыми радиусами. Сейчас решатель может удовлетворить ограничения только за счет вращения или перемещения объектов в пространстве, с варьируемыми радиусами мы сможем решать ограничения за счет вычисления новых значений радиусов. Тут речь идет о таких объектах как окружность, цилиндр, конус, тор и сфера. Например, окружность с варьируемым радиусом позволит моделировать сложные контура с дугами скруглений (например, трассы для коммуникаций). Это работа подразумевает не только саму варьируемость (вычисляемость) радиусов, но и новые комбинации для ограничений, например касание окружности и прямой.
Александр Алахвердянц (выпускник МГУ им. Ломоносова, 4 года в C3D) также работает в группе C3D Solver. Его проект — параметризация массивов компонент. В ее основе лежит понятие паттерна – некоего базового закона, которому подчиняются все объекты, находящиеся в массиве. Элементы массива могут иметь разную природу (кубик, тело выдавливания или, например, эскиз) — лишь бы у этого объекта была своя ЛСК, а их положение и поведение (выравнивание) в массиве определяется индивидуально для каждого объекта при добавлении его в массив. В настоящее время реализованы линейный и угловой паттерны. По совместительству Саша отвечает за сборку C3D под альтернативные операционные системы, в частности в мае была собрана версия для Android, которая сейчас тестируется одним из заказчиков.
Над чем работали остальные члены команды? Узнаете из наших новостей перед выходом C3D V17! Ну или, может, мы снова захотим поделиться инсайдом о некоторых инсайтах с очередного совещания...
Кстати, если вы — математик-программист, и хотите присоединиться к нашей команде — welcome! Подробности тут.