以畫的交換機爲例,其餘大概都差很少。編程
利用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」對象表示組合尺寸。