Install
openclaw skills install @lisong2003-lgtm/tujian-suanliang从任意结构施工图(DWG/DXF)快速出混凝土方量与钢筋估算带,含常规尺寸/标号规范校核提示与规范/图集元数据辅助,按楼层/浇筑区(含后浇带先浇区与封闭带分账)报物资计划。已接管 cad-file-reader 原梁板柱墙、楼梯、洞口、预制底板、结构模型和混凝土分账流水线;给图名即出该层梁板柱墙的净量、订货量(含损耗)、标号分档与钢筋吨数带;一次解图后建索引,之后同一张图的任何查询不再解图。口径为计划口径毛量(±5~10%),不替代翻样、下料、对量与结算。
openclaw skills install @lisong2003-lgtm/tujian-suanliang它解决的一件事:施工员/技术员不会用广联达,也要在几分钟内拿到"这层要多少方混凝土、什么标号、大概多少吨钢筋",直接抄进物资计划。
cad-file-reader 0.5+ 的规范/图集元数据辅助:首次建索引同步生成 .cadidx/<索引>/normative 辅助结果,不复制规范全文,不新增解析依赖。cad-file-reader 的结构算量能力:梁对象、支座净跨、多跨闭合、实例去重、编号冲突定责、板厚分区、洞口扣减、墙身闭合、边缘构件、预制底板、楼梯梁、结构模型和混凝土分账。scripts/run_qty.sh advanced ... 或 scripts/run_qty.sh pipeline ...,串起扫描、几何、拓扑、证据层、统一报告和执行清单。cad-file-reader >= 0.25.0 只提供识图、文字/图层/图框、几何线段和原文证据;算量口径、扣减、损耗、分账和台账全部在本技能内完成。CAD_SKILL_DIR 调用识图底座;找不到底座时明确报错,不静默降级。cad-file-reader >= 0.25.0;识图底座可额外输出长度、面积、体积测量候选,但每条都是 final_quantity=false 的识图证据。measurement-candidates/ 辅助结果,仅用于回图复核梁线、房间边界和显式尺寸;土建净量、扣减、损耗、分账和台账口径仍全部在本技能内完成。依赖已安装的技能 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 的梁板柱墙/楼梯/洞口/预制底板/混凝土分账统一入口
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,可改可核对)--with-geom)JD5 720x300)自动从板面积里扣,≥0.3㎡ 才扣;结构图常只画不注尺寸,那部分要照建施给 --openings-m2,扣减量与来源都写进输出--member-size)。每行"依据"都会写明是哪一级--try-auto-grid);天正导出的轴网常是自定义实体、解不出线段,这时必须给一次 --axis-grid(会存进本图配置,之后不用重复给)。--strip-length-m),拆完后浇带后再报。--member-size 给一次即可,绝不拿别层或邻柱的数凑join_lines,字宽按 350mm 估),仍可能漏;漏了会表现为"未检出后浇带",以人工核对为准。