AutoCAD 插件自动编译助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9c6e7205/arx-build。
技能介绍
为什么需要这个技能
给 AutoCAD 写 ObjectARX 插件的开发者都遇到过这种场景:同一个代码库要同时维护 2014 到 2027 多个版本,每个版本又要生成 Debug DLL、Release DLL、静态库等多种产物。MSBuild 路径在每台机器上可能不一样,props 文件可能来自 Autodesk、HCSoft 或 ZWSoft,配置后缀规则更是各项目自己约定的。手动在 Visual Studio 里切换平台工具集、改输出后缀、跑 PostBuild 拷贝,既容易漏项也难以复现。
核心能力
- 动态发现 MSBuild:优先用
vswhere定位,失败后回退到常见路径,最后才让用户手动提供,避免写死路径 - 自动解析 props:按平台检查
ObjectARX.Common.props/ObjectGRX.Common.props/ObjectZRX.Common.props,GRX/ZRX 缺失时回退到 Autodesk 目录 - 多项目发现:扫描目录里的
.vcxproj/.slnx,提取配置名、PostBuild 拷贝目标和 ConfigurationType - 自然语言意图解析:把「编译 2026 全部」这类指令展开成
{vcxproj, config}组合,支持中英文快捷指令 - 冲突检测:多个项目若写到同一
{Year}{Suffix}目录,提供串行、跳过 PostBuild、并行覆盖三种策略 - 编译后校验:检查退出码和产物路径,如
x64\{Config}\{ProjectName}{Year}.arx
关键步骤
- 发现项目(多项目时扫描并呈现发现表)
- 解析构建意图并确认
- 检测冲突并选择策略
- 按批次调用
msbuild(/v:minimal减少噪音) - 校验产物
- 输出按项目分组的报告,并清理临时日志
适用边界
- 项目必须基于 ObjectARX / GRX / ZRX 模板创建,依赖
EnabledArxYears、Enable*Configs等模板变量 - 第三方 PDB 警告(如 Transformer、rxapi)属正常现象,不计入错误
- 路径含空格时在 PowerShell 下需要
&调用符,cmd.exe 直接加引号即可 - GRX/ZRX props 缺失时回退到 ObjectARX Props 目录,但不保证三者齐全
使用场景
- 维护 ObjectARX 插件,需一次编译出 2014 到 2027 各年份的 Debug 和 Release DLL
- 多项目共用同一输出目录,需要自动检测 {Year}{Suffix} 冲突并选择串行策略
- CI 中频繁切换 Visual Studio 版本,希望动态发现 MSBuild 而不写死路径
- 同时交付 ARX、GRX、ZRX 三种平台,需按项目类型批量生成静态库
适合人员
- AutoCAD ObjectARX / GRX / ZRX 插件开发者,需要跨多个 CAD 版本维护同一套 C++ 工程
- CAD 行业 DevOps 工程师,负责在 CI 中自动编译和校验插件产物
- 二次开发团队负责人,希望通过自然语言触发标准编译流程并复现构建结果
- 使用 ZWSoft ZRX 或 HCSoft GRX 工具链的工程师,需要在缺少独立 props 时回退到 ARX 目录