Skip to content

Hexon-X/ObjectARX-SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ObjectARX SDK - AutoCAD 二次开发支持库

zread

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. 选择对应版本目录

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 中使用 NETLOADAPPLOAD 命令加载插件

🛠️ 多版本编译环境配置

如果需要在 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
    • 下载地址:
    • 此插件帮助 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

版本兼容性

⚠️ 重要: ObjectARX 应用程序必须与 AutoCAD 版本严格匹配。

  • AutoCAD 2025 的插件只能在 AutoCAD 2025 上运行
  • 旧版本插件无法在新版本 AutoCAD 上运行
  • 需要为每个目标 AutoCAD 版本单独编译

调试技巧

  1. 使用 ARXDBG 示例工具进行调试
  2. 在 Visual Studio 中附加到 AutoCAD 进程进行调试
  3. 使用 acutPrintf.NETSystem.Diagnostics.Debug 输出调试信息

⚠️ 重要注意事项

许可证

ObjectARX SDK 受 Autodesk 许可协议约束,请遵守相关使用条款。

R14 版本特殊说明

R14.exe 是 AutoCAD R14 (1998) 版本的 SDK 安装包,由于文件格式较老,可能需要:

  • 在兼容模式下运行(Windows 兼容性设置)
  • 使用旧版本 Windows 系统(如 Windows XP/7)解压
  • 或使用专门的解压工具

📖 资源链接

官方资源

社区论坛

  • 明经通道 CAD 社区 - 中国领先的 CAD 二次开发社区,开发讨论氛围活跃,提供大量技术资料和代码示例
  • Autodesk 开发者论坛 - Autodesk 官方开发者社区
  • Linux do - 优秀的技术社区站点,提供丰富的技术讨论和资源分享

学习资源

  • ObjectARX 开发文档(位于各版本的 docs/ 目录)
  • 示例代码(位于各版本的 samples/ 目录)
  • ARXLabs(早期版本提供的教程)

📞 支持

如有问题,请按以下顺序尝试:

  1. 查阅对应版本的文档(docs/ 目录)
  2. 参考示例代码(samples/ 目录)
  3. 访问 明经通道 CAD 社区 - 中文社区,讨论氛围活跃
  4. 访问 Autodesk 开发者论坛 - 官方英文社区
  5. 提交 GitHub Issue - 报告问题或提出建议

🤝 贡献

如果您发现任何问题或有改进建议,欢迎提交 IssuePull Request


📄 许可证

仓库许可证

本仓库采用 MIT License 许可,仅适用于:

  • 仓库结构、组织方式
  • README 文档及其他说明文件
  • 仓库维护者提供的工具和脚本

ObjectARX SDK 许可

⚠️ 重要: 本仓库中的 Autodesk ObjectARX SDK 文件受 Autodesk 专有许可协议约束,不属于 MIT License 范畴。

  • ObjectARX SDK 的版权归 Autodesk, Inc. 所有
  • 使用 ObjectARX SDK 时,必须遵守 Autodesk 的许可条款
  • 本仓库仅用于学习和开发目的
  • 请访问 Autodesk 官方网站 查看官方许可条款

详细信息请参阅 LICENSE 文件。


📋 AutoCAD 版本对照表

以下图片详细描述了每个 AutoCAD 版本的开发环境要求(Visual Studio 版本、编译器版本、平台支持等)。

彩色版本

AutoCAD二开对照表(彩色版)

黑白版本

AutoCAD二开对照表(黑白版)

💡 建议: 查阅这些图片文件获取准确的版本对应关系和开发环境要求信息。


最后更新: 2025年 | 维护状态: 持续更新中

如有问题,请通过 GitHub Issues 联系

About

AutoCAD 二次开发支持库

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published