Для начала немного истории, все программы автоматизированного проектирования в том или ином виде берут свое начало с конца прошлого тысячелетия, а именно:
Autocad - 1982 г.
Revit - 1997 г.
Tekla - 1966 г.
Компас - 1997 г.
Allplan - 1982 г.
ArchiCad - 1986 г.
Solidworks - 1993 г.
И многие иные, даже сложные комплексы для расчетов такие как ANSYS и ABAQUS созданы в конце прошлого столетия.
Из отечественных можно еще выделить Renga , но она создается на старом ядре C3D компании АСКОН, а они в свою очередь создатели Компаса, поэтому это одно и тоже решение в разных обёртках.
Все данные САПР программы объединены одним общим принципом, они все создавались на основе одного принципа обработки информации - последовательного, это было следствием реалий тех времён, не существовало аппаратных устройств многопоточной обработки информации. Но времена идут, всё меняется , но не меняются геометрические ядра. В среднем на создание полноценной САПР программы уходит от 5 до 7 лет и довольного большого числа сотрудников - разработчики, тестировщики, консультанты и т.д. и в текущих реалиях ни одна из компаний разработчиков не пойдет на полноценную перепись с нуля своих геометрических ядер под многопоточные CPU и GPU. Конечно, программы обновляются с каждым годом, но все данные нововведения по сути косметические без глубокой оптимизации.
В прошлом году я разместил пост в котором продемонстрировал возможности Unreal Engine 5 при отображении многомиллиардно полигональной геометрии. В течении последнего года я вел разработку геометрического ядра которое сможет использовать многопоточную обработку на CPU - процессов требующих двойной точности, а на GPU - процессов где хватает и одинарной точности. Новые видео карты Nvidia - 3070, 3080, 3090 уже способны находить решения с двойной точностью на тензорных ядрах (они используются при обработки трассировки лучей в играх) , но на данный момент у меня работа с данными ядрами на этапе экспериментов.
По сути получилось решение которое по производительности превышает любую программу выше в списке от 10 до 100 раз и более. И это касается любых действий, отображение графики, копирования, изменений, перемещений, подсчета материалов и т.д.:
https://www.youtube.com/watch?v=cmcsxwrDo3o
В моем решение используется ровно такой же подход как в Unreal Engine 5 в технологии nanite. При удалении камеры пользователя происходит постепенная эрозия геометрии и упрощение геометрии вплоть до отображения одного пикселя, что позволяет отображать многократно больший объем информации по сравнению с программами "пенсионерами". Но у технологии Nanite есть один большой минус, необходимо предварительное кэширование шейдерных текстур на жёсткий диск , в САПР это невозможно , поэтому мне пришлось данную технологию переработать под САПР и особенно под армирование строительных конструкций и впереди еще много работы.