Компания АСКОН временно не ведёт блог на Хабре Renga - программа для проектирования зданий, с помощью которой можно создать трёхмерную модель, включающую инженерные конструкции, коммуникации и всю информацию о них. Затем из этой модели можно получить чертежи и спецификации. Renga работает под Windows и написана на C++. В первых версиях приложения мы разрабатывали инструменты для  архитектурно-строительного проектирования, у каждого из которых есть свои параметры, особенности, правила построения геометрии, отношения, но число их относительно невелико. Когда пришло время развития функциональности для проектирования внутренних инженерных сетей стало понятно, что нужно бесконечно увеличивать число по сути однотипных, но в то же время совершенно разных по форме объектов.  Андрей Туманин представляет обзор направлений развития и точки роста геометрического ядра C3D Modeler. C3D Modeler, или просто геометрическое ядро C3D, – это полностью отечественное программное решение, которое выполняет все возможные вычисления для построения геометрических объектов любой сложности и предоставляет инструменты для проведения операций над этими геометрическими объектами. Основным представлением в геометрическом ядре является граничное представление, однако, наряду с граничным представлением, поддерживаются полигональное представление и ряд операций с ним. Тела на основе граничного представления, полигональные объекты, а также каркасы могут обладать деревом построения, которое позволяет перестраивать геометрические объекты с новыми параметрами. Наряду с классическими направлениями для геометрического моделирования, такими, как каркасное, поверхностное и твердотельное моделирование, в геометрическом ядре C3D интенсивно развиваются направления прямого и полигонального моделирования. Также в составе ядра есть уникальный модуль моделирования тел из листового металла. При этом нашей главной ценностью является команда, которая обладает более чем 20-летним опытом и высоким уровнем экспертизы в геометрическом моделировании.  Мы много рассказывали на Хабре, как запустить САПР КОМПАС на Linux с разными вариантами Wine (ссылка 1, ссылка 2). Сегодня впервые публикуем пост о разработке нативной Linux-версии. На связи Андрей Пилюгин, ведущий инженер-программист.   Наша команда отвечает за портирование бизнес-логики, а работы по интерфейсу и по API делают другие команды. Эти процессы идут параллельно.   Работы по портированию КОМПАСа велись не один год, над этим начинала работать совсем небольшая группа программистов, и за этот период вышло две версии под Windows. По этой причине мы не могли разломать весь каркас приложения и написать его заново, приходилось аккуратно трансформировать приложение, постепенно заменяя его составляющие на кроссплатформенные и поддерживая в работоспособном состоянии все остальные. В этом нас сильно выручала система автотестов. Мы решили не пытаться переписать всё сразу, а разделили портирование на этапы. На первом этапе хотели получить некую заготовку, в которой будет только сильно урезанное 2D с возможностью открытия нескольких документов, их масштабирования и переключения вкладок: по сути viewer.  Моя работа на протяжении долгого времени связана с людьми, точнее сказать с их развитием, как личным, так и карьерным. Сегодня я работаю в компании C3D Labs – разработчике геометрического ядра, на позиции People Partner. В статье мы поговорим о рынке труда математиков-разработчиков в России именно в САПР-индустрии (САПР — системы автоматизированного проектирования), о том, какие темы интересуют действующих сотрудников и какие требования существуют к потенциальным кандидатам. По моим наблюдениям, карьерные вопросы, которые сейчас интересуют программистов, можно разделить на следующие группы: • как стать сеньором, тимлидом и экспертом; • как вырасти и перейти на новый профессиональный уровень — что для этого нужно; • мягкие навыки, или софт скилс, как ключевой фактор в достижении новой роли.  Я хочу поделиться своими мыслями и опытом по поводу роли HR в этих процессах, может ли специалист по персоналу быть реальным помощником в развитии карьеры? Начнем с обсуждения трендов в ИТ-индустрии: что сегодня происходит на рынке разработки? Немного статистики из открытых источников: в мире насчитывается около 30-ти миллионов человек, которые занимаются разработкой, т.е. каждый 260-ый человек в мире. Российские эксперты считают, что в нашей стране разработкой занимается около 1,5 млн человек, т.е. каждый 100-ый.   В статье вы сможете узнать как при минимальных усилиях, с минимальным знанием Python облегчить тестирование, а также ускорить тесты, автоматизировать повторяющиеся действия и избавиться от лишней информации.   Как и любой продукт, КОМПАС-3D проходит многоэтапное тестирование, прежде чем попасть к пользователю, в нашем случае — инженеру. Мы рассказывали, как устроено тестирование в разработке (читать здесь) и альфа-тестирование с участием пользователей (об этом здесь). Сегодня поговорим о Магнитофоне. Так называется система автотестирования нашей собственной разработки. С её помощью можно записывать и анализировать тесты по заданным сценариям. Такая работа помогает: • проводить массовую проверку работоспособности программного обеспечения; • находить новые сценарии вылетов, ошибки и утечки памяти; • модифицировать существующую базу тестов; • реализовывать необходимую функциональность; • изменять данные проверки и анализировать её результаты; • тестировать те приложения для КОМПАСа, которые используют обновлённый вариант интерфейса.  Вряд ли найдётся тот, кто ещё не знаком с ChatGPT, Midjourney, StableDiffusion - такая популярность говорит сама за себя. Хайп вокруг генеративного искусственного интеллекта (далее - ИИ) не утихает и уже начинает немного надоедать. Но мы, как разработчики, должны оставаться в курсе событий и принимать реальность такой, какая она есть. А реальность такова: • Использование Copilot и его аналогов, ChatGPT и других генеративных нейросетей увеличивает вашу продуктивность. • Бизнес активно ищет возможности оптимизировать процессы или внедрить новые фичи на 	основе генеративного ИИ. Давайте разберём каждое из этих утверждений.  Альфа- и бета-тестирование — это разновидности внешнего пользовательского тестирования нового продукта, в нашем случае — версии. Если о бета-тестировании многие знают, т.к. оно ежегодно проводится для всех желающих в открытом формате, то про «альфу» известно не так много. О нем мы и расскажем подробнее.   Сразу после официального релиза КОМПАС-3D начинается работа над следующей версией продукта. Каждый квартал выходят технические релизы для внутренних пользователей. Есть функциональность, которая реализуется в течение квартала и соответственно попадает, например, в первый технический релиз. Другая же пишется в течение более длительного времени. Первая версия, обладающая всей функциональностью, которая была запланирована на текущий год, и есть альфа-версия.    Движок визуализации C3D Vision пополнился новым функционалом. Теперь у пользователей есть возможность создания объемных текстур и отображения их в сцене. В этой заметке мы расскажем об объектах API Vision, непосредственно работающих с текстурами, а также продемонстрируем на уровне кода, как с этими объектами может взаимодействовать пользователь.  У нас часто спрашивают о том, что КОМПАС-3D нам удалось развернуть с помощью Wine под Linux, а когда ждать того же относительно продуктов, входящих в PLM-комплекс АСКОН? В этой статье расскажем, как установить клиент ПОЛИНОМ:MDM, системы управления нормативно-справочной информацией предприятия.  В ходе мастер-класса по возможностям модуля C3D Converter, прошедшего в рамках конференции C3Days 2022, было продемонстрировано, как сформировать двойник модельного документа для того, чтобы упростить работу по ошибкам экспорта. Предложенный подход требует пересборки тестового приложения для активации и настройки отладочной функциональности. Для программистов это может показаться не критичным, но конечным пользователям, которые не связаны с разработкой, может создать немалые трудности.  В этой статье речь пойдет о Pilot‑BIM, системе управления проектными данными и инженерным документооборотом в строительстве. Это сетевое программное обеспечение, все пользователи которого работают с общей базой данных. Система организует совместную работу множества участников инвестиционно‑строительных проектов с файлами, электронными документами и информационными моделями объектов капитального строительства. Под множеством участников здесь можно понимать не только большое количество пользователей (сервер системы Pilot‑BIM способен обслуживать до нескольких тысяч пользователей), но и любое количество организаций‑участников проекта, располагающихся в разных точках планеты. Подробнее ознакомиться с Pilot‑BIM, целями его внедрения и решаемыми с его помощью задачами можно на сайте продукта, а в этой статье мы рассмотрим один из способов развёртывания и эксплуатации серверных компонентов системы.  Наша компания была организована в 2003 году. Мы работаем почти по всей России: на территории от Калининграда до мыса Хой. Располагаемся непосредственно в г. Тольятти. Самарская область славится большим фондом промышленности по химии. В основном, специалисты АО «Глоботэк» являются опытными проектировщиками, имеющими солидный опыт работы в Тольяттинском филиале Государственного института азотной промышленности. В настоящее время выполняем комплексные проекты на капитальные объекты по химической и нефтехимической промышленности. Помимо этого, занимаемся поставкой оборудования и практикуем разработку собственных технологических процессов. Одна из наших специализаций — производство формалина и смол, также, имеем обширный опыт по проектированию производств метанола, карбамида, меламина и прочим продуктам химической промышленности. Изначально мы не испытывали потребность в 3D‑проектировании, а делали всё традиционно в 2D. Но постепенно стали появляться заказы на объёмные проекты. За последние два года мы выполнили проектную и рабочую документацию на склад метанола на 50 000 м3 с двумя насосными и двумя резервуарными парками, получилось приблизительно 5500 листов. В этот же период мы выполнили проектную и рабочую документацию на склад карбамида с грузооборотом 700 тыс. т/год, а также десяток проектов по техническому перевооружению опасных промышленных объектов.  Время сборки проекта имеет немалое значение в процессе разработки. Начиная с "комфорта" разработчика, при внесении изменений, заканчивая стоимостью оборудования, необходимого для организации CI.   На данный момент геометрическое ядро C3D стремительно набирает популярность вместе с КОМПАС-3D — приложением для систем автоматизированного проектирования (САПР). Чтобы поддержать эту тенденцию, мы наращиваем функционал наших продуктов и вводим больше новых «фич» (features). Одним из таких нововведений является операция продления пространственной кривой на заданную длину в метрическом пространстве.  Инструкция — вектор для тех, кому нравится поковыряться в системе  В прошлой статье я начал публиковать инструкции по развёртыванию КОМПАС-3D под ОС на ядре Linux, а сегодня это дело закончу. Пока разработчики ещё трудятся над нативной Linux‑версией КОМПАС-3D, поэтому сейчас доступны два варианта работы в Linux: через WINE@Etersoft от команды «Этерсофт» и свободную версию Wine. Ранее мы рассмотрели запуск с помощью WINE@Etersoft, на очереди Wine.   В настоящее время существует несколько стандартов на исходные контуры. Каждый из них хорош по-своему, однако получить передачу, оптимальную для заданных условий эксплуатации, при использовании стандартных подходов и методов не всегда возможно. А ведь наверняка любопытному и грамотному конструктору захочется выйти за границы стандартов, отойти от стандартного исходного контура и посмотреть — а что там? Вдруг в неведомом пока многомерном поле переменных, которыми являются исходные геометрические данные передачи, и окажется то самое решение, которое позволит в тех же габаритах создать передачу лучше и надежнее?! Но реальность такова, что без применения современных методов оптимизации и построения корректной математической модели, описывающей работу передачи, быстро получить результат невозможно. Для достижения цели «сделать лучше и надежнее» в программном комплексе, состоящем из расчетного модуля «Валы и механические передачи 3D» и приложения «Оптимизация IOSO-K», реализованы IOSO-алгоритмы оптимизации, в которых стратегия решения задач оптимизации принципиально отличается от известных подходов нелинейного программирования и базируется на новой эволюционной технологии построения поверхности отклика. Как следствие, данная технология обладает большей эффективностью, обеспечивает большие возможности.  Сразу предупреждаю, я понимаю, что данная статья является неформатной для Habr. По сути, это инструкция, которую пользователи могут получить, обратившись в техническую поддержку АСКОН или региональный офис. Но в связи с тем, что большинство наших текущих и потенциальных заказчиков читают Habr и рассматривают его как прямой канал связи с АСКОН, я публикую ее здесь.  Одна из задач в разработке современных программных продуктов — снижение порога вхождения. Ее решением может быть, например, документация, снабженная большим количеством примеров, развитая техподдержка или возможность использования продуктов на нескольких языках программирования. Рассмотрим процесс создания обертки для библиотеки геометрического ядра C3D Labs.  Продолжаем серию постов о сложной математике, которую невозможно описать простыми словами. В этот раз мы поговорим о функционале поверхностного моделирования в геометрическом ядре C3D Modeler – поверхности по сети кривых. Заранее предупреждаем. Дальше вам встретится множество геометрических терминов и формул. А кто говорил, что будет легко?! О различных аспектах построения поверхности по сети кривых, а также полезных для ее практической реализации тонкостей, рассказывает Павел Егоров, математик-программист в C3D Labs. Поверхность по сети кривых является ценным инструментом в инженерном проектировании геометрических объектов со сложными обводами. Она образуется двумя семействами кривых, которые, взаимно пересекаясь, образуют сетку фрагментов, имеющую матричную структуру. Помимо точного прохождения через ее образующие кривые поверхность по сети кривых также позволяет задавать для них значения производных, что оказывается очень полезным для обеспечения различных типов граничных условий. На рисунке 1 показана поверхность, построенная по двум кривым в каждом направлении и использующая данное свойство для обеспечения касательного сопряжения с другой поверхностью.