CAD看图助手(自控点位统计):把图纸点位交给程序数

前言

自控工程师拿到一张暖通、楼宇或工业自控的 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye