以画的交换机为例,其余大概都差很少。编程
利用Twaver作出交换机模型如图1所示,其中,每个端口都是一个单独的对象.具体Twaver操做流程参见网址:http://twaver.servasoft.com/doc 中的操做指南。json
将作好的模型导出为json格式的文件。下面将以图一所示的交换机为例对json文件进行简单解析。如图二所示为图一交换机的所导出的json文件的简单结构。数组
首先,所导出的json文件为一个json对象,里面包含有两个数组为primitives(原始)和assembles(装配) ,primitives(原始)里面又包含了16个对象。请注意,0~16这些数字只是表示画图是的拖入的前后顺序,并非其OID。每一个对象的OID包含在每一个对象的内部。例如0只是表示的是整个大的叫交换机体,而从1~16表示的是每一个端口对象。工具
继续展开名字为“0”的对象,如图3所示。对象内各字段具体说明见表一。spa
表一:对象
对象blog |
字段ip |
描述ci |
|
Id(str)get |
表示该对象的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”对象表示组合尺寸。