Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when controlling AutoCAD 2026 with Tianzheng HVAC T30 through the autocad_tianzheng MCP server, including connecting the THvac30V1 profile, reading or creating DWG engineering files, scanning layers/entities/blocks/text into SQLite/JSON/XLSX, running Tianzheng HVAC commands, loading Tianzheng ARX modules, or diagnosing Tangent path issues.
.claude/skills/hashgraph-online-autocad-tianzheng-hvac/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | 139% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 3% | 0% |
用这个 skill 处理本机 AutoCAD 2026 + 天正暖通 T30V1 的连接、读图、建图、保存、导出和排障。默认 MCP server 是 autocad_tianzheng;在 Codex 设置页的 MCP servers 里,它显示在 "From plugins" 列表下,不一定出现在手动 "Servers" 列表里。
机器相关路径从环境变量读取:
AUTOCAD_EXE,例如 <AutoCAD 2026 install>\acad.exeTIANZHENG_ROOT,例如 <Tangent THvacT30V1 root>THvac30V1CodexAutomationAutoCAD.Application.25.1AUTOCAD_TIANZHENG_MCP_ROOT,指向本机 multiCAD-mcp 工作树AUTOCAD_TIANZHENG_PYTHON,可选;未设置时使用当前环境里的 pythonCodexAutomation 启动干净 AutoCAD 2026;如果用户已手动打开天正,则可只附加当前运行会话。json[{"action":"connect","cad_type":"tianzheng_hvac"}]
把上面的 JSON 字符串传给 manage_session。
json[{"action":"probe"}]
把上面的 JSON 字符串传给 manage_tianzheng。重点看 current_profile、tangent_root_exists、missing_paths、support_path、trusted_paths 和三个 ARX 文件是否存在。
常见正常状态:
current_profile 通常是 THvac30V1current_profile 通常是 CodexAutomationjson[{"action":"load_arx"}]
默认加载 Tch_HvacCmd.arx、Tch_PipeBase.arx、tch_pipewire.arx。不要把 auto_load_arx 改成默认开启;历史上自动加载天正核心 ARX 可能触发 AutoCAD 崩溃。
读取工程图时先用普通 CAD 工具查询图层、块、实体,再用天正索引补充可检索数据。扫描 ModelSpace 到 SQLite:
json[{ "action":"scan_index", "db_path":"<output-root>\\index\\autocad_tianzheng_index.sqlite", "json_path":"<output-root>\\index\\autocad_tianzheng_index.json", "xlsx_path":"<output-root>\\index\\autocad_tianzheng_index.xlsx" }]
索引内容包括图纸路径、实体 handle、对象类型、图层、颜色、线型、文字、块名/名称、坐标 JSON。需要追溯对象时优先用 handle。
新建图纸先调用 manage_files 的 new,再用 draw_entities 画基础实体和文字。保存用绝对路径:
textsave|<output-root>\drawings\smoke_autocad_tianzheng.dwg
复杂工程文件优先分层创建:轴网/墙体/风管/水管/设备/标注/文字分别放到清晰图层;块名、图层名、文字标注要可检索。不要在没有用户确认的情况下覆盖已有 DWG。
通过 manage_tianzheng 的 run_command 执行低风险命令:
json[{"action":"run_command","command":"_ABOUT","timeout_sec":10}]
如果返回 Command is still active or waiting for user input,说明命令大概率需要人工点选、输入或对话框确认。不要继续盲目发送回车或坐标,先报告需要人工交互。
manage_session 连接失败:确认 AutoCAD 2026 路径存在,再看 AutoCAD.Application.25.1 是否可用。不要混用旧版 AutoCAD ProgID。probe 显示 tangent_root_exists=false 或 ARX 文件不存在:确认 TIANZHENG_ROOT 指向正确的天正暖通安装目录。CodexAutomation 下没有天正 SupportPath/TRUSTEDPATHS 是预期状态;只有用户手动打开天正 THvac30V1 时才应看到天正路径。TIANZHENG_ROOT\SYS25x64 下,再用 load_arx 单独加载具体路径。autocad_tianzheng,再重启 Codex,让新环境变量和缓存插件重新加载。| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 42,128 | 13,390 | -68% | 1 | 1 | 0% | 6,164 | 1,792 | -71% | 0 | 0 | — |
case-02 | fail→fail | 55,080 | 48,375 | -12% | 1 | 1 | 0% | 8,256 | 1,494 | -82% | 0 | 0 | — |
case-17 | fail→pass | 9,601 | 2,757 | -71% | 1 | 1 | 0% | 697 | 1,669 | +139% | 0 | 0 | — |
case-03 | fail→fail | 37,967 | 18,790 | -51% | 1 | 1 | 0% | 1,596 | 1,934 | +21% | 0 | 0 | — |
case-04 | fail→pass | 21,877 | 19,447 | -11% | 1 | 1 | 0% | 2,531 | 2,503 | -1% | 0 | 0 | — |
case-05 | fail→pass | 15,241 | 8,349 | -45% | 1 | 1 | 0% | 1,406 | 1,858 | +32% | 0 | 0 | — |
case-06 | fail→pass | 36,191 | 7,534 | -79% | 1 | 1 | 0% | 1,532 | 1,601 | +5% | 0 | 0 | — |
case-07 | fail→pass | 36,693 | 8,833 | -76% | 1 | 1 | 0% | 1,859 | 1,917 | +3% | 0 | 0 | — |
case-08 | fail→pass | 15,834 | 7,692 | -51% | 1 | 1 | 0% | 1,425 | 1,685 | +18% | 0 | 0 | — |
case-09 | fail→pass | 16,565 | 11,644 | -30% | 1 | 1 | 0% | 1,922 | 2,156 | +12% | 0 | 0 | — |
case-10 | fail→pass | 18,685 | 8,153 | -56% | 1 | 1 | 0% | 1,991 | 1,757 | -12% | 0 | 0 | — |
case-11 | fail→pass | 12,667 | 7,405 | -42% | 1 | 1 | 0% | 1,295 | 1,638 | +26% | 0 | 0 | — |
case-12 | pass→pass | 24,769 | 4,514 | -82% | 1 | 1 | 0% | 1,877 | 1,829 | -3% | 0 | 0 | — |
case-13 | pass→pass | 33,517 | 8,140 | -76% | 1 | 1 | 0% | 2,761 | 1,788 | -35% | 0 | 0 | — |
case-14 | pass→pass | 8,611 | 8,142 | -5% | 1 | 1 | 0% | 1,373 | 1,786 | +30% | 0 | 0 | — |
case-15 | fail→pass | 11,541 | 3,653 | -68% | 1 | 1 | 0% | 1,711 | 1,841 | +8% | 0 | 0 | — |
case-16 | fail→pass | 14,443 | 8,785 | -39% | 1 | 1 | 0% | 1,837 | 1,690 | -8% | 0 | 0 | — |
case-18 | fail→pass | 19,526 | 2,115 | -89% | 1 | 1 | 0% | 2,282 | 1,566 | -31% | 0 | 0 | — |
case-19 | pass→pass | 25,923 | 24,268 | -6% | 1 | 1 | 0% | 3,215 | 4,347 | +35% | 0 | 0 | — |
case-20 | pass→pass | 28,923 | 23,249 | -20% | 1 | 1 | 0% | 3,514 | 4,831 | +37% | 0 | 0 | — |
case-21 | pass→pass | 20,804 | 31,757 | +53% | 1 | 1 | 0% | 3,829 | 6,310 | +65% | 0 | 0 | — |
case-22 | pass→pass | 19,856 | 37,885 | +91% | 1 | 1 | 0% | 2,792 | 3,794 | +36% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 18 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.