天天看点

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自带管线生成