# Json 文件格式 ::: details 目录 [[toc]] ::: ## 整体数据格式 ``` json5 { data:[ { elements:{ // 系统图展示所需数据 nodes:[], // 图例节点,所有与对象实例相关的图例(图标类型与区域) markers:[], // 与对象实例的标识对象(增加文本注释,图上的图片说明) relations:[], // 管线对象 }, id: '', // 图编号 graphId:'', // 图 id name: '', // 名称 categoryID: '', // 图分类 id projectID: '', // 项目 id buildingID: '', // 建筑 id floorID: '', // 楼层 id note: '', // 图说明 label: '', // 图标签 pic: '', // 图快照 log: { // 图操作日志 mark:'', // 图的存盘标记 commandList:[ { command: '', // 命令 desc: '', // 描述 detail: '' // 详情 } ] } } ], message: '', result: '' } ``` ## 图例节点 ``` json5 nodes:[ { id: '', // 图编号 graphId: '', // 图 id nodeId: '', // node 节点本身 id name: '', // 名称 attachObjectIds:[], // 返回物理世界对象 id 列表 graphElementId: '', // 对应的图元 id type: '', // 节点类型(image / zone) pos: {x: 0, y: 0}, // 位置 scale: {x: 1, y: 1, Z: 1}, // 缩放 rotate: {x: 0, y: 0, Z: 0}, // 旋转 size: {width:0, height: 0}, // 大小 anchorList:[ { id: '', // 锚点 id pos: {x: 0, y: 0}, // 锚点的坐标 }, ... ], outline: [ [{x:0,y:0,z:0},...], // 外轮廓 ... // 内轮廓 ], // 轮廓线 properties: {}, // 由应用自己定义 style: { // 绘图样式 default: {} // 默认状态样式 } }, ... ] ``` ## 标识对象 ``` json5 markers:[ { id: '', // 图编号 graphId: '', // 图 id markerId: '', // marker 本身 id name: '', // 名称 type: '', // 图标(Image),线类型(Line),文本(Text) pos: {x: 0, y: 0}, // 位置 scale: {x: 1, y: 1, z: 1}, // 缩放 rotate: {x: 0, y: 0, z: 0}, // 旋转 size: {width: 0, height: 0}, // 大小 properties: {}, // 由应用自己定义 style: { // 绘图样式 default: {} // 默认状态样式 }, }, ... ] ``` ## 对象关系 ``` json5 relations: [ { id: '', // 图编号 graphId: '', // 图 id relationId: '', // relation 本身 id name: '', // 名称 graphElementId: '', // 对应的图元ID node1Id: '', // 关联节点1_id node2Id: '', // 关联节点2_id anchor1Id: '', // 关联锚点1_id anchor2Id: '', // 关联锚点2_id dir: 0, // 方向(0:无向,1:节点1到节点2,2:节点2到节点1) lineType: '', // 直线(Line),水平垂直 properties: {}, // 由应用自己定义 style: { // 绘图样式 outline: [{x:0,y:0,z:0},...], // 折线数据 default: {} // 默认状态样式 } }, ... ] ```