

Максим Кулагин — руководитель отдела технической поддержки C3D Labs, Ольга Циркунова — руководитель отдела по развитию бизнеса C3D Labs.
Эксперты C3D Labs дают ответы на часто задаваемые вопросы по продуктам компании.
Вопрос: Что такое C3D Toolkit?
Ответ: C3D Toolkit — это не готовая САПР, а набор модульных компонентов для разработки: Modeler, Solver, Converter, Vision и др. Они решают фундаментальные задачи работы с геометрией и предоставляют API для построения прикладных решений. Прикладная логика (расчетные сетки, специфика бизнес-процессов и т. п.) реализуется уже в вашем собственном приложении.
Вопрос: Ядро C3D — это полноценная САПР?
Ответ: Нет. Ядро предоставляет базовые математические и алгоритмические блоки. Прикладные функции для конечного пользователя создаются уже на уровне приложения. Мы занимаемся математическим фундаментом, вы — строите на нем свою систему.
Вопрос: В каком виде поставляется C3D Toolkit?
Ответ: Пользователю поставляются динамические библиотеки, собранные для конкретной операционной системы (для Windows – dll, для Linux - .so, для macOS - .dylib), набор заголовочных файлов С++ и файлы необходимые для компоновки с пользовательскими проектами.
Вопрос: Какие примеры и дополнительные материалы входят в дистрибутив?
Ответ:
- Тестовое приложение, включающее в себя примеры использования функций из модулей C3D Modeler, C3D Solver, C3D PolyShaper, C3D Converter, C3D Bshaper, C3D Collision Detection для Windows и Linux.
- Обертка на C# для использования функций из модулей C3D Modeler, C3D Solver, C3D PolyShaper, C3D Converter, C3D Bshaper, C3D Collision Detection, для использования в Windows и Linux.
- Примеры графических приложений C3D Vision на языке программирования С++ с использованием библиотеки Qt для организации оконного интерфейса (Windows и Linux), с использованием библиотеки MFC, а также обертка на C# для работы в Windows.
- Полная документация по API и сборке.
Вопрос: Нужно ли дописывать GUI и логику предметной области?
Ответ: Да. Мы даем строительные блоки, а конечный интерфейс и бизнес-логику вы создаете самостоятельно на их основе.
Вопрос: Что делать, если нужна поддержка системы Android или мобильных платформ?
Ответ: Сборки C3D Toolkit для мобильных платформ существуют и выполняются по запросу. В стандартный дистрибутив они не включены, но при необходимости такая сборка может быть предоставлена.
Вопрос: На каком языке программирования разработано геометрическое ядро?
Ответ: Геометрическое ядро и все его компоненты, за исключением WebVision, разрабатываются на языке C++. Это «родной» язык ядра и при его использовании для разработки приложения, обеспечивается доступ ко всему функционалу C3D Toolkit.
Вопрос: Поддерживаются ли другие языки?
Ответ: Да, у нас есть обертки для языка C#. Также реализована обертка на языке C, которая служит промежуточным этапом для создания оберток. В будущем ожидается создание возможность использования геометрического ядра C3D в проектах на других языках программирования.
Вопрос: Под какие операционные системы собирается ядро?
Ответ: Сборки доступны для Windows, Linux и других систем. Также реализованы сборки под процессоры «Байкал» и «Эльбрус».
Вопрос: Поддерживает ли ядро формат .m3d (КОМПАС-3D)?
Ответ: Нет, формат .m3d не поддерживается ядром напрямую. Это проприетарный бинарный формат, поддерживаемый на уровне КОМПАС-3D. Геометрическое ядро C3D находится на более низком уровне и у него нет информации о структуре этого типа файлов и оно не поддерживает работу с ним. Но для его чтения существует обходной путь — использование технологии KOMPAS-Invisible. С ее помощью можно через API КОМПАС-3D прочитать файл .m3d, экспортировать его в формат .с3d и уже дальше работать с ним в ядре C3D. Это самый удобный на данный момент способ.
Вопрос: Каковы правила лицензирования геометрического ядра?
Ответ: Мы подходим к лицензированию гибко и учитываем сценарии использования, цели и возможности заказчика. Наиболее распространенный вариант — коммерческая лицензия. Она включает ежегодный платеж за право использования ядра, техническую поддержку, возможность запроса нового функционала и отчисления от продаж конечного продукта.
Вопрос: Какие еще есть варианты лицензирования?
Ответ: Есть корпоративная лицензия, когда продукт создается для внутренних нужд предприятия или работает в сети. В этом случае расчет стоимости отличается: мы обсуждаем конкретные условия использования и под них формируем лицензионную модель.
Вопрос: Входит ли техническая поддержка в лицензию?
Ответ: Да, обязательно. Мы не только оказываем техническую поддержку, но и плотно работаем с каждым пользователем, учитывая его задачи и потребности.
Вопрос: Какого уровня квалификации программисты требуются для работы с геометрическим ядром? (частый вопрос от стартапов, которые хотят разработать инженерное программное обеспечение)
Ответ: Дать конкретный ответ в духе «один senior, два middle, 38 junior» невозможно. Даже на пользовательском уровне работа с геометрическим ядром требует хорошего понимания геометрии. Часто программисты инженерных приложений сами являются инженерами по основной специальности. Это важно: нужно разбираться, зачем и как используется та или иная функция, и при этом хорошо владеть используемым языком программирования. Кроме того, необходимо знание предметной области, а здесь мы сами не всегда эксперты — и рассчитываем на взаимодействие с заказчиком.
Вопрос: Что с документацией? Достаточно ли ее?
Ответ: Этот вопрос нам задают регулярно. Отметим главное: документация открыта и доступна всем — не только действующим пользователям. Чтобы с ней ознакомиться, не нужно заключать договор или платить. Она доступна для изучения на нашем сайте.
Вопрос: Какова ваша модель взаимодействия с пользователями?
Ответ: Мы стараемся брать на себя самую сложную часть — математику и сложные вычисления. Каждого пользователя рассматриваем индивидуально и работаем с ним в тесном взаимодействии, чтобы в итоге развивать его продукт.