Pull to refresh

Comments 13

А есть ли у Компас API которое позволяет создавать модели и работать с ними посностью на языке программирования? И на каком языке это API?
Конечно, в КОМПАСе есть API, на хабре даже уже есть небольшой цикл статей по описанию работы с API на C++ habr.com/company/ascon/blog/350516
А так можно на Delphi, на C#, на Python писать. SDK есть в папке с программой.
Полноценный API только на языке С++, остальные так или иначе урезаны (имел дело с c# в частности).
Возможно по C# где-то неполное описание, но само API не урезано, оно одинаковое везде.
Я правильно понимаю, что если не OpenGL и DirectX, то вы написали свою математику и сделали работу с ней на видеокарте напрямую (без указанных выше библиотек)?

Или всё же сделали обертку (движок), которая просто позволяет оперировать описанной вами иерархической структурой?

p.s.: хочу гордиться коллегами, хочу больше технических деталей, ибо первое сложно, а вот второе не очень.
Отвечает Эдуард Максименко:

«Нет, свою математику мы не писали, т.к. решение OpenGL является стандартом практически для всех ОС и смысла в этом нет.
Обертка — слово неподходящее, это все же движок, со своим функционалом, оптимизацией, а также инструментарием. Что такое “Обертка”? Если говорить простым языком, в большинстве случаев это промежуточный слой между прикладной программой и другой библиотекой или интерфейсом другого API, цель обертки — упростить и сделать более удобной работу конечного пользователя, но есть и др. цели. Тут разработан именно движок, а обертка над стандартной библиотекой OpenGL занимает объем не более 3-6% от всего кода. Поверьте, что и тут достаточно работы, чтобы сделать ориентированный визуализатор в данной области. И самое главное — разработать необходимый набор функционала, которого не ни в OpenGL, ни в DirectX, и вряд ли когда появится.

Для ясности привожу примеры: как и в большинстве движков, разработано представление сцены в виде графа, который не имеет отношение к OpenGL и DirectX. Также много механизмов оптимизации LOD, Frustum culling, …, которые не связаны с этими библиотеками, ну а про привязки, локаторы, манипуляторы и, как следствие, собственную событийную модель или поддержку физических устройств я уже говорить не буду. Тем не менее в данной библиотеке присутствует всего лишь два класса, которые выполняют роль оболочки и реализовывают перевызов нескольких функций из OpenGL. Хочу также отметить, что на создание подобных движков уходят годы работы не одного человека, а целой группы. Короче, все зависит от потребности, если вам не обходимо визуализировать кубик — это одно, если мы говорим о библиотеке с большим множеством решений — это совершенно другой расклад. Спасибо за ваше внимание, мы всегда готовы дать максимально развернутый ответ на ваши вопросы».
Отвечает Эдуард Максименко:

C3D Vision — достаточно молодой компонент в линейке C3D Toolkit. Пока реализована поддержка Windows и Linux. Я думаю, это даже к счастью, что мы еще не реализовали поддержку iOS (с Metal), что позволит нам проанализировать некоторые подходы для дальнейшей его поддержки. В любом случае, нас это не пугает, т.к. C3D Vision имеет модульную основу, что позволяет разработать отдельный плагин для поддержки того или иного отрисовщика, в том числе и Metal, не модифицируя остальные модули движка.
Как я отмечал в ответе на предыдущий комментарий, реализация плагина отрисовщика занимает незначительную часть по отношению ко всему движку, но, естественно, будет необходим потратить определенное время на изучение Metal, т.к. мы с ним не работали, тут никуда не денешься.
Вот хотелось бы узнать перспективы по использованию, с виду смотрится красиво.
Но вот я хочу использовать его к примеру в своем приложении. Где собственно сейчас крутится свой вариант на OpenGL. Приложение не продается и когда будет продаваться неизвестно, и будет ли вообще.
Это я к тому — во сколько обойдется использование вашего движка в данном случае? Не будет ли в будущем какого-нибудь отказа в стиле — мы решили сделать движок закрытым или поднять на него цены до уровня конкурентов.
Насколько удобно будет его использовать с Delphi к примеру.
Вопрос цены мы обсуждаем индивидуально. В том числе учитываем, на каком этапе разработки находится продукт заказчика, по какой модели будет продаваться.
Закрывать движок в наши планы не входит. Смысл нашей работы и состоит в том, чтобы дать разработчикам САПР удобный и полезный инструмент.
Хорошо, а если продукт вообще продаваться не будет? :-)
Сейчас я его использую больше для обучения студентов, чем для чего-то практического в плане бизнеса.
Для образовательных задач предоставляется академическая лицензия на все компоненты C3D Toolkit. Подробнее здесь c3dlabs.com/ru/info/education
Если такое сотрудничество интересно, напишите на info@c3dlabs.com.
Благодарю за информацию, попробую написать.
Sign up to leave a comment.