Открыть сервис

AcGi

AcGi — это графическая система (графический движок), используемая в среде автоматизированного проектирования (САПР) AutoCAD, разрабатываемая компанией Autodesk (организация признана в РФ нежелательной, деятельность запрещена). AcGi отвечает за визуализацию двумерных (2D) и трёхмерных (3D) объектов, отображаемых в окне рисования AutoCAD, а также за управление графическим конвейером, обеспечивающим рендеринг, анимацию и взаимодействие с пользователем.

История и развитие

AcGi была внедрена в AutoCAD начиная с версии 2000 года (выпущенной в 1999 году) как часть перехода на объектно-ориентированную архитектуру. До этого визуализация в AutoCAD осуществлялась через более простые, аппаратно-зависимые драйверы. Разработка AcGi была направлена на унификацию графического вывода для различных операционных систем (Windows, macOS) и аппаратных конфигураций, а также на поддержку новых возможностей, таких как прозрачность, тени и реалистичное освещение.

С выходом AutoCAD 2007 движок AcGi был значительно переработан для поддержки Direct3D (API от Microsoft) и OpenGL, что позволило использовать аппаратное ускорение графики. В версии 2010 года была добавлена поддержка шейдеров (HLSL и GLSL), что улучшило качество рендеринга. В AutoCAD 2015 AcGi получил поддержку многопоточного рендеринга, а в версии 2018 — возможность работы с высоким разрешением (HiDPI) и улучшенную обработку больших моделей.

Архитектура и принцип работы

AcGi представляет собой абстрактный слой между приложением AutoCAD и графическим оборудованием. Основные компоненты архитектуры:

Графический конвейер

AcGi реализует классический графический конвейер, состоящий из этапов: вершинная обработка, тесселяция (разбиение на треугольники), растеризация, обработка пикселей (шейдеры) и вывод на экран. Для 3D-моделей используется буфер глубины (Z-буфер) для определения видимости объектов.

Объектная модель

Каждый графический объект в AutoCAD (линия, дуга, сплайн, 3D-тело и т.д.) при отображении преобразуется в примитивы AcGi: треугольники, линии, точки и текстуры. Для этого используется механизм «глифов» (glyphs) — специализированных структур данных, описывающих геометрию и атрибуты (цвет, материал, прозрачность).

Управление контекстом

AcGi поддерживает несколько контекстов отображения: окно рисования (Model Space), листы (Layouts), а также предварительный просмотр (Preview). Каждый контекст имеет свои настройки освещения, камеры и отсечения.

Аппаратное ускорение

AcGi может работать в двух режимах:

  • Программный рендеринг (Software) — используется, если графический адаптер не поддерживает требуемые возможности (например, OpenGL 2.0 или DirectX 10). В этом случае все вычисления выполняются центральным процессором.
  • Аппаратный рендеринг (Hardware) — задействует видеокарту через Direct3D (на Windows) или OpenGL (на macOS и Linux). В этом режиме поддерживаются шейдеры, сглаживание (MSAA), тени и эффекты прозрачности.

Классификация и виды

AcGi не является самостоятельным продуктом, а входит в состав AutoCAD. Однако в контексте разработки и использования выделяют:

Встроенный AcGi

Используется непосредственно в AutoCAD для отображения чертежей и моделей. Поддерживает все стандартные функции: ортогональные и перспективные виды, сечение, скрытые линии, тонирование (Gouraud, Phong) и реалистичный рендеринг.

AcGi для разработчиков (ObjectARX)

Через API ObjectARX (C++) разработчики могут создавать собственные графические объекты, которые будут отображаться через AcGi. Для этого необходимо реализовать интерфейс AcGiDrawable, который содержит методы для генерации примитивов (например, worldDraw() и viewportDraw()). Это позволяет, например, создавать пользовательские 3D-модели, анимации или интерактивные элементы.

AcGi в других продуктах Autodesk

Хотя AcGi изначально разрабатывался для AutoCAD, его модифицированные версии используются в других САПР Autodesk, таких как AutoCAD Architecture, AutoCAD Mechanical, AutoCAD Civil 3D и AutoCAD Map 3D. В этих продуктах AcGi может быть расширен для поддержки специализированных объектов (например, стен, труб, дорог).

Применение

AcGi используется в следующих областях:

Проектирование и черчение

Обеспечивает отображение линий, дуг, текста, размеров и штриховок в 2D-чертежах. Поддерживает масштабирование, панорамирование и вращение видов без потери качества.

3D-моделирование

Позволяет визуализировать трёхмерные тела, поверхности и сетки. Включает настройки освещения (точечное, направленное, окружающее), материалов (отражение, прозрачность, текстуры) и фона (градиент, изображение).

Визуализация и анимация

AcGi поддерживает создание фотореалистичных изображений (рендеринг) и анимации (например, вращение модели или облёт). Для этого используются встроенные средства AutoCAD (команды RENDER, ANIPATH) или сторонние плагины.

Интерактивное взаимодействие

Обработка событий мыши (выделение, перетаскивание, редактирование) и клавиатуры. AcGi обеспечивает быструю перерисовку объектов при изменении их свойств или положения.

Примеры использования

  • Архитектура: отображение планов этажей, фасадов, разрезов и 3D-моделей зданий. AcGi позволяет визуализировать сложные конструкции с большим количеством элементов (стены, окна, двери).
  • Машиностроение: чертежи деталей, сборок, сварных швов. AcGi поддерживает отображение резьбы, фасок, отверстий и других технологических элементов.
  • Геоинформационные системы (ГИС): в AutoCAD Map 3D AcGi используется для отображения карт, топографических поверхностей и пространственных данных.
  • Образование: демонстрация принципов 3D-моделирования и визуализации в учебных курсах по САПР.

Интересные факты

  • AcGi поддерживает до 256 слоёв (layers) с независимыми настройками цвета, типа линии и прозрачности.
  • В AutoCAD 2020 была добавлена поддержка трассировки лучей (ray tracing) через AcGi, что улучшило качество теней и отражений.
  • Движок AcGi работает в режиме реального времени, что позволяет редактировать модель и сразу видеть изменения.
  • Для оптимизации производительности AcGi использует «отложенный рендеринг» (deferred rendering), при котором объекты сначала сортируются по глубине, а затем обрабатываются.
  • В AutoCAD 2023 AcGi получил поддержку переменной частоты обновления (VRR) для мониторов с технологией G-Sync и FreeSync.

Критика и ограничения

  • Производительность: при работе с очень большими моделями (более 10 млн примитивов) AcGi может испытывать замедления, особенно в программном режиме.
  • Совместимость: некоторые старые видеокарты (до 2010 года) не поддерживают аппаратное ускорение, что приводит к снижению качества и скорости.
  • Ограничения API: для разработчиков ObjectARX доступ к AcGi ограничен — нельзя напрямую управлять шейдерами или текстурами, что затрудняет создание сложных визуальных эффектов.
  • Зависимость от платформы: на macOS AcGi использует OpenGL, который больше не обновляется Apple, что может привести к проблемам с совместимостью в будущих версиях.

Источники

  • Autodesk Developer Network. «AcGi Graphics System Overview». Autodesk, 2010.
  • Omura, G. «Mastering AutoCAD 2019 and AutoCAD LT 2019». Sybex, 2018.
  • Документация ObjectARX (версия 2023). Autodesk, 2023.
  • «AutoCAD 2023 Help: Graphics Performance». Autodesk, 2023.
  • «AutoCAD 2020: New Features and Enhancements». Autodesk, 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →