最近,有不少詢問如何生成Skyline三維地下管線的問題,對于一些簡單的工程,完全可以使用TerraExplorer Pro自帶管線生成工具,在這裡把前邊的一篇公衆号文章整理一下。
TE中預設自帶管線生成的一個工具,此工具可以根據矢量線資料生成管線,也可以根據自己畫的線,生成管線資料。
這個工具在TE的程式目錄中放置,是通過網頁實作的,使用時彈出嵌入到TE的左下方,路徑位址是:Skyline\TerraExplorer Pro\Tools\CreatePipeLine,裡邊包含網頁、圖檔等素材,還有幾個管線的dae模型和連接配接處dae模型,供工具中模型選擇。
(dae格式的模型,貼圖和主檔案是分開放置的,可做成xpl2進行使用)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CNwAjMxMWNyETZzYmZhJzMzYzX3IDMxYTM3IzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
使用開發工具或者文本工具,可以檢視管線工具中的源碼,分析在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、管線的接頭處是通過設定一個比管徑大的小模型,在管線的起點和終點處,即可顯示模型被接頭套住的效果。