以画的交换机为例,其他大概都差不多。

利用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 ,
z (str)

表示该对象的比例,默认均为1

pos(obj)

x , y ,
z(str)

表示的是该对象的中心坐标位置,默认均为0

rot(obj)

x , y ,
z(str)

表示该对象旋转的角度

size(obj)

x , y ,
z(str)

表示大小

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文件解析的更多相关文章

  1. Elasticsearch集群状态脚本及grafana监控面板导出的json文件

    脚本文件: #!/usr/bin/env python import datetime import time import urllib import json import urllib2 imp ...

  2. grafana日志分析界面及导出的json文件

    日志分析面板导出的json文件,效果图如下: 下载地址:http://files.cnblogs.com/files/xiaoming279/%E9%9D%A2%E6%9D%BF.zip 主机面板 主 ...

  3. Golang Json文件解析为结构体工具-json2go

    代码地址如下:http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出到 ...

  4. PHP JSON文件解析并获取key、value,判断key是否存在

    /****************************************************************************** * PHP JSON文件解析并获取key ...

  5. 【微信】微信小程序 微信开发工具中新创建的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 解决方法 ...

  6. Json文件解析(下)

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json   从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...

  7. Json文件解析(上)

    Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...

  8. json 文件解析与应用

    第一步:首先弄一个 json 文件   我这里成为 config.json 内容如下 { ": { , "desc":"中华人民共和国" }, &qu ...

  9. json文件解析

    场景 读取json文件,读取子域名扫描结果 实现 >>> import json >>> with open("C:\\Users\\Windows32\ ...

随机推荐

  1. JS中new运算符的实现原理

    当我们用new运算符new一个构造函数产生一个实例时,比如说: var obj = new Func 时,其背后的步骤是这样的: 1:创建一个继承自 Func.prototype 的新对象:2:执行构 ...

  2. 竞赛题解 - Palisection(CF-17E)

    Palisection(CF-17E) - 竞赛题解 Manacher学到一定程度,也需要练一下有趣的题了-- (这是多老的题了 \(QwQ\))[传送门] 『题意』 给出一个字符串,求总共有多少对不 ...

  3. 免安装版MySQL8数据库的安装

    [环境准备] PC版本:Windows10企业版.64位操作系统 数据库:MySQL8.0.12-win64.zip免安装版 [彻底卸载已安装的MySQL数据库] 由于系统中MySQL数据库的卸载不彻 ...

  4. 关于gitbash一直报:sh: __git_ps1: command not found的解决办法

    curl -o ~/.git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-pro ...

  5. SQL Server公用表达式CET递归查询所有上级数据

    with cte as( select bianma,fjbm from #tree where chkDisabled='true' union all select t.bianma,t.fjbm ...

  6. ubuntu14.04安装qt-4.8.4

    题记:因为工作中用到qt的qmake工具生成x项目的Makefile文件,因为原有工程用的是4.8.4版本的,因此在此基础之上安装此版本. 用安装包工具进行安装qt不能直接安装到4.8.4版本的,因此 ...

  7. Spring Security学习笔记(一)

    认证和权限控制 AuthenticationManager是认证的主要接口,它只有一个authenticate方法,可以做3件事情. 返回一个认证信息(Authentication),表示认证成功 抛 ...

  8. JS 时间格式化,模拟PHP date,时间格式化封装函数

    Date.prototype.Format = function (fmt) { var o = { "Y": this.getFullYear(), "m": ...

  9. Java-谈谈对Java平台的理解

    问题 谈谈对 Java 平台的理解 Java是解释执行的 这句话对么 程序的编译与解释有什么区别 Java 平台的了解 Java的主要特点是两个, 编写一次到处运行 Write once, run a ...

  10. 使用ABAP CDS视图创建服务

    介绍本文介绍使用ABAP Core Data Services创建OData服务的最快方法. 给出了有关@ OData.publish注释利用率,对数据源CDS实体的引用和从DDIC结构导入的详细信息 ...