Json转换实体接口
# 1 初始化 dwg 图纸接口
简要描述
- json 转换成实体时,转换操作需要指定图纸,当前接口会创建空白图纸,并返回图纸的文档 ID
请求 URL
/api/jsonToEntity/initDwg
请求方式
- GET
参数 无
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": {
"docId": "123596989658965",
"name": "123596989658965.dwg"
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
docId | long | 文档 ID,图纸唯一标识,用于发起 json 转 dwg 请求、查询转换状态和下载 dwg 文件等接口 |
name | string | 图纸名 |
备注
# 2 Json 转 Dwg 实体接口(异步)
注:此接口只适用于少量json数据(只能处理实体)的场景,大量json数据推荐使用上传json文件(支持实体、块、文字样式等等)的方式。[7 Json转dwg上传Json文件(异步)](open/private/1.4.4#7) |
简要描述
- 将 json 转换成实体,包含点、线、面、标注等等。 此为异步接口,返回结果仅仅表示添加转换请求的结果,不代表转换结果,转换是否成功,需要调用查询转换状态接口判断
请求 URL
/api/jsonToEntity/transfer
请求方式
- POST
请求示例
{
"docId": 123456789,
"entityList": [
{
"color": 0,
"endPoint": [
295979.4581032925,
-179939.30513912775,
0.0
],
"entityHandle": 869036,
"layer": "原有设备",
"lineType": "BYLAYER",
"lineTypeScale": 1.0,
"lineweight": -1,
"material": "ByLayer",
"plotType": 0,
"startPoint": [
295609.45810329649,
-179939.30513912775,
0.0
],
"thickness": 0.0,
"transparency": 0,
"type": "ZcDbLine"
}
],
"blockList": [
[
{
"blockName": "_ARCHTICK"
},
{
"color": 0,
"constWidth": 0.15,
"entityHandle": 236328,
"isClosed": false,
"layer": "0",
"lineType": "BYBLOCK",
"lineTypeScale": 100.0,
"lineweight": -1,
"material": "ByLayer",
"plotType": 0,
"points": [
[
-0.5,
-0.5
],
[
0.5,
0.5
]
],
"transparency": 0,
"type": "ZcDbPolyline"
}
]
]
}
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
docId | 是 | long | 文档 ID,用于指定被操作的目标图纸 |
entityList | 是 | List | 实体数据列表,参见具体的实体数据定义 |
blockList | 是 | List | 块数据列表,参见具体的块数据定义 |
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": null
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0:表示成功,其他失败 |
msg | string | 消息 |
data | object | 响应数据 |
备注
# 3 查询实体转换状态接口
简要描述
- 发起多个实体转化请求后,用来查询图纸中的实体是否全部转换完成
请求 URL
/api/jsonToEntity/transferStatus
请求方式
- GET
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
docId | 是 | string | 文档 ID |
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": {
"transferStatus": 2,
"jsonStatus": 2,
"type": 1
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码 |
msg | string | 消息 |
data | object | 响应体 |
transferStatus | int | json、geojson 或者 shp 文件转 dwg 转换状态,0:待转换,1:转换中,2:转换成功,3:转换失败(部分实体失败或者全部实体失败) |
jsonStatus | int | dwg 转 json、geo 或者 shp 转换状态,0:待转换,1:转换中,2:转换成功,3:转换失败 |
type | int | 转换类型(只针对 jsonStatus 生效),1:dwg 转 json,2:dwg 转 geojson,3:dwg 转 shp |
备注
# 4 下载转换完成的 DWG 图纸接口
简要描述
- 下载转换完成的图纸,和查询转换状态接口配合,等待全部实体转换完成后调用此接口下载图纸。
请求 URL
/api/jsonToEntity/downloadDwg
请求方式
- GET
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
docId | 是 | long | 文档 ID |
返回参数说明
返回图纸文件二进制流
备注
# 5 下载转换完成的 Json 文件接口
简要描述
- 下载转换完成的 Json 文件,和查询转换状态接口配合,等待 dwg 图纸转换完成后调用此接口下载 Json 文件。
请求 URL
/api/jsonToEntity/downloadJson
请求方式
- GET
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
docId | 是 | long | 文档 ID |
返回参数说明
返回 Json 文件二进制流
备注
# 6 Dwg 转 Json 上传图纸接口(异步)
简要描述
- 该接口用于上传 Dwg 图纸,图纸上传完成后立即返回结果。后台内部异步进行 dwg 转 Json 的处理,上传完成后,需要搭配查询转换状态接口判断 Json 是否转换完成。
请求 URL
/api/jsonToEntity/uploadDwg
请求方式
- Body Form-Data
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
file | 是 | 文件二进制流 | dwg 图纸文件 |
normalized | 否 | bool | 是否处理 json 文件中的特殊符号,默认为 false(不处理) |
layerName | 否 | String | 图层筛选条件,格式为 json 数组字符串,如:["图层一","图层二"] |
entityType | 否 | String | 实体筛选条件,格式为 json 数组字符串,如:["ZcDbBlockReference"] |
withBlockExtents | 否 | bool | 可选参数,是否携带块的包围盒消息 |
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": {
"docId": "12345678948"
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0:表示成功,其他失败 |
msg | string | 消息 |
data | object | 响应数据 |
docId | string | 图纸的唯一标识,用于查询转换状态和下载 Json 文件 |
备注
# 7 Json 转 dwg 上传 Json(异步)
简要描述
- 该接口用于上传 Json 并转换成 dwg,上传完成后立即返回结果。后台内部异步进行 json 转 dwg 的处理,转换完成后,需要搭配查询转换状态接口判断是否转换完成。
请求 URL
/api/jsonToEntity/uploadJson
请求方式
- Body Form-Data
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
file | 是 | 文件二进制流 | json 文件 |
docId | 是 | string | dwg 图纸的文档 ID,另存为的场合为模板图纸的文档 id |
saveAs | 否 | bool | 是否另存为新的图纸 id ,true 表示另存为,false 或者不传表示直接基于参数中的 docId 生成 |
isReturnHandle | 否 | bool | 是否返回生成的实体句柄;其为 true 时,通过查询接口可拿到生成的实体句柄 |
请求示例
file: example.json
docId: 123456789,
saveAs: true
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": {
"docId": "12345678948"
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0:表示成功,其他失败 |
msg | string | 消息 |
data | object | 响应数据 |
docId | string | 图纸的唯一标识,用于查询转换状态和下载文件 |
备注
# 8 通过 Json 编辑 Dwg
简要描述
- 通过 json 数据更新 dwg
请求 URL
/api/jsonToEntity/editDwg
请求方式
- POST
请求示例
{
"docId": 123456789,
"editEntityList":
[
{
"color": 9,
"entityHandle": 563, //必填项,实体句柄,其它均为可选项
"lineTypeScale": 2.0,
"lineweight": 53,
"startPoint":
[
300,
600,
0.0
],
"endPoint":
[
500,
600,
0.0
],
"thickness": 20,
"transparency": -1
},
{
"entityHandle": 564, //必填项,实体句柄,其它均为可选项
"bDelete":true //可通过该字段确定是否删除对应实体
}
]
}
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
docId | 是 | long | 文档 ID,用于指定被操作的目标图纸 |
editEntityList | 是 | List | 编辑实体数据列表,参见具体的编辑实体数据定义 |
说明:编辑实体列表中传入需要修改的实体句柄以及属性对应的字段
如果需要修改指定实体的颜色,则传入的 json 为:
{
"docId": 123456789,
"editEntityList":
[
{
"color": 9,
"entityHandle": 563
},
{
"color": [100,200,10],
"entityHandle": 561
}
]
}
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
entityHandle | 是 | int | 实体句柄,用于编辑对应实体 |
color | 否 | List/int | 支持输入颜色索引或真彩色 RGB 值 |
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": null
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0:表示成功,其他失败 |
msg | string | 消息 |
data | object | 响应数据 |
备注
# 9 通过 docId 指定要转换的 DWG
简要描述
- 已经上传的文档,可以通过 docId 进行转换,例如 dwg 转 json、dwg 转 geojson、dwg 转 shp
请求 URL
/api/jsonToEntity/transferByDocId
请求方式
- GET
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
docId | 是 | Long | dwg 文档 ID |
transferType | 否 | int | 转换类型, 1 表示 dwg 转 json;2 表示 dwg 转 geo json;3 表示 dwg 转 shp;不传默认为 1 |
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": {
"docId": "12345678948",
"transferStatus": 2,
"jsonStatus": 1,
"type": 1
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0:表示成功,其他失败 |
msg | string | 消息 |
data | object | 响应数据 |
data.docId | string | 图纸的唯一标识,用于查询转换状态和下载 Json 文件 |
data.transferStatus | int | json 转 dwg 时的转换状态,0 表示待转换;1 表示转换中;2 表示转换完成;3 表示转换失败 |
data.jsonStatus | int | dwg 转 json 时的转换状态,0 表示待转换;1 表示转换中;2 表示转换完成;3 表示转换失败 |
data.type | int | dwg 转换类型,1 表示 dwg 转 json;2 表示 dwg 转 geo json;3 表示 dwg 转 shp |
备注
# 10 初始化图纸模板
简要描述
- 上传指定模板图纸
请求 URL
/api/jsonToEntity/initDwgTemplate
请求方式
- POST
参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
file | 是 | file | 模板文件 |
请求示例
file: template.dwg
返回示例*
{
"code": 0,
"msg": "操作成功",
"data": {
"docId": "12344556667"
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,0:表示成功,其他失败 |
msg | string | 消息 |
data | object | 响应数据 |
docId | string | 模板图纸 id |
备注