Twaver的mono-desiner导出的json文件解析
以画的交换机为例,其他大概都差不多。
利用Twaver做出交换机模型如图1所示,其中,每一个端口都是一个单独的对象.具体Twaver操作流程参见网址:http://twaver.servasoft.com/doc 中的操作指南。
将做好的模型导出为json格式的文件。下面将以图一所示的交换机为例对json文件进行简单解析。如图二所示为图一交换机的所导出的json文件的简单结构。


首先,所导出的json文件为一个json对象,里面包含有两个数组为primitives(原始)和assembles(装配) ,primitives(原始)里面又包含了16个对象。请注意,0~16这些数字只是表示画图是的拖入的先后顺序,并不是其OID。每个对象的OID包含在每个对象的内部。例如0只是表示的是整个大的叫交换机体,而从1~16表示的是每个端口对象。
继续展开名字为“0”的对象,如图3所示。对象内各字段具体说明见表一。

表一:
|
对象 |
字段 |
描述 |
|
Id(str) |
表示该对象的id,由Twaver工具自己生成的随机生成,是唯一的 |
|
|
scale(obj) |
x , y , |
表示该对象的比例,默认均为1 |
|
pos(obj) |
x , y , |
表示的是该对象的中心坐标位置,默认均为0 |
|
rot(obj) |
x , y , |
表示该对象旋转的角度 |
|
size(obj) |
x , y , |
表示大小 |
|
className(str) |
表示该对象的对象名,不唯一 |
|
|
ambient(arr) |
(str) |
六个面分别代表六个参数,表示各个面的光照环境 |
|
color(arr) |
(str) |
表示各个面的颜色 |
|
dt(arr) |
(str) |
表示各个面的贴图路径 |
|
Transparent(arr) |
(boolean) |
表示各个面是否是透明的,默认为false |
|
types(arr) |
(str) |
默认为phong |
|
visible(arr) |
(boolean) |
表示是否可视,默认为true。与transparent相反。 |
|
opacity(arr) |
(Num) |
设置一个元素了透明度级别。默认为1. |
|
flipX(arr) |
(boolean) |
表示X轴方向翻转,默认为false. |
|
flipY(arr) |
(boolean) |
表示Y轴方向翻转,默认为false. |
|
specularStrength(arr) |
(str) |
表示镜面强度。默认均为1 |
|
polygonOffset(arr) |
(boolean) |
是否设置多边形偏移参数,默认false |
|
polygonOffsetFactor(arr) |
(str) |
表示多边形偏移因子。需设置polygonOffset为true. |
|
polygonOffsetUnits(arr) |
(str) |
表示多边形偏移量单位。需设置polygonOffset为true. |
|
scaleValue(str) |
刻度值 |
|
|
oid(str) |
自定义的对象id,方便编程使用 |
其他的对象属性基本类似于表一,没有太大变化。
下面介绍assembles(装配)数组中的对象。该数组是指将上一数组中的各个对象组合在一起。如图4所示。

该数组包含一个对象为对象“0”,即上面所提到的交换机机体,可以通过该对象的第一个字段(id)与上一个数组中的id比较来唯一识别。“children”表示装配在该对象上的其他对象,如图5所示。0~16 这些对象都是“0”的children,由图”0”对象的属性“ishost”=true可知,它便是宿主,所有其他的对象要装配在该对象之上;pos表示该对象的位置。而对于非寄主类的对象来说,例如对象“1”则它的属性包括‘id’,‘oid’和‘pos’字段了。其他的对象与都一样。继续说明图4中的字段 “assembleSize”对象表示组合尺寸。
Twaver的mono-desiner导出的json文件解析的更多相关文章
- Elasticsearch集群状态脚本及grafana监控面板导出的json文件
脚本文件: #!/usr/bin/env python import datetime import time import urllib import json import urllib2 imp ...
- grafana日志分析界面及导出的json文件
日志分析面板导出的json文件,效果图如下: 下载地址:http://files.cnblogs.com/files/xiaoming279/%E9%9D%A2%E6%9D%BF.zip 主机面板 主 ...
- Golang Json文件解析为结构体工具-json2go
代码地址如下:http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出到 ...
- PHP JSON文件解析并获取key、value,判断key是否存在
/****************************************************************************** * PHP JSON文件解析并获取key ...
- 【微信】微信小程序 微信开发工具中新创建的json文件,编译报错VM1781:2 pages/module/module.json 文件解析错误 SyntaxError: Unexpected end of JSON input
如果新创建报错:编译报错VM1781:2 pages/module/module.json 文件解析错误 SyntaxError: Unexpected end of JSON input 解决方法 ...
- Json文件解析(下)
Json文件解析(下) 代码地址:https://github.com/nlohmann/json 从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...
- Json文件解析(上)
Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...
- json 文件解析与应用
第一步:首先弄一个 json 文件 我这里成为 config.json 内容如下 { ": { , "desc":"中华人民共和国" }, &qu ...
- json文件解析
场景 读取json文件,读取子域名扫描结果 实现 >>> import json >>> with open("C:\\Users\\Windows32\ ...
随机推荐
- Mysql 之 MERGE 存储引擎
MERGE 存储引擎把一组 MyISAM 数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询.构成一个 MERGE 数据表结构的各成员 MyISAM 数据表必须具有完全一样的表结构.每一个成员 ...
- Linq 综合写法
var queryCount = (from pv in db.Province join pc in (from cc in ((from v in db.ERPStockProdu ...
- TypeScript 运算符
应用场景(待完善) 位运算符 运算符 描述 例子 类似于 结果 十进制 & AND,按位与处理两个长度相同的二进制数,两个相应的二进位都为 1,该位的结果值才为 1,否则为 0. x = 5 ...
- 导入/导出excel和PHPExcel基本使用
* PHPExcel基本使用 * PS:文章如果有误,请及时指出,给予修改 * 项目中导入PHPExcel * 可以去网上下载 github composer 都可以 * 为了方便下载,我将压缩包添加 ...
- 基于Geomesa服务查询轨迹数据无法根据空间和时间范围进行结果查询
一.Geomesa - QuickStart(教程工程包) 百度网盘下载地址:geomesa-tutorials-master.7z 二.解压后,IDEA编译如下 百度网盘下载地址:IDEA201 ...
- PyPI - Datetime
PyPI for Python 3.7 import datetime https://docs.python.org/3.7/library/datetime.html timedelta Obje ...
- python教程(二)·第一个python程序
几乎所有的计算机语言教程,不仅仅是python,都以这样一个相似的示例程序开始讲解--Hello World! 代码如下,简简单单的一行.想必稍微了解英语的读者,都能猜到这段代码功能吧. print( ...
- 用JavaScript动态实现单元格合并
不太想描述,大家自行理解吧,这样可能记忆会深一点儿- <script type="text/javascript"> function mergeCells(){ va ...
- Lambda表达式的语法与如何使用Lambda表达式
Lambda表达式是对象,是一个函数式接口的实例 如何来写Lambda表达式? 看参数 看返回值 代码实例1: package day2; import jdk.nashorn.internal.co ...
- 解决ssh连接中断程序终止的问题——tmux
参考:http://www.cnblogs.com/kevingrace/p/6496899.html ssh连接有时候会异常中断,重连后原本运行的程序会中断,要解决这个问题,我们可以使用Linux终 ...