前言¶
自控工程师拿到一张暖通、楼宇或工业自控的 CAD 图纸,上面往往有几百个 AI/AO/DI/DO 点位。人工点数慢、容易漏,做 IO 表和设备清单要反复核对,改一次图纸就得重数一次。市面上的看图软件能打开图纸、能测量,但不能直接把点位按类型汇总出来。
下面介绍的 Skill「CAD看图助手(自控点位统计)」解决的就是这件事:输入一条指令读取 DXF 图纸,程序自动识别 AI、AO、DI、DO 四类自控点位,并导出点位表、设备清单、统计汇总三张表,Excel 或 CSV 格式,可直接用于招投标、深化设计与采购。
这是什么¶
「CAD看图助手(自控点位统计)」是一个社区来源的命令行工具类 Skill,坐标 @user_51a923b7/cad-viewer-assistant,发布者 user_51a923b7,当前版本 1.1.10,在 SkillHub 上的分类为 data-analysis,评分 100000,下载量 6187。
它不是一个空壳提示词:Skill 包内附带真实可运行的 Python 程序,需要用户自行安装 ezdxf、openpyxl 两个依赖。不需要 API Key。
核心功能¶
程序做的事分四步,都在本地完成,不上传图纸。
1、读取 DXF 图纸。DWG 格式不支持直接读取,需要先用 AutoCAD、ODA File Converter 或 LibreCAD 另存为 DXF(R12 到 R2018 均可)。
2、识别四类点位。既识别单个点位编号(如 AI-101),也识别模块聚合规格(如 16AI、8DI),覆盖 AI 模拟量输入、AO 模拟量输出、DI 数字量输入、DO 数字量输出。
3、解析设备与信号标识。关联 PT、TT、LT、FT、AHU、PAU、P、MV、TV 等设备编号,把点位和设备对应起来。
4、生成三张表。点位表、设备清单、统计汇总,导出为 .xlsx 或 CSV。
点位识别规则如下,程序同时从 TEXT、MTEXT、块属性(INSERT+ATTRIB)三类文本中抽取编号。
| 类型 | 中文 | 信号 | 识别写法示例 |
|---|---|---|---|
| AI | 模拟量输入 | 模拟量 | AI-101、模块 16AI |
| AO | 模拟量输出 | 模拟量 | AO-201、模块 8AO |
| DI | 数字量输入 | 数字量 | DI-301、模块 32DI |
| DO | 数字量输出 | 数字量 | DO-401、模块 16DO |
安装与启用¶
先装依赖,这一步是运行主程序的前提。
pip install ezdxf openpyxl
Skill 包内的文件清单:
SKILL.md— 技能说明examples/cad_point_assistant.md— 主程序完整源码,复制为cad_point_assistant.py即可运行examples/make_sample_dxf.md— 样例图纸生成脚本,用于自测examples/usage.md— 详细使用说明、DWG 转 DXF、依赖与排错examples/example_output.md— 示例输出(点位表、设备清单样本)
拿到源码后复制为 cad_point_assistant.py,在脚本同级目录运行下面的命令即可。资料中没有列出 Cursor、Codex CLI、Claude Code 各自的安装差异,这里不做推测。
典型用法¶
第一步,读取一张图纸并输出 Excel 清单。
python cad_point_assistant.py read 图纸.dxf --output ./output --format xlsx
程序会在终端打印统计汇总,示例输出如下:
========== 自控点位统计汇总 ==========
AI 模拟量输入: 19 点
AO 模拟量输出: 10 点
DI 数字量输入: 44 点
DO 数字量输出: 27 点
合计 : 100 点
第二步,拿到清单。结果写入 ./output/图纸.xlsx,包含三张表:点位表、设备清单、统计汇总。加 --format csv 可导出 CSV。
第三步,批量处理或只做复核。
python cad_point_assistant.py batch 图纸目录/ # 批量处理整个文件夹
python cad_point_assistant.py parse 图纸.dxf # 仅看汇总,不写文件
三张表的字段如下:
- 点位表:点位编号 / 类型 / 信号类别 / IO方向 / 数量 / 描述·用途 / 关联设备 / 所在图层 / 来源空间 / 备注
- 设备清单:设备编号 / 设备类型 / 关联点位数量 / 关联点位 / 备注
- 统计汇总:点位类型 / 中文名称 / 信号类别 / IO方向 / 点数合计
自定义识别规则¶
项目里有特殊的信号代号或设备前缀时,改两个变量即可,不需要动主逻辑:
TYPE_MAP:扩充点位类型映射DEVICE_PREFIXES:扩充设备前缀
描述取自点位编号同行的后续文字,或附近(可配置半径)的文本。如果图纸标签与说明分置较远,在指令中用 --unit 调大空间半径。
适用场景与注意¶
适合这几类工作:楼宇自控、弱电、暖通 HVAC 工程师做 IO 表和深化设计;招投标与技术标书编制出点位清单;系统集成商进场前盘点图纸点位、对接 DDC/PLC 配置;业主和运维接手图纸时摸清自控规模。
三个限制需要提前知道:
1、DWG 不能直接读取,必须先另存为 DXF。
2、识别基于文本。点位必须从图纸的标签或块属性里能读到编号,如果图纸只用图形符号表达、没有文字标签,任何同类工具都统计不出来。
3、描述依赖邻近文本,标签和说明距离太远时要靠 --unit 调整。
结尾¶
这个 Skill 的价值在于把”数点位”这件重复、易错的体力活变成一条命令:读图纸、出清单、按类型汇总,Excel 打开即用。功能边界也清楚——只处理 DXF 文本里能读到的编号,DWG 和纯图形符号图纸不在它的能力范围内。
官方地址:https://api.skillhub.cn/user_51a923b7/cad-viewer-assistant