Appearance
结构子图框构件结果获取
接口概述
根据结构构件识别任务 ID 和子图框 ID,获取指定子图框内的结构构件识别结果。可通过 dataTypeList 筛选需要返回的构件类型;不传或传空数组时,服务端默认返回全部构件类型。
请先等待结构构件识别任务状态变为
SUCCESS,再通过子图框基本信息结果获取接口取得subFrameId。
请求地址
http
POST /result/struct_cv/subFrameResult请求头
| 参数 | 必填 | 说明 |
|---|---|---|
| apiKey | 是 | API 访问凭证,值为 YOUR_API_KEY |
| Content-Type | 是 | application/json |
请求体
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| taskId | String | 是 | 结构构件识别任务创建接口返回的任务唯一标识 |
| subFrameId | String | 是 | 子图框基本信息结果获取接口返回的子图框唯一标识 |
| dataTypeList | Array<String> | 否 | 需要返回的构件类型列表;不传或传空数组时默认使用 all |
请求示例
以下示例只查询轴号、住宅梁和住宅板三类构件:
bash
curl -X POST "https://openapi.bangtu-ai.com/openApi/result/struct_cv/subFrameResult" \
-H "apiKey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"taskId": "1900123456789012346",
"subFrameId": "struct-subframe-axis-001",
"dataTypeList": ["axisNumber", "upBeam", "slab"]
}'需要返回全部构件时,省略 dataTypeList 或传入空数组即可。
返回结果
data 为指定子图框的基本信息和构件识别结果。object 中的属性名为构件类型,属性值为该类型的构件数组。
json
{
"code": 200,
"message": "success",
"data": {
"subFrameId": "struct-subframe-axis-001",
"subFrameName": "三层梁板配筋平面图",
"wcsLoc": { "left": 100.0, "top": 1800.0, "right": 2400.0, "bottom": 100.0 },
"subFrameType": "AXIS",
"frameId": "frame-001",
"object": {
"axisNumber": [
{
"axisNames": ["1", "2"],
"axisLineAnchor": { "x": 320.0, "y": 720.0 },
"axisCircleAnchor": { "x": 320.0, "y": 768.0 },
"axisCircleRadius": 24.0
}
],
"upBeam": [
{
"beamPos": {
"p1": { "x": 320.0, "y": 720.0 },
"p2": { "x": 980.0, "y": 720.0 },
"p3": { "x": 980.0, "y": 660.0 },
"p4": { "x": 320.0, "y": 660.0 }
},
"typeNumber": 1,
"index": 1,
"totalSpans": 3,
"presentSpan": 1,
"longSpan": 0,
"width": 300.0,
"height1": 700.0,
"upperLongRibs": [
{ "row": 1, "num": 2, "rebarType": "HRB400", "size": 25.0 }
],
"erectorMuscles": [],
"leftSupportBar": [],
"rightSupportBar": [],
"lowerRadiusMuscle": [],
"downLongRibs": [
{ "row": 1, "num": 3, "rebarType": "HRB400", "size": 22.0 }
],
"stirrupEncryptionArea": { "rebarType": "HPB300", "size": 8.0, "distance": 100.0, "limb": 2 },
"stirrupNonEncryptionArea": { "rebarType": "HPB300", "size": 8.0, "distance": 200.0, "limb": 2 },
"sideLongiRein": { "rebarClass": "HRB400", "num": 2, "rebarType": "HRB400", "size": 12.0 }
}
],
"slab": [
{
"slabThickness": 120.0,
"slabHatchName": "钢筋混凝土",
"slabCode": { "slabtype": "LB", "slabNum": "1" },
"slabOutline": [
{ "x": 320.0, "y": 720.0 },
{ "x": 980.0, "y": 720.0 },
{ "x": 980.0, "y": 660.0 }
],
"slabType": "SLAB",
"slabBtmRebarlist": [],
"slabTopRebarlist": [],
"slabHole": []
}
]
}
},
"timestamp": 1784538400000
}返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Number | 通用响应码,200 表示成功,500 表示失败 |
| message | String | 响应信息 |
| data | Object | null | 子图框及其构件识别结果;结果不存在时可能为 null |
| timestamp | Number | 服务端响应时间戳,单位为毫秒 |
data 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| subFrameId | String | 子图框唯一标识 |
| subFrameName | String | 子图框名称 |
| wcsLoc | Object | 子图框 WCS 范围,包含 left、top、right、bottom |
| subFrameType | String | 子图框类型,取值见子图框基本信息结果获取接口 |
| frameId | String | 所属图框唯一标识 |
| object | Object | 按构件类型分组的识别结果 |
object 字段
object 只保留 dataTypeList 指定的构件类型;省略 dataTypeList 或传入空数组时返回全部类型。未识别到对应构件时,类型对应的值通常为空数组。
结构构件因所属子图框类型不同而字段不同。轴网子图框(AXIS)中可能包含以下构件。
轴号 axisNumber
| 字段 | 类型 | 说明 |
|---|---|---|
| axisNames | Array<String> | 轴号名称列表 |
| axisLineAnchor | Object | 轴线锚点,包含 x、y |
| axisCircleAnchor | Object | 轴号圆圈锚点,包含 x、y |
| axisCircleRadius | Number | 轴号圆圈半径 |
标注线 dimInfo
| 字段 | 类型 | 说明 |
|---|---|---|
| value | Number | 标注数值 |
| text | String | 标注文字 |
| rotation | Number | 标注旋转角度 |
| point1 | Object | 标注第一点,包含 x、y |
| point2 | Object | 标注第二点,包含 x、y |
| point3 | Object | 标注第三点,包含 x、y |
住宅梁 upBeam
| 字段 | 类型 | 说明 |
|---|---|---|
| beamPos | Object | 梁四角点,包含 p1、p2、p3、p4,每个点包含 x、y |
| typeNumber | Number | 梁类型编号 |
| index | Number | 梁序号 |
| totalSpans | Number | 总跨数 |
| presentSpan | Number | 当前跨序号 |
| longSpan | Number | 长跨标识 |
| width | Number | 梁宽 |
| height1 | Number | 梁高1 |
| upperLongRibs | Array | 上部通长筋列表,元素包含 row、num、rebarType、size |
| erectorMuscles | Array | 架立筋列表,字段同上 |
| leftSupportBar | Array | 左支座筋列表,字段同上 |
| rightSupportBar | Array | 右支座筋列表,字段同上 |
| lowerRadiusMuscle | Array | 下部弯折筋列表,字段同上 |
| downLongRibs | Array | 下部通长筋列表,字段同上 |
| stirrupEncryptionArea | Object | 加密区箍筋,包含 rebarType、size、distance、limb |
| stirrupNonEncryptionArea | Object | 非加密区箍筋,字段同上 |
| sideLongiRein | Object | 侧面纵筋,包含 rebarClass、num、rebarType、size |
住宅梁不返回
height2(梁高2)与seismicGrade(抗震等级)。
住宅板 slab
| 字段 | 类型 | 说明 |
|---|---|---|
| slabThickness | Number | 板厚 |
| slabHatchName | String | 板填充图案名称 |
| slabCode | Object | 板编号,包含 slabtype、slabNum |
| slabOutline | Array | 板轮廓点数组,元素包含 x、y |
| slabType | String | 板类型 |
| slabBtmRebarlist | Array | 板底筋列表,元素包含 slabRebarType、plantarRebar(底部原位钢筋)、planFaceRebar(底部附加钢筋);其中 plantarRebar 不返回 RebarExtenLen、RebarCode |
| slabTopRebarlist | Array | 板顶筋列表,元素包含轮廓 edge 及 plantarRebar、planFaceRebar |
| slabHole | Array | 板孔洞列表,元素包含轮廓 edge 点数组 |
住宅板不返回
slabElevation(板顶标高)、slabOffset(板位置偏移)与slabCtlCut(悬挑板剖切索引列表)。
墙平面 wallAxis
| 字段 | 类型 | 说明 |
|---|---|---|
| QZcontour | Array | 墙柱轮廓点数组,元素包含 x、y |
| qz_list | Array | 墙柱平面列表,元素包含 numberType、numberIndex、QZcontour |
| qs_list | Array | 墙身平面列表,元素包含 number 及 wcsloc |
表格子图框(TABLE)中可能包含以下构件。
墙身表 qsTable
| 字段 | 类型 | 说明 |
|---|---|---|
| number | String | 墙身编号 |
| qsThickness | Number | 墙身厚度 |
| startHeight | Number | 起始标高 |
| endHeight | Number | 结束标高 |
| horizontalRebarList | Array | 水平分布筋,元素包含 rebarGrade、diameter、space、row |
| verticalRebarList | Array | 竖直分布筋,字段同上 |
| StretchingRebarList | Array | 拉筋,元素包含 rebarGrade、diameter、horizontalSpacing、verticalSpacing |
墙柱表 qzTable
| 字段 | 类型 | 说明 |
|---|---|---|
| numberType | Number | 编号类型 |
| numberIndex | Number | 编号序号 |
| startHeight | Number | 起始标高 |
| endHeight | Number | 结束标高 |
| wcsLoc | Object | 表格 WCS 范围,包含 left、top、right、bottom |
| mask | Object | 掩膜索引信息,包含 shape、dtype、mask_wcs_loc、zoom、bin_index、bin_size;真实像素数据位于项目全局二进制缓存文件,此处只输出索引 |
| rebarList | Array | 纵筋列表,元素包含 rebarGrade、num、diameter |
| rebarWcsLocList | Array | 带坐标纵筋列表,元素包含 point、rebarGrade、diameter |
| pier_list | Array | 墙肢分段列表,元素包含 wcsloc、rebarList、stirup_info_list、lajin_info_list、all_limb_num |
不同构件类型可能只返回其中一部分字段;当前未开放的构件类型不会出现在 object 中。
全部构件类型
在 dataTypeList 中填写“请求参数值”即可查询对应的构件。构件名称与参数值的完整对应关系如下:
| 构件名称 | 请求参数值 | 所属子图框 |
|---|---|---|
| 所有构件 | all | — |
| 轴号 | axisNumber | 轴网子图框 |
| 标注线 | dimInfo | 轴网子图框 |
| 住宅梁 | upBeam | 轴网子图框 |
| 住宅板 | slab | 轴网子图框 |
| 住宅板-板型号+编号 | slab.slabCode | 轴网子图框 |
| 住宅板-板孔洞列表 | slab.slabHole | 轴网子图框 |
| 墙平面 | wallAxis | 轴网子图框 |
| 墙平面-墙柱列表 | wallAxis.qz_list | 轴网子图框 |
| 墙平面-墙身列表 | wallAxis.qs_list | 轴网子图框 |
| 墙身表 | qsTable | 表格子图框 |
| 墙柱表 | qzTable | 表格子图框 |
说明:
构件名中不含
-的为顶层构件(如slab),返回该构件的全部字段(不含下文列出的不暴露字段)。构件名中带
-的为子构件,请求参数值使用点分路径(如slab.slabCode)。子构件只返回被请求的那部分字段,但返回结构仍挂在其所属顶层构件下,例如只请求slab.slabCode时返回:json"slab": [ { "slabCode": { "slabtype": "LB", "slabNum": "1" } } ]同时请求某个顶层构件及其子构件时会自动合并,返回该顶层构件的完整结构。
all表示返回整份子图框数据,等同于省略dataTypeList。上表之外的构件(住宅梁、住宅板、墙身表、墙柱表下的其他子构件,以及地库梁/板/柱、桩、筏板、承台、独立基础、楼梯、详图等)不支持单独查询,传入会返回参数错误;这些子构件的数据仍会随所属顶层构件一并返回。
以下字段不对外暴露,不会出现在返回结果中:住宅梁的
height2(梁高2)、seismicGrade(抗震等级);住宅板的slabElevation(板顶标高)、slabOffset(板位置偏移)、slabCtlCut(悬挑板剖切索引列表);板底部原位钢筋的RebarExtenLen(钢筋伸出长度)、RebarCode。
响应码
| code | 说明 |
|---|---|
| 200 | 请求成功 |
| 500 | 请求失败,包括任务或子图框不存在、任务执行失败、请求参数错误等情况 |
调用流程
- 创建结构构件识别任务并保存
taskId。 - 查询任务状态,等待状态变为
SUCCESS。 - 调用子图框基本信息结果获取接口,取得目标子图框的
subFrameId。 - 调用本接口,按需传入
dataTypeList获取构件结果。
注意事项
taskId和subFrameId均不能为空。subFrameId必须属于指定的结构构件识别任务。dataTypeList中的值建议使用上表中的请求参数值;解析时大小写不敏感,并兼容枚举名(如slab_slabCode)与 proto 原始字段名(如upBeamlist)。- 构件与其所属子图框类型相关,例如轴网类构件需使用
AXIS子图框的subFrameId查询。 - 需要全部构件时,省略
dataTypeList或传入空数组即可。 taskId和subFrameId应按字符串保存,避免长整型标识发生精度丢失。