360 Secure SkillHub
360 安全技能中心

dxf-pile-extraction

分析桩基础DXF图纸结构,提取桩编号、坐标、桩径与桩顶标高并输出Excel统计表;可选从等高线图层IDW插值中风化/微风化岩面标高,计算入岩深度与层厚,并将桩编号标注回DXF。

sxp1941
sxp1941
热度 8.70
最近更新 2026-08-04 16:15:13
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写 / 自动化脚本

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add dxf-pile-extraction
Metadata
name
dxf-pile-extraction
description
从桩基础CAD图纸(DXF)中提取桩编号、坐标、桩径、桩顶标高等参数,生成Excel统计表。同时支持从等高线图层插值中风化/微风化岩面标高并计算入岩深度。适用于桩基础工程量统计、入岩深度分析、投标报价桩参数汇总。触发词:桩基图、桩编号、桩参数统计、DXF提取桩、等高线插值入岩深度。
agent_created
true

DXF桩基参数提取

从桩基础施工图DXF中一键提取桩参数,支持等高线插值计算入岩深度。

触发场景

  • 用户提供桩基平面图DXF,需要提取桩编号/坐标/桩径/桩顶标高
  • 用户提供含等高线的DXF,需要计算每根桩的入岩深度
  • 桩基础工程量统计、投标报价桩参数汇总
  • 需要将桩参数输出为Excel表格

工作流程

阶段1:分析DXF结构

用 scripts/analyze_dxf.py 快速了解DXF文件结构:

python scripts/analyze_dxf.py <dxf路径>

输出:实体类型统计、图层列表及实体数、桩相关图层识别结果。

查阅 references/dxf_pile_patterns.md 了解常见桩基图DXF模式。

阶段2:提取桩参数

用 scripts/extract_piles.py 提取桩编号、坐标、桩径、桩顶标高:

python scripts/extract_piles.py <dxf路径> <输出Excel路径.xlsx> [--datum 23.40]

关键参数:

  • --datum:相对标高转绝对标高的基准值(±0.00=绝对xx.xxm),默认23.40
  • --encoding:DXF编码(默认自动检测,可选gbk/utf-8)

脚本自动完成:

  1. 识别桩轮廓(块内CIRCLE圆 → 圆心=桩心)
  2. 提取编号标签(Z1~Z419格式,通常在桩编号图层)
  3. 提取桩型/桩顶标高(GZH01,H=-6.500格式,BASE-ZM-BH图层)
  4. 贪心最优匹配(编号↔圆↔标高,确保1:1无冲突)
  5. 计算桩顶绝对标高 = 相对标高 + datum
  6. 输出Excel:Sheet1桩参数表 + Sheet2汇总统计

阶段3:等高线插值入岩深度(可选)

用 scripts/interpolate_elevation.py 从等高线图层插值岩面标高:

python scripts/interpolate_elevation.py \
  <含等高线的DXF路径> \
  <桩参数Excel路径.xlsx> \
  --layer g_sDgxLayer \
  --sheet <中风化|微风化>

参数说明:

  • --layer:等高线所在图层(默认g_sDgxLayer)
  • --sheet:写入Excel的Sheet类型(中风化或微风化)
  • --column-offset:新增列写入偏移(默认自动追加到最后一列)
  • --k:IDW插值最近点数(默认12)
  • --power:距离权重幂(默认2)

脚本自动完成:

  1. 从等高线图层提取POLYLINE顶点 + TEXT标高标注
  2. 最近距离匹配标高到等高线
  3. 按桩坐标IDW插值岩面标高
  4. 计算进入岩层深度 = 桩顶绝对标高 - 岩面标高
  5. 计算层厚(中风化层 = 中风化面 - 微风化面)
  6. 写入Excel新列 + 更新汇总Sheet

阶段4:标注桩编号到DXF

用 scripts/label_piles.py 在新图层标注桩编号:

python scripts/label_piles.py <输入.dxf> <桩编号Excel.xlsx> <输出.dxf>

重要的经验规则

桩心识别(重点)

  • 优先查找块内的CIRCLE:桩通常定义为块引用中的圆,圆心=桩心
  • 世界坐标 = INSERT插入点 + 块内CIRCLE圆心 × 缩放比例
  • 备选方案:BASE-ZM-BH图层的2点LWPOLYLINE,起点P1=桩心(45°直径符号线)
  • 验证:圆半径 = 桩径/2(600→300, 800→400, 1200→600, 1400→700, 2000→1000, 2200→1100)

编号匹配

  • 使用贪心最优匹配(非简单最近邻),避免多对一冲突
  • 排序所有(编号, 轮廓, 距离)对,逐个分配,已分配双方跳过
  • 匹配完成后验证:无重复、无遗漏、连续编号

等高线插值

  • IDW反距离加权,p=2(距离平方反比)
  • k=12个最近点,可调整
  • 两组等高线(中风化/微风化)覆盖范围可能不同,边缘区域插值可能失真
  • 负层厚(微风化面高于中风化面)需红色标记,要求用户复核

标高体系

  • 桩顶标高是相对标高(相对±0.00),需用户提供基准值转为绝对标高
  • 等高线标高是绝对标高,无需转换
  • 入岩深度 = 桩顶绝对标高 - 岩面绝对标高
  • 层厚 = 上层岩面 - 下层岩面(正=正常地质层序)

输出Excel格式

序号 桩编号 桩型 桩径(mm) 桩顶相对标高(m) 桩顶绝对标高(m) 桩心坐标X 桩心坐标Y ...入岩参数...

含汇总Sheet:标高分类统计、桩型分布、入岩深度范围分布。

依赖

ezdxf>=1.3.0
openpyxl>=3.1.0
numpy
scipy