# ObjectARX-SDK **Repository Path**: mpbillion/ObjectARX-SDK ## Basic Information - **Project Name**: ObjectARX-SDK - **Description**: AutoCAD 二次开发支持库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-23 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ObjectARX SDK - AutoCAD 二次开发支持库 [](https://zread.ai/CNIong/ObjectARX-SDK) > AutoCAD ObjectARX 软件开发工具包完整集合(R14-2026,包含所有版本) --- ## 📖 简介 本仓库包含 **AutoCAD ObjectARX 软件开发工具包(SDK)** 的完整版本集合,涵盖从 **AutoCAD R14 (1998)** 到 **AutoCAD 2026 (R25.1)** 的所有主要版本。 **ObjectARX** 是 Autodesk 提供的用于 AutoCAD 二次开发的 C++ 和 .NET API,允许开发者创建功能强大的 AutoCAD 应用程序和插件。 --- ## 🗂️ 版本列表 本仓库包含以下 **26 个版本** 的 ObjectARX SDK: | AutoCAD 版本 | ObjectARX 版本 | 目录名称/文件 | 状态 | |------------|--------------|-------------|------| | AutoCAD R14 (1998) | R14 | `R14.exe` (安装包) | ✅ | | AutoCAD 2000 | R15.0 | `2000-R15.0` | ✅ | | AutoCAD 2000i | R15.1 | `2000i-R15.1` | ✅ | | AutoCAD 2002 | R15.2 | `2002-R15.2` | ✅ | | AutoCAD 2004 | R16.0 | `2004-R16.0` | ✅ | | AutoCAD 2005 | R16.1 | `2005-R16.1` | ✅ | | AutoCAD 2006 | R16.2 | `2006-R16.2` | ✅ | | AutoCAD 2007 | R17.0 | `2007-R17.0` | ✅ | | AutoCAD 2008 | R17.1 | `2008-R17.1` | ✅ | | AutoCAD 2009 | R17.2 | `2009-R17.2` | ✅ | | AutoCAD 2010 | R18.0 | `2010-R18.0` | ✅ | | AutoCAD 2011 | R18.1 | `2011-R18.1` | ✅ | | AutoCAD 2012 | R18.2 | `2012-R18.2` | ✅ | | AutoCAD 2013 | R19.0 | `2013-R19.0` | ✅ | | AutoCAD 2014 | R19.1 | `2014-R19.1` | ✅ | | AutoCAD 2015 | R20.0 | `2015-R20.0` | ✅ | | AutoCAD 2016 | R20.1 | `2016-R20.1` | ✅ | | AutoCAD 2017 | R21.0 | `2017-R21.0` | ✅ | | AutoCAD 2018 | R22.0 | `2018-R22.0` | ✅ | | AutoCAD 2019 | R23.0 | `2019-R23.0` | ✅ | | AutoCAD 2020 | R23.1 | `2020-R23.1` | ✅ | | AutoCAD 2021 | R24.0 | `2021-R24.0` | ✅ | | AutoCAD 2022 | R24.1 | `2022-R24.1` | ✅ | | AutoCAD 2023 | R24.2 | `2023-R24.2` | ✅ | | AutoCAD 2024 | R24.3 | `2024-R24.3` | ✅ | | AutoCAD 2025 | R25.0 | `2025-R25.0` | ✅ | | AutoCAD 2026 | R25.1 | `2026-R25.1` | ✅ | > **提示**: > - **R14 (1998)**: 以 `R14.exe` 安装包形式提供,使用 Visual C++ 5.0 开发 > - 版本对照表图片位于文档末尾,包含每个版本的详细开发环境要求 --- ## 📁 目录结构 每个版本目录通常包含以下标准结构: ``` <版本目录>/ ├── inc/ # 头文件目录(32位) ├── inc-x64/ # 头文件目录(64位) ├── inc-win32/ # Windows 32位特定头文件 ├── lib/ # 库文件目录(32位,旧版本) ├── lib-x64/ # 库文件目录(64位,新版本) ├── docs/ # 文档目录(CHM、PDF等) ├── samples/ # 示例代码 │ ├── database/ # 数据库操作示例 │ ├── entity/ # 实体对象示例 │ ├── editor/ # 编辑器示例 │ ├── graphics/ # 图形处理示例 │ ├── reactors/ # 反应器示例 │ ├── com/ # COM 接口示例 │ ├── dotNet/ # .NET API 示例 │ └── misc/ # 其他示例 ├── utils/ # 工具和实用程序 │ ├── amodeler/ # 高级建模工具 │ ├── brep/ # 边界表示法工具 │ ├── HlrApi/ # 隐藏线移除 API │ └── Atil/ # AutoCAD 纹理图像库 └── classmap/ # 类映射文件(DWG格式) ``` --- ## 📚 仓库内容 ### 头文件 (Header Files) 每个版本都包含完整的头文件集合: - **核心 API**: `rxapi.h`, `rxdefs.h` 等 - **数据库 API**: `acdb.h`, `dbents.h` 等 - **几何 API**: `acge.h`, `geassign.h` 等 - **用户界面 API**: `acui.h`, `adui.h` 等 ### 库文件 (Library Files) 预编译的静态库文件,包含: - `rxapi.lib` - ObjectARX 运行时 API - `acdb*.lib` - 数据库 API - `acge*.lib` - 几何库 - `acgi*.lib` - 图形接口库 - 以及其他相关库文件 ### 示例代码 (Samples) 丰富的示例代码涵盖各种开发场景: #### 数据库操作 (`database/`) - ARXDBG - 调试工具示例 - 实体遍历、事务处理 - XData、XRecord 操作 - 克隆和深拷贝 #### 自定义实体 (`entity/`) - PolySamp - 多边形实体示例 - 自定义对象创建 - 实体属性扩展 #### 用户界面 (`editor/`) - MFC 对话框示例 - 工具面板示例 - 上下文菜单 #### 图形处理 (`graphics/`) - 视觉样式 - 材质和渲染 - 坐标系统 #### 反应器 (`reactors/`) - 数据库反应器 - 编辑器反应器 - 协议反应器 #### .NET API (`dotNet/`) - C# 和 VB.NET 示例 - 事件处理 - UI 扩展 ### 文档 (Documentation) 文档通常以 CHM(帮助文件)或 PDF 格式提供: - `arxdev.chm` - 开发指南 - `arxref.chm` - API 参考 - `arxmgd.chm` - .NET API 文档 - `readarx.chm` - 入门教程 ### 工具和实用程序 (Utilities) - **AModeler**: 高级建模工具库 - **BRep**: 边界表示法几何库 - **HlrApi**: 隐藏线移除功能 - **Atil**: 纹理图像处理库 --- ## 🚀 快速开始 ### 系统要求 - **操作系统**: Windows(通常支持 Windows 7 及以上版本) - **开发环境**: Visual Studio(必须与目标 AutoCAD 版本匹配,详见下方版本要求表格) - **AutoCAD**: 需要安装对应版本的 AutoCAD 软件 ### Visual Studio 版本要求 不同 AutoCAD 版本需要特定版本的 Visual Studio: | AutoCAD 版本 | Visual Studio 版本 | 平台支持 | |------------|------------------|---------| | AutoCAD R14 | Visual C++ 5.0 | 32 位 | | AutoCAD 2000-2004 | Visual C++ 6.0 或 Visual Studio .NET | 32 位 | | AutoCAD 2005-2006 | Visual Studio .NET 2002/2003 | 32 位 | | AutoCAD 2007-2009 | Visual Studio 2005 | 32 位 | | AutoCAD 2010-2012 | Visual Studio 2008 | 32/64 位 | | AutoCAD 2013-2014 | Visual Studio 2010 | 32/64 位 | | AutoCAD 2015-2016 | Visual Studio 2012 | 32/64 位 | | AutoCAD 2017-2019 | Visual Studio 2015 | 32/64 位 | | AutoCAD 2020-2021 | Visual Studio 2017 | **仅 64 位** | | AutoCAD 2022-2023 | Visual Studio 2019 | **仅 64 位** | | AutoCAD 2024-2025 | Visual Studio 2022 | **仅 64 位** | | AutoCAD 2026 | Visual Studio 2022 | **仅 64 位** | > ⚠️ **重要提示**: > - ObjectARX 应用程序必须与 AutoCAD 版本严格匹配 > - 从 AutoCAD 2020 开始,仅支持 64 位平台 > - 详细版本对照表请查看文档末尾的图片 ### 编译示例 #### 1. 选择对应版本目录 ```bash cd 2025-R25.0 ``` #### 2. 打开示例项目 找到 `samples` 目录下的示例项目,使用 Visual Studio 打开 `.sln` 或 `.vcxproj` 文件。 #### 3. 配置项目设置 在 Visual Studio 项目属性中配置: **C/C++ → 常规 → 附加包含目录:** ``` $(OBJECTARX_SDK_PATH)\inc-x64 $(OBJECTARX_SDK_PATH)\inc ``` **链接器 → 常规 → 附加库目录:** ``` $(OBJECTARX_SDK_PATH)\lib-x64 ``` **链接器 → 输入 → 附加依赖项:** ``` rxapi.lib acdb25.lib acge25.lib acgi25.lib ... ``` #### 4. 编译和运行 - 编译项目生成 `.arx` 或 `.dll` 文件 - 在 AutoCAD 中使用 `NETLOAD` 或 `APPLOAD` 命令加载插件 --- ## 🛠️ 多版本编译环境配置 如果需要在 Visual Studio 2022 中编译多个版本的 ObjectARX 项目,可以配置 VS2022 以支持旧版本的编译器工具集。 ### 方法一:通过安装程序(推荐) 1. **安装 Visual Studio 2022** 在安装时勾选以下工作负载和组件: - **使用 C++ 的桌面开发** - 在 **单个组件** 中勾选旧版本工具集: - **MSVC v142 - VS 2019 C++ x64/x86 生成工具** - **MSVC v141 - VS 2017 C++ x64/x86 生成工具** - **MSVC v140 - VS 2015 C++ x64/x86 生成工具**(如果有) 2. **安装 Daffodil 插件** - 下载并安装 `Daffodil.ENU.msi` - 下载地址: - [GitHub Releases](https://github.com/KirillOsenkov/MSBuildProjectTools/releases)(搜索 Daffodil) - [Visual Studio Marketplace](https://marketplace.visualstudio.com/)(搜索 "Daffodil") - 或通过搜索引擎搜索 "Daffodil Visual Studio 2022 download" - 此插件帮助 Visual Studio 2022 识别和使用旧版本的编译器工具集 3. **安装 Visual Studio 2010** 安装 Visual Studio 2010 以提供 VC10.0 工具集,安装后 VS2022 即可识别并使用。 ### 方法二:手动注册旧版本工具集 如果不想安装完整的 Visual Studio 2010,可以手动复制并注册工具集: 1. **复制工具集目录** - 从 Visual Studio 2010 安装目录复制 `VC` 目录 - 放置到 D 盘合适的位置(例如:`D:\VisualStudio\VC10\`) - 💡 **建议**: 使用 D 盘可减轻 C 盘负担,同时保持目录结构清晰 2. **注册工具集到注册表** 在注册表中添加以下路径(根据实际安装路径调整): ``` HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Setup\VS HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Setup\VS ``` 在注册表路径下创建或修改以下键值: - `ProductDir` = `D:\VisualStudio\VC10\`(VC 目录路径) - `VCInstallDir` = `D:\VisualStudio\VC10\VC\` - `VSInstallDir` = `D:\VisualStudio\VC10\`(或根据实际情况调整) > 💡 **提示**: 如果 Visual Studio 2010 安装在默认位置,`VSInstallDir` 可能仍为 `C:\Program Files (x86)\Microsoft Visual Studio 10.0\`,需要根据实际情况调整。 3. **验证配置** - 重启 Visual Studio 2022 - 在项目属性中检查 **平台工具集** 是否可以看到旧版本(如 v100, v140, v141, v142 等) ### 注意事项 ⚠️ **重要提示**: - 不同版本的 AutoCAD 必须使用对应版本的 Visual Studio 编译器 - 即使配置了多版本工具集,仍需要确保使用正确的工具集编译对应版本的插件 - 建议为每个 AutoCAD 版本创建单独的项目配置或解决方案配置 - **手动修改注册表前请先备份注册表** ### 快速验证 配置完成后,可以通过以下方式验证: 1. 在 Visual Studio 2022 中打开任意 C++ 项目 2. 右键项目 → **属性** → **常规** → **平台工具集** 3. 查看下拉列表中是否包含已安装的工具集版本 --- ## 🔧 开发指南 ### ObjectARX vs .NET API
| #### ObjectARX (C++) - ✅ 性能最优,功能最全面 - ✅ 适合复杂的底层操作 - ⚠️ 需要 C++ 开发经验 | #### .NET API (C#/VB.NET) - ✅ 开发效率高,语法简洁 - ✅ 适合快速开发 UI 和业务逻辑 - ⚠️ 性能略低于 ObjectARX |