Кто заинтересован в совершенно новом, созданном с нуля ядре boundary representation (BREP)? Как насчет того, у кого нет проблем с топологическим именованием, есть собственный веб-интерфейс параметрической САПР, с которым можно играть, и есть операции типа САПР, которые дружат с треугольными сетками? Если вы заинтригованы, ознакомьтесь с проектом BREP от [mmiscool].
Функционирующие (не говоря уже о многофункциональных или эффективных) САПР-системы — это не тот программный проект, который мы часто видим. Те, которые представляют модели как подлинные структуры BREP, но умело используют операции на основе сетки там, где это имеет смысл? Еще меньше.
Теоретически САПР-программы просты: позволяют пользователю определять элементы, отслеживать, что это такое и как они связаны друг с другом, и выполнять операции с ними по запросу. На практике это требует значительных усилий. Цепочки операций и зависимостей легко становятся сложными, изменчивыми объектами, и в них действительно нет места для ошибок.
Ознакомьтесь с рекомендациями [Арьи Вороновой] по использованию FreeCAD, чтобы получить несколько советов о том, что происходит за кулисами современной САПР-программы, и с какими проблемами приходится сталкиваться серверной части, например, с проблемой топологического именования. (ТНП). Кстати, реализация [mmiscool] позволяет полностью избежать этой проблемы.
Демонстрационная версия доступна по адресу BREP. io, которая служит платформой для оценки состояния проекта. Вы можете начать, нажав кнопку + вверху на левой панели, чтобы добавить элементы и операции в историю (например, добавить куб, затем добавить фаски или скругления, или вытянуть грань, и так далее).
[mmiscool] отмечает, что все вычисления выполняются на стороне клиента; даже сложные операции, такие как скругления, lofts и логические значения с несколькими телами, выполняются непосредственно в браузере без необходимости переноса на серверную часть. Разработка BREP документируется на Hackaday. и ниже есть видео, в котором представлен обзор. Почему бы вам не рассказать об этом подробнее?