360 Secure SkillHub
360 安全技能中心

土建算量 · 混凝土与钢筋计划口径速算

面向施工员的土建算量技能:从 DWG/DXF 结构图按楼层输出梁板柱墙净量、订货量、标号分档与钢筋吨数带,含损耗、后浇带先浇区与封闭带分账、缺项清单和规范校核提示;首次解图建索引后同图查询可秒级复用,结果属计划口径毛量(±5~10%)。

lisong2003-lgtm
lisong2003-lgtm
热度 42.52
最近更新 2026-10-18 18:19:24
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写 / 工作流 / 自动化脚本

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add tujian-suanliang
Metadata
name
tujian-suanliang
slug
tujian-suanliang
displayName
土建算量 · 混凝土与钢筋计划口径速算
version
0.9.18
author
lis
license
CC-BY-NC-SA-4.0
description
从任意结构施工图(DWG/DXF)快速出混凝土方量与钢筋估算带,含常规尺寸/标号规范校核提示与规范/图集元数据辅助,按楼层/浇筑区(含后浇带先浇区与封闭带分账)报物资计划。已接管 cad-file-reader 原梁板柱墙、楼梯、洞口、预制底板、结构模型和混凝土分账流水线;给图名即出该层梁板柱墙的净量、订货量(含损耗)、标号分档与钢筋吨数带;一次解图后建索引,之后同一张图的任何查询不再解图。口径为计划口径毛量(±5~10%),不替代翻样、下料、对量与结算。(已完成 5 轮以上真实结构图纸回归验证(含第二期 32 例 + 6 替代版、人防专项、第三批钢构深化图,全通过),详见 CHANGELOG。)

土建算量

它解决的一件事:施工员/技术员不会用广联达,也要在几分钟内拿到"这层要多少方混凝土、什么标号、大概多少吨钢筋",直接抄进物资计划。

0.5.0 优化概况

  • 复用 cad-file-reader 0.5+ 的规范/图集元数据辅助:首次建索引同步生成 .cadidx/<索引>/normative 辅助结果,不复制规范全文,不新增解析依赖。
  • 规范辅助只作元数据、版本风险和输入缺口提示;失败仅写日志,不阻断混凝土/钢筋计划量输出。
  • 索引缓存版本升到 0.3.0,旧缓存自动重建;缓存命中且辅助文件缺失时,只要明细仍存在会自动补跑。
  • 重复的「尺寸多标注」警告在报告/台账汇总区去重,明细中的全部候选仍保留,便于照图复核。

0.6.0 新增:原结构算量流水线并入

  • 接管原 cad-file-reader 的结构算量能力:梁对象、支座净跨、多跨闭合、实例去重、编号冲突定责、板厚分区、洞口扣减、墙身闭合、边缘构件、预制底板、楼梯梁、结构模型和混凝土分账。
  • 新增统一高级入口:scripts/run_qty.sh advanced ... 或 scripts/run_qty.sh pipeline ...,串起扫描、几何、拓扑、证据层、统一报告和执行清单。
  • 底座 cad-file-reader >= 0.25.0 只提供识图、文字/图层/图框、几何线段和原文证据;算量口径、扣减、损耗、分账和台账全部在本技能内完成。
  • 迁移脚本仍可通过 CAD_SKILL_DIR 调用识图底座;找不到底座时明确报错,不静默降级。
  • 迁移后回归 317 项通过(合成数据与迁移自锁测试;不含公司图纸内容)。

0.7.0 优化概况:对接 cad-file-reader 测量候选

  • 底座依赖提升到 cad-file-reader >= 0.25.0;识图底座可额外输出长度、面积、体积测量候选,但每条都是 final_quantity=false 的识图证据。
  • 首次建索引时在缓存目录生成 measurement-candidates/ 辅助结果,仅用于回图复核梁线、房间边界和显式尺寸;土建净量、扣减、损耗、分账和台账口径仍全部在本技能内完成。
  • 测量候选缺失或生成失败不阻断土建算量;缓存版本升到 0.4.0,旧缓存自动重建。

前置

依赖已安装的技能 cad-file-reader >= 0.25.0(本技能只调它的识图、文字/图层/图框、几何线段和规范/图集元数据入口;不再依赖任何算量入口)。找不到时报错并提示设 CAD_SKILL_DIR。

用法

# 1) 列出这张图的楼层图名(第一次解图并建索引;之后任何查询都不再解图)
scripts/run_qty.sh floors 图纸.dwg --with-geom

# 2) 出某一层:层高自动从图面"层高表/标高表"反查;轴网给一次即写入本图配置
scripts/run_qty.sh floor 图纸.dwg --floor-label "标高(下层)~(上层)墙柱平法施工图" \
  --axis-grid "8x8400,6x7800" --with-geom -o 该层计划

# 3) 之后换任何层都不用再给参数(沿用本图配置,层高按该层标高重新自动查)
scripts/run_qty.sh floor 图纸.dwg --floor-label "五层板配筋图" --with-geom -o 五层

# 4) 报「先浇 + 后浇带封闭」两笔:带长在平面图上量一次(本层合计),带宽自动从说明读
scripts/run_qty.sh floor 图纸.dwg --floor-label "五层板配筋图" --with-geom --strip-length-m 120 -o 该层计划

# 5) 图上读不到柱截面时,照柱表敲一次,本图之后所有层沿用(会标"人工参数",不冒充图面直读)
scripts/run_qty.sh floor 图纸.dwg --floor-label "标高(下)~(上)墙柱平法施工图" --with-geom \
  --member-size "KZ1=500x900,KZ2=600x600,Q2=250" -o 墙柱层计划

高级结构算量流水线(迁移自 cad-file-reader)

# 原 cad-file-reader 的梁板柱墙/楼梯/洞口/预制底板/混凝土分账统一入口
scripts/run_qty.sh advanced 结构图.dwg \
  --floor-label "二层梁平法施工图" \
  --support-floor-label "标高X~Y墙柱平法施工图" \
  --slab-floor-label "二层板结构施工图" \
  --out 首层算量

高级入口保留候选量、复核量、风险量、参考回填和正式入账口径分层;缺输入记 skipped,不自动补造。详细参数见 packs/quantity-pipeline/SKILL.md 和历史文件。

参数 作用 不给会怎样
--axis-grid "8x8400,6x7800" 板面积与梁长骨架(两向跨数×跨距);给一次就写进本图 profile.json 板/梁进缺项清单,不出数
--story-height-mm 柱、墙高 默认自动取:图名自标的标高区间(墙柱层图名常写「标高(下)~(上)」)→ 否则层高表本层标高减下层标高;两条都失败又没配置 → 柱/墙进缺项
--story-basis 层高取哪一段:below(默认,跟着本层顶板一起浇的柱墙段)/ above(本层往上那段) 用默认;只有出"本层往上"的柱才改
--with-geom 索引时导出图面线段(墙长要用;轴网自动尝试也要用) 墙进缺项清单
--try-auto-grid 试着从图面线段复原轴网 天正轴网常是自定义实体解不出,失败会明说并让你给一次参数
--loss 损耗率(默认取 rules/口径.json 的 1.5%) 用默认
--member-size "KZ1=500x900,Q2=250" 人工补构件截面/墙厚(柱梁给 b×h、墙给厚),给一次写进本图配置 图上取不到的那型进缺项,不猜
--strip-length-m 本层后浇带中心线总长(m)。给了才把板量拆成"先浇区 + 封闭带(高一级微膨胀)"两笔 不拆;输出里进缺项提示,板量仍是整层
--strip-width-mm 带宽 先从说明原文读(如"宽度均为800");读不到按 rules 默认 800mm 并标推定;不在 100~3000mm 内视为填错,进缺项不拆
--openings-m2 照建施/洞表人工补扣的洞口面积合计(㎡),从板面积里减掉 只扣图面能算出尺寸的洞口(结构图常只画不注)
--keep-detail 保留解图明细 JSON(占空间大) 默认建完索引就回收,一张 21.7MB 图省 ~35MB
--cache-dir 索引与 profile 位置;默认落在图纸同目录 .cadidx/ 图纸目录不可写时自动退到临时目录

时间都花在哪(实测)

场景 实测
21.7MB 图第一次索引(52,488 条文字 + 221,827 条线段) 18–34 s
之后每一层查询(同一张图,含层高自动反查、说明摘录、后浇带拆分) 0.5–1.1 s
换一张新图 再付一次索引

索引按图纸内容 SHA-256 命名,图纸没变就永久复用;删掉 .cadidx/<名字-哈希>/ 即强制重建。 建完索引自动回收解图明细 JSON:21.7MB 图的缓存从 64MB 降到 31MB(--keep-detail 可保留)。 输出头带口径版本与指纹(如 口径 0.4.0+(运行输出显示实际版本与指纹)),改过 rules/口径.json 一眼能看出来。

口径(写在 rules/口径.json,可改可核对)

  • 柱=截面 × 柱段高 × 根数(有梁板柱算至柱顶,不扣梁高)。柱段高取"跟着本层顶板一起浇的那一段":图名写了标高区间就用区间差,否则用层高表本层标高减下层标高;表里两值对不上会报"需核对"
  • 层高表里"标高 X 行注的层高"是 X 往上那一段,直接用会错一层;本技能取的是板下面那段柱墙高。真图实测:中间层取到板下柱段,顶层(表内那行空白)也能算出来,不再退回上一层的配置
  • 梁=各向轴线长合计 × 截面档占比分摊(清单口径梁长算至柱侧,本表按轴线毛长)
  • 板=轴网包络面积 × 板厚档占比分摊(按图面板厚标注位置数加权)
  • 墙=墙线长 × 层高 × 墙厚(长需 --with-geom)
  • 订货量=净量 ×(1+损耗);钢筋列=净量 × 图面/经验含筋率区间 → 给出的是带,不是逐根
  • 后浇带:带面积=带长×带宽,按本层各板厚档面积占比分摊 → 封闭带一笔(标号按说明"高一级",父级推定则仍标推定),先浇区同额扣减,总量守恒
  • 洞口:图面能算出尺寸的(如 JD5 720x300)自动从板面积里扣,≥0.3㎡ 才扣;结构图常只画不注尺寸,那部分要照建施给 --openings-m2,扣减量与来源都写进输出
  • 同一个编号在图上有多种截面/厚度标注时:取出现次数最多的那个,全部候选写进"依据"并在顶上提示"需核对",不静默选一个
  • 截面/墙厚来源三级:①构件旁边的图面标注(就近绑定)②表格里读——墙身表按表头列名(编号/标高/墙厚)对齐取,且表内标高段必须与本层图名区间一致才取;③都取不到就人工给一次(--member-size)。每行"依据"都会写明是哪一级
  • 说明摘录:自动摘出带宽、后浇带类型、封闭用混凝土、保留时间等报量要用的条款原文(本层图框内优先,其次全图),不改写不解释
  • 规范校核:出量后检查标号、构件尺寸、正量与标注完整性;缺混凝土强度等级时不再默认C30,而是标「未标注(需核对)」。输出有「规范校核」区块,明细每行有「规范校核」列

边界(必须对用户如实说)

  1. 这是计划口径毛量:未扣柱/节点/小洞口,误差 ±510%(板面积靠轴网分摊时 ±1020%)。不能用于翻样下料、对量、劳务结算、竣工计量。
  2. 缺依据的构件一律进缺项清单并写明缺什么,绝不用默认值凑数;只有两处例外且都明标:板厚退回「说明主档 + 推定」,后浇带宽在说明读不到时按默认 800mm 推定(同时进缺项清单)。
  3. 楼层切分靠"图名附近有构件标注"判定真图名,不依赖任何图层命名体系;同名命中多张真图框时全部纳入并提示会算两遍。
  4. 轴网复原的边界:图面轴线若是普通 LINE/LWPOLYLINE 可自动复原(--try-auto-grid);天正导出的轴网常是自定义实体、解不出线段,这时必须给一次 --axis-grid(会存进本图配置,之后不用重复给)。
  5. 后浇带不能自动量:带线在图面上多是双线或符号,图层命名各院不一;按“平行双线 + 间距”自动筛带容易把梁边线、钢筋桁架等误识别。因此只接受在平面图上人工量一次带长(--strip-length-m),拆完后浇带后再报。
  6. 柱表形态各家不同:本技能能按表头列名读横排表(墙身表那类);有的图柱表是竖排转置表(表头 编号/标高/纵筋/箍筋 一列竖着写),甚至根本没有截面这一列(柱截面只画在柱边或详图里)——这种就读不到,会整型进缺项,用 --member-size 给一次即可,绝不拿别层或邻柱的数凑
  7. 表内出现多套分区标高时(同一张表里混着几套标高列),标高段对不上本层图名的行一律不取,并在日志里写明
  8. 说明被拆成多段/夹符号的文字会先按坐标拼回整句再检索(join_lines,字宽按 350mm 估),仍可能漏;漏了会表现为"未检出后浇带",以人工核对为准。
  9. 天正自定义实体、无轴网图纸、说明被拆成多段的图纸,会出现可解释的缺项——按缺项清单补参数即可,不要相信"跑通了就是对的"。

显式依赖与降级(0.9+)

  • 底座 cad-file-reader >= 0.28.1 是本技能的显式依赖:运行首次会自动检测,缺失时自动下载安装底座并补齐 vendor(联网,下载包做 SHA-256 完整性与版本校验,校验失败拒绝安装);已装则直接复用,不重复下载。
  • 独立/离线场景可设 SKILL_NO_BASE=1:不再自动安装底座,仅使用已有扫描 JSON、测量候选或表格输入(精度受限并在结果中标注)。
  • 可设 CAD_AUTO_SETUP=0 关闭底座内部的 vendor 自动下载;手动安装用 scripts/setup.sh 或 scripts/ensure_base.sh。