Pull to refresh
37
1
C3D Labs @c3dlabs

Разработчик геометрического ядра C3D

Send message

Тенденции к усилению взаимодействия бизнеса и вузов на ИТ-рынке

Level of difficultyEasy
Reading time6 min
Views537

Как ИТ-компании решают вопрос кадрового голода? Как правительственные программы помогают вовлекать работодателей в образовательный процесс? Почему в C3D Labs появился отдел образовательных проектов? Рассказывает Любовь Белянина, руководитель по работе с персоналом C3D Labs.

«Охота» на специалистов и кадровый голод

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

Такое положение вещей привело к пресловутому кадровому голоду, нехватке квалифицированных специалистов и «пробке из джунов» – пожалуй, основным трендам последних лет, с которыми столкнулись многие компании. В Москве и Санкт-Петербурге на одну вакансию приходит 5–6 резюме от специалистов без опыта или с минимальным опытом работы. При этом, к сожалению, часто у таких кандидатов нет необходимых бизнесу знаний (а не только практических навыков).

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

Читать далее

Полигональное моделирование. Обзор возможностей C3D PolyShaper

Level of difficultyMedium
Reading time7 min
Views1.2K

Александр Лонин, руководитель группы полигонального моделирования C3D Labs, к.ф.-м.н, представляет новую разработку компании — полигональное ядро C3D PolyShaper — и рассказывает о новых возможностях инструментов реверс-инжиниринга, алгоритмах модификации при процессинге сеток, диагностике и лечении сеток.

Читать далее

Взаимодействие C3D Solver с приложением на примере моделирования сборки

Level of difficultyMedium
Reading time12 min
Views603

С3D Solver – это инструмент для разработчиков, работающих с 2D и 3D-моделированием. Он позволяет создавать параметрические сборки из твёрдых тел и эскизы, накладывая на них связи (ограничения). Мы остановимся непосредственно на трёхмерном решателе, чтобы на его примере ответить на возникающие у разработчиков приложений вопросы, которые и послужили толчком к написанию данной статьи. Например, расскажем о значении синхронизации представлений геометрических объектов – это наиболее распространенная проблема, возникающая при использовании трёхмерного решателя. А также в рамках статьи погрузимся в основные аспекты работы программиста конечного приложения с С3D Solver, рассмотрим функциональность математической библиотеки и пройдём путь от клика по иконке до сопряжения геометрических объектов на конкретном примере.

Чтобы лучше ориентироваться в предметной области и терминах, которые будут упоминаться, начнём с краткого описания базовых понятий. В статье рассмотрим три представления твёрдых тел. Изображение модели, которую пользователь видит на экране, мы будем называть графическим представлением. Следующее представление – модельное. Оно включает в себя описание топологии моделируемого объекта, связей элементов геометрической модели, историю её построения и атрибуты элементов. За него отвечает геометрическое ядро C3D Modeler. Наконец, есть параметрическое представление, которое обеспечивает взаимосвязь элементов модели, позволяя редактировать её, синхронно изменяя положение тел. Воплощается оно в системе геометрических ограничений GCM_System под управлением C3D Solver, который не имеет прямой связи с твёрдыми телами модельного представления. Отсюда возникает важная особенность – необходимость синхронизации представлений.

Читать далее

Полигональное моделирование. Назначение нового модуля C3D PolyShaper, сферы его применения

Level of difficultyMedium
Reading time5 min
Views857

Денис Стаценко, руководитель отдела продуктового маркетинга C3D Labs, представляет новую разработку компании — полигональное ядро C3D PolyShaper — и рассказывает об истории ее создания, функционале и областях применения.

C3D PolyShaper — новая разработка компании C3D Labs, полигональное ядро, представляющее собой набор инструментов для редактирования, анализа и устранения дефектов полигональных объектов.

Рассмотрим предпосылки появления этого модуля.

Читать далее

Эффективная работа с технической поддержкой C3D Labs

Level of difficultyMedium
Reading time7 min
Views386

Максим Кулагин, руководитель технической поддержки C3D Labs, делится секретами предоставления эффективной технической поддержки и объясняет, как правильно создавать запросы.

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

Давайте рассмотрим, какой путь преодолевает запрос пользователя.

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

Итак, информация получена, проблема воспроизводится, что дальше?

Читать далее

История одного ядра от Андрея Туманина: «Без нашего ядра всё было бы по-другому»

Level of difficultyEasy
Reading time4 min
Views1.4K

В рубрике «История одного ядра» рассказываем о людях, которые своим трудом и талантом создают историю C3D Labs. Мы поговорили с Андреем Туманиным, руководителем отдела разработки геометрического ядра C3D Modeler, и узнали, как Андрей прошел путь от романтики судостроительной отрасли к руководству командой математиков-программистов ядра.

— Андрей, расскажи, где прошло твоё детство?

Детство прошло в Нижегородской области.

— Мечтал ли ты стать математиком? Или, может, пошел по стопам родителей?

Стать математиком не мечтал, родители тоже к этой сфере не относятся. Мне повезло, у меня в школе были хорошие педагоги по математике — Лилия Михайловна Владимирская и Нина Константиновна Владимирская, которые привили любовь к точным наукам. Разумеется, была склонность к техническим предметам. В целом класса с 8-го я был нацелен на мехмат ННГУ, занимался в заочной математической школе при этом факультете.

— Ты учился на механико-математическом факультете ННГУ им. Лобачевского. Сложно ли было поступить и учиться?

Для меня поступить было сложнее, чем учиться. В студенческие годы жил в общежитии. Первые три курса сосредоточился на учебе, а потом работал. С четвертого курса уже работал.

Читать далее

Об изменениях в процессе доставки геометрического ядра C3D

Level of difficultyMedium
Reading time6 min
Views955

Анна Ладилова, руководитель команды DevOps в C3D Labs, раскрывает причины возрастающей роли Linux в разработке, описывает связанные с этим изменения, которые происходят в процессе доставки ядра C3D, а также делится планами дальнейшего развития.

В 2022 году компания C3D Labs начала собирать геометрическое ядро C3D на базе платформы «Эльбрус».

Читать далее

C3D Web Vision: функциональность и планы по развитию компонента

Level of difficultyMedium
Reading time4 min
Views536

Сергей Климкин, руководитель группы C3D Web Vision, C3D Labs, рассказывает о том, что из себя представляет модуль Web Vision, освещает текущие рабочие проекты и знакомит с планами по развитию компонента.

Web Vision — это клиент-серверный модуль, предназначенный для визуализации в браузере. Он включает процессы управления камерой, такие как панорамирование, вращение, зумирование, причем как с помощью компьютерной мыши, так и с помощью жестов на сенсорном экране. Процесс поиска геометрии можно осуществлять как в режиме поиска под курсором, так и рамкой — секущей и объединяющей. Кроме того, имеются функции управления видимостью, масштабирования камеры и динамического сечения.

Web Vision состоит из двух частей. Первый, frontend-часть, представляет собой npm-пакет, поставляющийся для внедрения в браузер разработчика. В него входит Type Script API для управления свойствами визуализации — скрытия объекта, его покраски и других способов взаимодействия с графикой. Второй компонент, серверная часть, в большей степени ориентирован на управление данными. Серверная часть используется для конвертации, подготовки данных для визуализации, получения атрибутной информации, метаданных и т. д. Управление сервисом происходит с помощью REST API, это сделано для интеграции с микросервисной архитектурой.

Читать далее

C3D Vision: новая функциональность и интеграция с математическим ядром

Level of difficultyMedium
Reading time4 min
Views623

Эдуард Максименко, руководитель команды разработки C3D Vision, к.т.н., C3D Labs, знакомит с новыми возможностями основного компонента визуализации — C3D Vision — и представляет усовершенствования для инструментов, которые давно находятся в распоряжении пользователей.

Прежде чем перейти к основным темам, давайте уточним, что такое C3D Vision. C3D Vision — это кроссплатформенная графическая библиотека (SDK), которая дает возможность визуализировать практически любое полигональное представление геометрии. Графическая библиотека Vision ориентирована на систему автоматизированного проектирования, и основной функционал включает:

Читать далее

Parasolid inside: новые форматы и другие доработки C3D Converter

Level of difficultyMedium
Reading time7 min
Views894

Александр Спиваков, руководитель команды разработки C3D Converter, C3D Labs, описывает роль конвертера в качестве части C3D Toolkit, представляет сценарии использования C3D Converter — миграция и MultiCAD — в пользовательских приложениях, знакомит с доработками решения, сделанными в контексте этих задач, и планами развития конвертера.

Что собой представляет C3D Converter в составе C3D Toolkit и зачем он нужен? Глобально перед нами стоят две задачи.

Читать далее

C3D Solver: принципы параметрического черчения 2D-паттернов и улучшения для 3D-моделирования сборок

Level of difficultyMedium
Reading time7 min
Views1.2K

Александр Алахвердянц, ведущий математик-программист, C3D Labs, знакомит с новинками в двухмерных и трехмерных решателях — продуктах, которые разрабатываются в группе C3D Solver.

Что такое решатели? Решатели — это библиотеки, которые позволяют накладывать связи на геометрические объекты. Эти связи мы называем ограничениями. Они бывают двух видов: логические (касания, симметрии, совпадения) и размерные (угловой и линейный размеры, паттерны). Кроме того, мы предоставляем функционал анализа степеней свободы, минималистичного драггинга и логирования вызовов API. Логирование вызовов API значительно помогает при составлении баг-репортов.

Первая и главная новинка группы C3D Solver в этом году — это появление нового типа объектов, а именно двумерных паттернов.

Читать далее

C3D Collision Detection: представление детектора столкновений в составе C3D Toolkit

Level of difficultyMedium
Reading time4 min
Views792

Сергей Белёв, старший математик‑программист, C3D Labs, знакомит с новым компонентом C3D Toolkit — модулем C3D Collision Detection, рассказывает о том, что детектор столкновений представляет собой изнутри, и о том, какие возможности он предоставляет пользователям.

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

Обнаружение столкновений подразумевает постановку следующих математических задач. Первая — это возможность уметь находить пересечения между собой среди множества объектов и делать это быстро, без поиска самого пересечения. Требуется оперативно отвечать на соответствующий вопрос — «да, пересекаются» / «нет, не пересекаются». Следующая задача состоит в классификации касаний между собой этого множества объектов. Каждое касание является пересечением, но не наоборот, и важно уметь выделять этот частный случай пересечения. Помимо этого, актуальна задача поиска минимального расстояния между сборками тел и телами, а также задача классификации взаимного расположения объектов. Примером служит детектирование «вложения тел» («тело в теле»), недавно внедренное нами в ответ на многочисленные запросы пользователей. Важно отметить, что все эти задачи нужно уметь решать как в статике, так и в динамике.

Модуль C3D Collision Detection, во‑первых, реализует «эффективные» алгоритмы решения всех поставленных задач — как в статических сценах, например контроль зазоров, так и в динамических сценах, в частности контроль соударений между элементами сборки. Во‑вторых, у нас есть возможность тонкой настройки всех формулируемых задач — можно даже создавать их комбинации. В‑третьих, исходя из необходимости быстро детектировать касание/пересечение, применяется принципиально иной подход, чем в булевой операции: мы не строим какие‑либо дополнительные объекты.

Читать далее

Прямое моделирование: изменение топологии и адаптация скруглений

Level of difficultyMedium
Reading time6 min
Views2.6K

Евгений Кондратюк, математик-программист, C3D Labs, представляет обзор возможностей геометрического ядра C3D в области прямого моделирования, или прямого редактирования.

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

Читать далее

Полигональное моделирование: от фундамента к продвинутым алгоритмам

Level of difficultyMedium
Reading time8 min
Views4.7K

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

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

Читать далее

C3D Modeler – основа геометрического ядра C3D

Level of difficultyMedium
Reading time7 min
Views3K

Андрей Туманин представляет обзор направлений развития и точки роста геометрического ядра C3D Modeler.

