360 Secure SkillHub
360 安全技能中心

Dxf Handle

该 Skill 是一个命令行 CAD 图纸处理工具:使用 ezdxf 读取 DWG/DXF 文件,遍历 references/layers.json 中配置的图层,按图纸中的多段线计算各房间面积(m²)或周长(m),支持全部图层或指定房间查询,并可用 --output 导出 CSV 结果。

mapleslove
mapleslove
热度 62.52
最近更新 2026-05-11 17:38:40
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add dxf-handle
Metadata
name
dxf-handle
description
DWG/DXF CAD 图纸处理工具。使用 ezdxf 读取图纸,遍历图层信息,计算面积或周长。适用于室内设计房间量房统计。

Dxf-Handle

DWG/DXF 图纸图层遍历和面积/周长计算工具。

前提条件

pip install ezdxf

使用方法

使用技能时需要提供:

  1. DWG 文件路径(必填)
  2. 图层配置 JSON(必填,参考下方格式)
  3. 查询模式(四选一):
    • 全部查询面积
    • 全部查询周长
    • 单个查询面积
    • 单个查询周长

图层配置格式

在 references/layers.json 中配置图层:

{
  "layers": [
    {"layerName": "JS_客厅区域框线", "description": "客厅"},
    {"layerName": "JS_主卧区域框线", "description": "主卧"},
    {"layerName": "JS_次卧区域框线", "description": "次卧"},
    {"layerName": "JS_客卧1区域框线", "description": "客卧1"},
    {"layerName": "JS_客卧2区域框线", "description": "客卧2"},
    {"layerName": "JS_南阳台区域框线", "description": "南阳台"},
    {"layerName": "JS_北阳台区域框线", "description": "北阳台"},
    {"layerName": "JS_厨房区域框线", "description": "厨房"},
    {"layerName": "JS_公卫区域框线", "description": "公卫"},
    {"layerName": "JS_内卫区域框线", "description": "内卫"}
  ]
}

命令示例

1. 全部查询面积

计算所有配置图层的面积

python skills/dxf-handle/scripts/dxf_handle.py 你的图纸.dwg --type area

输出示例:

读取文件: 你的图纸.dwg
计算类型: area
配置了 10 个图层
扫描图层...
  找到: JS_客厅区域框线 (1 个多段线)
  找到: JS_主卧区域框线 (1 个多段线)

共匹配 2 个图层, 其中 2 个有有效数据
----------------------------------------
客厅: 25.60 m²
主卧: 18.20 m²

完成!

2. 全部查询周长

计算所有配置图层的周长

python skills/dxf-handle/scripts/dxf_handle.py 你的图纸.dwg --type perimeter

输出示例:

读取文件: 你的图纸.dwg
计算类型: perimeter
配置了 10 个图层
扫描图层...

共匹配 0 个图层, 其中 0 个有有效数据

未找到匹配的实体

3. 单个查询面积

查询指定房间的面积

python skills/dxf-handle/scripts/dxf_handle.py 你的图纸.dwg --query 客厅 --type area

输出示例(有图层):

客厅: 25.60 m²

输出示例(无图层):

没找到客厅图层

4. 单个查询周长

查询指定房间的周长

python skills/dxf-handle/scripts/dxf_handle.py 你的图纸.dwg --query 客厅 --type perimeter

输出示例(有图层):

客厅: 20.30 m

输出示例(无图层):

没找到客厅图层

CSV 导出

使用 --output 参数导出 CSV 文件:

python skills/dxf-handle/scripts/dxf_handle.py 你的图纸.dwg --type area -o result.csv

CSV 格式:

名称,图层,数量,面积
客厅,JS_客厅区域框线,1,25.60
主卧,JS_主卧区域框线,1,18.20