Что такое формат файла ARX?
.arx - это расширение файла для плагинов AutoCAD Runtime Extension, представляющих собой скомпилированные двоичные файлы C++, которые расширяют возможности AutoCAD внутри процесса. Появившиеся в 1996 году в AutoCAD Release 13, файлы .arx являются стандартными файлами Windows DLL, созданными с использованием ObjectARX C++ SDK и переименованными с расширением .arx вместо .dll.
Поскольку модули .arx загружаются непосредственно в процесс AutoCAD, они имеют полный доступ с низкой задержкой к базе данных чертежей (AcDb), геометрическому ядру (AcGe), графической подсистеме (AcGi) и уровню редактора (AcEd). Эта внутрипроцессная архитектура делает ARX предпочтительным механизмом для критически важных для производительности расширений, таких как пользовательские типы объектов, новые команды и интегрированные панели пользовательского интерфейса.
Каждый плагин .arx компилируется для конкретной версии ObjectARX SDK и не обладает двоичной совместимостью между основными выпусками AutoCAD - файл .arx, созданный для AutoCAD 2024, не загрузится в AutoCAD 2025 без перекомпиляции. AutoCAD загружает плагины ARX с помощью команды AutoLISP (arxload "plugin.arx") или через диалоговое окно APPLOAD. Сопутствующий формат .dbx служит для автономных модулей ObjectDBX, которые обращаются к базам данных чертежей без уровня пользовательского интерфейса AutoCAD. Для разработки на управляемом коде Autodesk также предлагает .NET API, который загружает стандартные файлы .dll вместо .arx.
Безопасность и защита
РИСК: HIGHФайлы ARX - это библиотеки Windows DLL, которые выполняются внутри процесса AutoCAD с полными правами пользователя: они могут читать/записывать файлы, обращаться к сети и выполнять системные вызовы без какой-либо «песочницы». Вредоносный ARX, полученный по электронной почте или скачанный со стороннего ресурса, может функционировать как вредоносное ПО. Загружайте файлы ARX только от доверенных поставщиков (предпочтительно с проверенной цифровой подписью). Функция APPLOAD в AutoCAD не изолирует код; относитесь к ARX с такой же осторожностью, как к EXE. Проверяйте подписи Authenticode перед загрузкой неизвестных файлов ARX.
Детали формата
в двух словах- Архив ARX (на базе Arj или кастомный) - Некоторые старые утилиты архивирования использовали .arx для сжатых архивов; сегодня это встречается крайне редко и не связано с AutoCAD.
Программы, открывающие файлы ARX
(arxload "путь\plugin.arx") в командной строке. Версия AutoCAD должна соответствовать целевой версии компиляции ARX. Технические подробности
глубокая спецификация| Тип двоичного файла | Windows PE DLL (переименованный скомпилированный .dll в .arx) |
| Магические байты | 4D 5A - стандартный заголовок Windows PE/DLL со смещением 0 |
| Фреймворк API | ObjectARX C++ SDK (Autodesk Developer Network) |
| Модель выполнения | Внутрипроцессная DLL, загружаемая непосредственно в хост-процесс AutoCAD |
| Обязательная точка входа | AcRxEntryPoint() - вызывается AutoCAD при загрузке и выгрузке плагина |
| Доступные подсистемы AutoCAD | AcDb (база данных чертежей), AcGe (геометрия), AcGi (графика), AcEd (редактор) |
| Совместимость версий | Нет двоичной совместимости между мажорными выпусками AutoCAD; требуется перекомпиляция для каждого выпуска |
| Команда загрузки | (arxload "путь/к/plugin.arx") в консоли AutoCAD AutoLISP или через диалоговое окно APPLOAD |
| Типичный размер файла | 100 КБ - 20 МБ |
| Платформа | Только Windows (механизм ObjectARX ARX эксклюзивен для Windows) |
| Подпись кода | Необязательная цифровая подпись Authenticode (стандартный механизм Windows PE) |
| Сопутствующий формат | .dbx - модуль ObjectDBX для автономного доступа к базе данных чертежей без интерфейса AutoCAD |
| Выпущен | 1996 (AutoCAD Release 13; ObjectARX API first public release) |
| Последняя версия | ObjectARX 2027 SDK (AutoCAD 2027) |
| Спецификация | www.autodesk.com |
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах ARX.
Часто задаваемые вопросы
Что такое файл ARX?
Как открыть или установить файл ARX?
(arxload "C:\путь\plugin.arx") в командной строке AutoCAD.