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

备注