天天看點

TE二次開發:TerraExplorer Pro自帶管線生成

最近,有不少詢問如何生成Skyline三維地下管線的問題,對于一些簡單的工程,完全可以使用TerraExplorer Pro自帶管線生成工具,在這裡把前邊的一篇公衆号文章整理一下。

TE中預設自帶管線生成的一個工具,此工具可以根據矢量線資料生成管線,也可以根據自己畫的線,生成管線資料。

這個工具在TE的程式目錄中放置,是通過網頁實作的,使用時彈出嵌入到TE的左下方,路徑位址是:Skyline\TerraExplorer Pro\Tools\CreatePipeLine,裡邊包含網頁、圖檔等素材,還有幾個管線的dae模型和連接配接處dae模型,供工具中模型選擇。

(dae格式的模型,貼圖和主檔案是分開放置的,可做成xpl2進行使用)

TE二次開發:TerraExplorer Pro自帶管線生成
TE二次開發:TerraExplorer Pro自帶管線生成

使用開發工具或者文本工具,可以檢視管線工具中的源碼,分析在TE中實作管線生成的原理如下:

       1、在TE的工具中,管線是以模型的形式顯示,而模型是隻有一個點設定位置的,是以要把管線所表達的線,轉換成點的模式。

        2、分析傳入的管線線資料,兩個點一段線進行計算,管線一般都是埋在地下的,起點和終點都有一定的高程值,而且要把高程值轉換成絕對高度。

currCoord.ChangeAltitudeType(AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE);        nextCoord.ChangeAltitudeType(AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE);

       3、模型可以設定yaw、pitch、roll(一般用不到)屬性,且模型可以在某一個方向進行拉伸,計算起點到終點的指向,沿着模型拉伸,即可把模型顯示成一條管線的形式。 

//計算指向

 currCoord = currCoord.AimTo(nextCoord);

//計算管線長度

 var SegmentLength = currCoord.DistanceTo(nextCoord);

        4、使用TE的建立shp的方法,可以生成一個模型圖層,設定圖層的關鍵屬性,就可以顯示模型的形式。

        5、管線的接頭處是通過設定一個比管徑大的小模型,在管線的起點和終點處,即可顯示模型被接頭套住的效果。

TE二次開發:TerraExplorer Pro自帶管線生成