纳金网
标题:
CityEngine生成不等间距桥墩
[打印本页]
作者:
ZackD
时间:
2014-1-17 23:04
标题:
CityEngine生成不等间距桥墩
在CityEngine中建立高架桥时自动生成的桥墩属于几乎等距的桥墩,对于不等距的桥墩该如何处理?另外,等距桥墩会有产生很多问题,比如:桥墩会压盖在下方路面上。
解决思路:获取桥墩点位数据,之后使用模型替换方法将点数据替换为桥墩。
解决方法:
1、 首先是模型的准备,可以使用3DMax或者其他建模软件来建立桥墩的三维模型。并将做好的模型文件(obj)拷贝到工程文件夹assets下。
2014-1-17 22:58 上传
下载附件
(1.94 KB)
2、 模型替换的方法主要是使用i方法在点位置处插入桥墩模型,但插入模型之后需要对模型进行一定的旋转,因为模型与路面可能不是垂直的,需要计算一个桥墩的旋转角度,使用该角度对桥墩进行旋转变换使其断面与道路方向垂直,该角度使用ArcGIS ArcToolBox中的Near工具获取。
2014-1-17 22:58 上传
下载附件
(7.29 KB)
2014-1-17 22:58 上传
下载附件
(62.34 KB)
Input Feature:桥墩点位数据
Near Freature: 道路中心线数据
Angle:计算结果包含角度
计算完成之后会在点图层中增加一个字段NEAR_ANGLE来记录这个角度。
2014-1-17 22:58 上传
下载附件
(5.31 KB)
在使用NEAR计算角度的过程中应注意的是点不能够落在线上,应该有极小的一点偏离,否则无法计算。
3、 将计算的角度数据通过Join的方式挂接到原始的点位数据属性表中,然后将原始的点位数据重新导出保存一次,生成最终的带有旋转角度数据的点图层文件。
4、 将点和路面数据加载到CityEngine中
2014-1-17 22:58 上传
下载附件
(6.31 KB)
5、 生成规则,如下:
attr height=0//从属性表获取值
attr NEAR_ANGLE = 0//从属性表获取值
lot-->i("Bridge_Pire.obj")
r(0,NEAR_ANGLE+90,0)
s(5,height,20)
t(0,-scope.sy-0.5,0)
center(xz)
mirrorScope(false,true,false)
结果如图:
2014-1-17 22:58 上传
下载附件
(9.29 KB)
作者:
烟雨
时间:
2014-1-18 01:29
貌似很强大的东西
作者:
艾西格亚
时间:
2014-1-18 02:58
不错的介绍,谢谢
作者:
HIDEOKOJIMA
时间:
2014-1-18 10:47
感谢分享!
作者:
may
时间:
2014-1-18 14:49
不错的介绍啊
作者:
刀锋狼
时间:
2014-1-18 16:57
CityEngine很偏向地理数据的功能啊,貌似max这里用的很少
欢迎光临 纳金网 (http://wwww.narkii.com/club/)
Powered by Discuz! X2.5