C3D Modeler, или просто геометрическое ядро C3D, – это полностью отечественное программное решение, которое выполняет все возможные вычисления для построения геометрических объектов любой сложности и предоставляет инструменты для проведения операций над этими геометрическими объектами. Основным представлением в геометрическом ядре является граничное представление, однако, наряду с граничным представлением, поддерживаются полигональное представление и ряд операций с ним. Тела на основе граничного представления, полигональные объекты, а также каркасы могут обладать деревом построения, которое позволяет перестраивать геометрические объекты с новыми параметрами. Наряду с классическими направлениями для геометрического моделирования, такими, как каркасное, поверхностное и твердотельное моделирование, в геометрическом ядре C3D интенсивно развиваются направления прямого и полигонального моделирования. Также в составе ядра есть уникальный модуль моделирования тел из листового металла. При этом нашей главной ценностью является команда, которая обладает более чем 20-летним опытом и высоким уровнем экспертизы в геометрическом моделировании.

Читать далее

Эволюция требований к разработчикам САПР

Level of difficultyEasy
Reading time8 min
Views4K

Моя работа на протяжении долгого времени связана с людьми, точнее сказать с их развитием, как личным, так и карьерным. Сегодня я работаю в компании C3D Labs – разработчике геометрического ядра, на позиции People Partner. В статье мы поговорим о рынке труда математиков-разработчиков в России именно в САПР-индустрии (САПР — системы автоматизированного проектирования), о том, какие темы интересуют действующих сотрудников и какие требования существуют к потенциальным кандидатам.

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

как стать сеньором, тимлидом и экспертом;

как вырасти и перейти на новый профессиональный уровень — что для этого нужно;

мягкие навыки, или софт скилс, как ключевой фактор в достижении новой роли.

Я хочу поделиться своими мыслями и опытом по поводу роли HR в этих процессах, может ли специалист по персоналу быть реальным помощником в развитии карьеры?

Начнем с обсуждения трендов в ИТ-индустрии: что сегодня происходит на рынке разработки?

Немного статистики из открытых источников: в мире насчитывается около 30-ти миллионов человек, которые занимаются разработкой, т.е. каждый 260-ый человек в мире. Российские эксперты считают, что в нашей стране разработкой занимается около 1,5 млн человек, т.е. каждый 100-ый.

Читать далее

Движок C3D Vision управляет отображением 3D-текстур «на лету»

Reading time5 min
Views2.1K

Движок визуализации C3D Vision пополнился новым функционалом. Теперь у пользователей есть возможность создания объемных текстур и отображения их в сцене. В этой заметке мы расскажем об объектах API Vision, непосредственно работающих с текстурами, а также продемонстрируем на уровне кода, как с этими объектами может взаимодействовать пользователь.

Читать далее

Особенности использования файла конфигурации тестового приложения геометрического ядра C3D

Reading time5 min
Views600

В ходе мастер-класса по возможностям модуля C3D Converter, прошедшего в рамках конференции C3Days 2022, было продемонстрировано, как сформировать двойник модельного документа для того, чтобы упростить работу по ошибкам экспорта. Предложенный подход требует пересборки тестового приложения для активации и настройки отладочной функциональности. Для программистов это может показаться не критичным, но конечным пользователям, которые не связаны с разработкой, может создать немалые трудности.

Читать далее

Возможности продления кривых для пользователей ядра C3D

Reading time9 min
Views994

На данный момент геометрическое ядро C3D стремительно набирает популярность вместе с КОМПАС-3D — приложением для систем автоматизированного проектирования (САПР). Чтобы поддержать эту тенденцию, мы наращиваем функционал наших продуктов и вводим больше новых «фич» (features). Одним из таких нововведений является операция продления пространственной кривой на заданную длину в метрическом пространстве.

Читать далее

Создание обертки геометрического ядра C3D для использования на разных языках и платформах

Reading time4 min
Views1.3K

Одна из задач в разработке современных программных продуктов — снижение порога вхождения. Ее решением может быть, например, документация, снабженная большим количеством примеров, развитая техподдержка или возможность использования продуктов на нескольких языках программирования.

Рассмотрим процесс создания обертки для библиотеки геометрического ядра C3D Labs.

Читать далее

Information

Rating
1,608-th
Location
Россия
Registered
Activity