Что приложения CAD записаны в, и как они организованы? [закрытый]

Я нашел ответ, мне нужно синхронизировать время между серверами, и я подумал использовать Redis **TIME** Command, но теперь, после исследований, я думаю, что NTP может решить мою проблему.

Разница во времени между сервером и клиентом составляет менее 128 мс, чтобы поддерживать синхронизацию NTP. Типичная точность в Интернете варьируется от 5 мс до 100 мс, возможно, в зависимости от сетевых задержек

10
задан Rook 22 April 2009 в 23:17
поделиться

4 ответа

Поскольку моя компания является зарегистрированным разработчиком AutoCAD, я точно знаю, что она написана на C ++. Он предоставляет интерфейс COM, а также оболочку .Net. Кроме того, графическое отображение является компонентным и может быть заменено. Еще в своей истории он был кроссплатформенным. Тем не менее, она была Windows всего около 10 лет и теперь использует все возможности Windows, которые я видела. Вы можете быть заинтересованы в Open Design Alliance .

7
ответ дан 3 December 2019 в 17:22
поделиться

The open source project BRL-CAD might interest you.

4
ответ дан 3 December 2019 в 17:22
поделиться

AutoLISP is a flavor of lisp that has been used for years to program AutoCAD. Very powerful, not at all friendly. AutoCAD (and most verticals) have had VBA built-in for about 10 years. Kind of powerful, very friendly. VBA projects are stored in a separate file that is loaded by a mechanism internal to the host program. Последняя версия (в настоящее время 2010) больше не включает VBA по умолчанию. Вы должны установить отдельный активатор VBA. Это должно поставить нас в известность, что VBA (в этом отношении VB6) в какой-то момент уйдет в прошлое. Платформа .NET в настоящее время является предпочтительным выбором. VB.NET, C # .NET, C ++ обычно используются. Некоторые экспериментировали с другими языками .NET, такими как F # и IronPython.

5
ответ дан 3 December 2019 в 17:22
поделиться

3D Механическое программное обеспечение САПР, такое как CATIAv5, Pro/Engineer и Solidworks, в основном написано на C++, иногда с тонким COM-интерфейсом для публикации базового API для клиентов.

Поскольку эти приложения действительно огромны и разрабатываются несколькими командами, они полагаются на крупномасштабные принципы проектирования C++, такие как шаблоны интерфейса / реализации, чтобы изолировать модули от изменений.

Они состоят из нескольких подсистем, таких как:

  • базовый фреймворк для обеспечения абстракции от подложки ОС
  • фреймворк для графического интерфейса, диалогов и взаимодействия с пользователем
  • 3D-рендерер (в основном с использованием OpenGL с некоторым пользовательским слоем графа сцены)
  • геометрическое ядро, с модулем тесселяции (чтобы геометрия могла отображаться в рендерере)
  • параметрический моделист, построенный на геометрическом ядре
  • и множество конкретных моделистов, ориентированных на различные области (Mechanical, Drafting, Simulation, ...)
7
ответ дан 3 December 2019 в 17:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: