最近更新于 2026-05-10 16:09
基本环境
写于 2026/5/10
- Windows 11 25H2
- AutoCAD Mechanical 2027
- Visual Studio Community 2026(免费授权版)
需要安装C++ 桌面开发,建议右侧手动增加勾选C++ MFC for x64/x86

在单个组件下安装Help Viewer用于支持 ObjectARX SDK 文档

下载安装
ObjectARX SDK 2027
ObjectARX SDK下载地址:https://aps.autodesk.com/developer/overview/autocad-objectarx-sdk-downloads
ObjectARX SDK 2027 直接下载地址:https://damassets.autodesk.net/content/dam/autodesk/files/esd/objectarx/2027/objectarx-for-autocad-2027-win-64bit.exe

下载后直接双击运行,这是一个自解压程序

解压路径如下,不要改,后面配置与这个路径息息相关
C:\ObjectARX2027
点Extract进行解压

完成后可以打开 C 盘看到它

手动配置 ObjectARX Wizards 2027
向导本身是个开源项目,地址:https://github.com/ADN-DevTech/ObjectARX-Wizards
AutoCAD 官网会释放打包的安装包,只是现在还没发布 2027 版的向导程序,可以用 2026 版的进行手动配置。

克隆源码
下载安装 git:https://git-scm.com/
注意不要偷懒直接下载 ZIP 包,Windows 默认使用 CRLF 换行符,ZIP 版本的源码文件的换行符是 LF,Visual Studio 无法正常处理会报错。要么就要自行逐个文件去改换行符,或者使用其它批量处理工具。这里建议就使用 git 克隆源码,它会根据当前系统自动改换行符。
打开 CMD 或 PowerShell,工作路径切换到方便查看的目录,比如下载目录,执行命令克隆 2026 版最新的源码
git clone https://github.com/ADN-DevTech/ObjectARX-Wizards.git --branch=ForAutoCAD2026 --depth=1
指定代理可以使用
-c "http.proxy="

修改文件
建议使用 VScode 编辑,克隆得到的文件夹为 ObjectARX-Wizards,描述的修改路径就基于它。
编辑 ObjectARX-Wizards_Installs\Autodesk.arx-2026.props
原始:<AcadDir Condition="'$(Platform)'=='x64'">C:\Program Files\Autodesk\AutoCAD 2026\</AcadDir>
改为:<AcadDir Condition="'$(Platform)'=='x64'">C:\Program Files\Autodesk\AutoCAD 2027\</AcadDir>
注意:这里的路径是实际的 AutoCAD 安装路径,这里的示例未改安装路径的默认路径

原始:<ArxSdkDir>C:\ObjectARX\</ArxSdkDir>
改为:<ArxSdkDir>C:\ObjectARX2027\CDROM1</ArxSdkDir>

原始:<_ProjectFileVersion>26.0</_ProjectFileVersion>
改为:<_ProjectFileVersion>27.0</_ProjectFileVersion>
原始:<_PropertySheetDisplayName>ObjectARX 2026</_PropertySheetDisplayName>
改为:<_PropertySheetDisplayName>ObjectARX 2027</_PropertySheetDisplayName>

原始:<Import Condition="'$(ArxAppType)'=='dbxnet' or '$(ArxAppType)'=='crxnet' or '$(ArxAppType)'=='arxnet'" Project="Autodesk.arx-2026-net.props" />
改为:<Import Condition="'$(ArxAppType)'=='dbxnet' or '$(ArxAppType)'=='crxnet' or '$(ArxAppType)'=='arxnet'" Project="Autodesk.arx-2027-net.props" />

原始:<ArxSDKVersion>26.0</ArxSDKVersion>
改为:<ArxSDKVersion>27.0</ArxSDKVersion>
原始:<ArxSDKPlatform>v143</ArxSDKPlatform>
改为:<ArxSDKPlatform>v145</ArxSDKPlatform>

将 Autodesk.arx-2026.props 改名为 Autodesk.arx-2027.props
将 Autodesk.arx-2026-net.props 改名为 Autodesk.arx-2027-net.props
将这两个文件复制粘贴到 ObjectARX-Wizards\ArxAppWiz\Templates\1033 下

删除 ObjectARX-Wizards\ArxAppWiz\Templates\1033 下原有的这两个文件

编辑 ObjectARX-Wizards_Installs\VC\vcprojects\Autodesk\ArxAppWiz.vsdir
原始:ArxAppWiz.vsz| |ARX/DBX Project For AutoCAD 2026|1|ObjectARX/DBX Application Wizard for AutoCAD 2026| |6777| |ArxProject
改为:ArxAppWiz.vsz| |ARX/DBX Project For AutoCAD 2027|1|ObjectARX/DBX Application Wizard for AutoCAD 2027| |6777| |ArxProject
编辑 ObjectARX-Wizards_Installs\VC\vcprojects\Autodesk\ArxAppWiz.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxAppWiz"
改为:Param="ABSOLUTE_PATH = Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAppWiz""
编辑 ObjectARX-Wizards_Installs\VC\vcprojects\Autodesk\ArxAppWizOMF.vsdir
原始:ArxAppWizOMF.vsz| |OMF Project For AutoCAD 2026|1|ObjectARX/DBX/OMF Application Wizard for AutoCAD 2026| |6777| |ArxProject
改为:ArxAppWizOMF.vsz| |OMF Project For AutoCAD 2027|1|ObjectARX/DBX/OMF Application Wizard for AutoCAD 2027| |6777| |ArxProject
编辑 ObjectARX-Wizards_Installs\VC\vcprojects\Autodesk\ArxAppWizOMF.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxAppWiz182"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAppWiz182"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxAtlWizComWrapper.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxAtlWizComWrapper"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAtlWizComWrapper"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxAtlWizDynProp.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxAtlWizDynProp"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAtlWizDynProp"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxWizCustomObject.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxWizCustomObject"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxWizCustomObject"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxWizJig.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxWizJig"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxWizJig"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxWizMFCSupport.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxWizMFCSupport"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxWizMFCSupport"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxWizNETWrapper.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxWizNETWrapper"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxWizNETWrapper"
编辑 ObjectARX-Wizards_Installs\VC\VCAddClass\ObjectARX2026\ArxWizReactors.vsz
原始:Param="ABSOLUTE_PATH = [TARGETDIR]ArxWizReactors"
改为:Param="ABSOLUTE_PATH = C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxWizReactors"
编辑 ObjectARX-Wizards\ArxAppWiz\HTML\1033\default.htm(可选)
默认名是 ADSK,这里我改成自己的 IYATTyx,创建项目时的效果如下图

原始:<SYMBOL NAME='RDS_SYMB' TYPE='text' VALUE='ADSK'></SYMBOL>
改为:<SYMBOL NAME='RDS_SYMB' TYPE='text' VALUE='IYATTyx'></SYMBOL>

编辑 ObjectARX-Wizards\ArxAppWiz\Templates\1033\x64win32.vcxproj
原始:<PlatformToolset>v143</PlatformToolset>
改为:<PlatformToolset>v145</PlatformToolset>

原始:<PlatformToolset Condition="'$(ArxSDKPlatform)'=='v143'">v143</PlatformToolset>
改为:<PlatformToolset Condition="'$(ArxSDKPlatform)'=='v145'">v145</PlatformToolset>

原始:<Import Project="Autodesk.arx-2026.props" />
改为:<Import Project="Autodesk.arx-2027.props" />
编辑 ObjectARX-Wizards\ArxAppWiz\Scripts\1033\default.js
将
CopyPropsFile("Autodesk.arx-2026.props", strProjectName);
CopyPropsFile("Autodesk.arx-2026-net.props", strProjectName);
改为
CopyPropsFile("Autodesk.arx-2027.props", strProjectName);
CopyPropsFile("Autodesk.arx-2027-net.props", strProjectName);

复制文件
创建文件夹C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards,中间缺少某个目录就自己创建,后面需要使用这个路径。
①将 ObjectARX-Wizards 下的 ArxAppWiz、ArxAppWiz182、ArxAtlWizComWrapper、ArxAtlWizDynProp、ArxWizCommon、ArxWizCustomObject、ArxWizJig、ArxWizMFCSupport、ArxWizNETWrapper、ArxWizReactors
复制粘贴到 C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards 下


②将 ObjectARX-Wizards_Installs 下的 Autodesk.arx-2026.props、Autodesk.arx-2026-net.props、crx.props、rxsdk_common.props
复制粘贴到 C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards


③将 ObjectARX-Wizards_Installs\VC\vcprojects 复制粘贴到 C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\VC 下(注意非社区版 VS,路径中不是 Community,后同)


④将 ObjectARX-Wizards_Installs\VC\VCAddClass 下的 ObjectARX2026 改名为 ObjectARX2027
再将它复制粘贴到 C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\VC\VCProjectItems 下


刷新 VS
在开始菜单搜索Developer Command Prompt for VS,以管理员身份运行

执行命令
devenv /updateconfiguration

改进设置
本章涉及文件修改需要使用管理员身份编辑,建议使用 VScode,可以保存时提权
调试时自动加载扩展
编辑 C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAppWiz\Scripts\1033\default.js
在第 102 行
return oProj;
前面插入
// 创建 scr 脚本
/////////////////////////////////////////////
// 写 scr 文件
function writeScrFile(filename, content)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var startScrPath = strProjectPath + "\\" + filename;
var startScrFile = fso.CreateTextFile(startScrPath, true);
startScrFile.Write(content);
startScrFile.Close();
}
// 确定程序扩展名
var extension = "";
if (wizard.FindSymbol("APP_ARX_TYPE")) {
extension = ".arx";
} else if (wizard.FindSymbol("APP_DBX_TYPE")) {
extension = ".dbx";
} else if (wizard.FindSymbol("APP_CRX_TYPE")) {
extension = ".crx";
} else {
extension = ".arx";
}
debugFilename = "debug.scr"; // 调试版脚本
releaseFilename = "release.scr"; // 发布版脚本
var debugContent = "ARX L " + "\"" + strProjectPath + "\\x64\\Debug\\" + wizard.FindSymbol("RDS_SYMB") + strProjectName + extension + "\" ";
var releaseContent = "ARX L " + "\"" + strProjectPath + "\\x64\\Release\\" + wizard.FindSymbol("RDS_SYMB") + strProjectName + extension + "\" ";
writeScrFile(debugFilename, debugContent);
writeScrFile(releaseFilename, releaseContent);
/////////////////////////////////////////////

修改属性模板
编辑 C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAppWiz\Templates\1033\Autodesk.arx-2026.props
将
<PropertyGroup>
<!-- Local Windows debugger -->
<LocalDebuggerDebuggerType>Auto</LocalDebuggerDebuggerType>
<!-- LocalDebuggerCommand is defined into an empty $(TargetPath) for the property page, it is later redefined to its proper value. -->
<LocalDebuggerCommand>$(AcadDir)$(AcadExe)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
替换为
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<!-- Local Windows debugger -->
<LocalDebuggerDebuggerType>Auto</LocalDebuggerDebuggerType>
<LocalDebuggerCommand>$(AcadDir)$(AcadExe)</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>/nologo /b $(ProjectDir)debug.scr</LocalDebuggerCommandArguments>
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<!-- Local Windows debugger -->
<LocalDebuggerDebuggerType>Auto</LocalDebuggerDebuggerType>
<LocalDebuggerCommand>$(AcadDir)$(AcadExe)</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>/nologo /b $(ProjectDir)release.scr</LocalDebuggerCommandArguments>
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>


添加 CAD 信任
自己开发的扩展程序没有签名,在加载的时候会提示

打开 CAD 进入图纸状态,执行 OPTIONS 命令打开选项,切换到系统选项卡,点开安全选项

把开发路径添加进去,路径后加三个点,则此路径及更深层路径都添加,否则只添加这一层目录到白名单

禁用较小类型检查
编辑 C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAppWiz\Templates\1033\Autodesk.arx-2027.props
在 Project 标签包含范围内插入
<ItemDefinitionGroup>
<ClCompile>
<SmallerTypeCheck>false</SmallerTypeCheck>
</ClCompile>
</ItemDefinitionGroup>

禁用 VS 安全检查
MSVC 自己搞了安全函数,使用原版函数会报错,这里直接改模板实现默认关闭。

编辑 C:\Program Files (x86)\Autodesk\ObjectARX 2027 Wizards\ArxAppWiz\Templates\1033\Autodesk.arx-2027.props
在 Project 标签包含范围内插入
<ItemDefinitionGroup>
<ClCompile>
<BufferSecurityCheck>false</BufferSecurityCheck>
</ClCompile>
</ItemDefinitionGroup>

测试



按 F5 编译并调试运行,可以看到已经加载了扩展程序

执行 APPLOAD 命令,可以查看已加载的扩展程序

文档
安装 ObjectARX SDK 文档
进入 C:\ObjectARX2027\CDROM1\docs 目录,在 setup.exe 右键以管理员身份运行

一直点 Next 继续,最后安装完毕点Close关闭

这个目录下的 chm 文件就是问大哥,直接双击打开查看也可以,安装后可以通过 VS 内部搜索查看,也能从函数名直接跳转文档。
打开 VS,项目打开状态,展开帮助-设置帮助(L)首选项,选在帮助查看器中启动

如果没有修改 VS 默认快捷键的话,在函数上按 F1 会自动跳转到对应文档部分

我习惯使用 VScode 快捷键,但是 VScode 没有这个跳转帮助的功能,也就没有这个快捷键,这里需要手动 F1 快捷键:
工具–选项

所有设置–环境–键盘

在现实命令包含里查找窗口.快速启动,在选定命令的快捷键下拉,可以看到有个快捷键是用了F1,选中它点击移除

然后再查找帮助.F1帮助,在按快捷键里安F1,点击分配,然后确定修改

类继承关系图
C:\ObjectARX2027\CDROM1\classmap\classmap.dwg




