1、对整个二维管线创建3m的缓冲区(Buffer),具体参数配置如下图所示:
2、将创建好的【缓冲区图层】放到data文件夹下并导入到CityEngine中:
3、依次对每段管线添加折点信息。管段起点和终点的Y值,分别对应属性信息的起点管道中心高程(st_mz)和终点管道中心高程(end_mz):
4、给所有对象分配规则文件,规则文件需要自己编辑:
// pipArea(横向)
/**
* File: pipArea.cga
* Created: 5 Feb 2020 08:53:09 GMT
* Author: Administrator
*/
version "2018.0"
@Group("Pip",1)
attr diameter=3.024
@Group("Pip",2)
attr link=0.5
Pipes -->
Pipes(diameter)
Pipes(diameter) -->
Pipe(diameter)Flow(diameter)
Pipe(diameter) -->
s(scope.sx+link,diameter,diameter)
i("primitives/cylinder.hor.obj")
color("#000000")
center(xyz)
Flow(diameter) -->
t(0.1,diameter*0.1,diameter*0.1)
s(scope.sx+link,diameter*0.8,diameter*0.8)
i("primitives/cylinder.hor.obj")
color("#6495ED")
center(xyz)
# PipeHolderLeft(diameter) -->
# t(-diameter*0.6,-diameter*0.1,-diameter*0.1)
# s(diameter*1.2,diameter*1.2,diameter*1.2)
# primitiveCube
# color("#708090")
# center(xyz)
// pipArea(竖向)
/**
* File: pipArea.cga
* Created: 5 Feb 2020 08:53:09 GMT
* Author: Administrator
*/
version "2018.0"
@Group("Pip",1)
attr diameter=3.024
@Group("Pip",2)
attr link=0.5
Pipes -->
Pipes(diameter)
Pipes(diameter) -->
alignScopeToGeometry(yUp, 1)
Pipe(diameter)Flow(diameter)
Pipe(diameter) -->
s(scope.sx+link,diameter,diameter)
i("primitives/cylinder.hor.obj")
color("#000000")
center(xyz)
Flow(diameter) -->
t(0.1,diameter*0.1,diameter*0.1)
s(scope.sx+link,diameter*0.8,diameter*0.8)
i("primitives/cylinder.hor.obj")
color("#6495ED")
center(xyz)
# PipeHolderLeft(diameter) -->
# t(-diameter*0.6,-diameter*0.1,-diameter*0.1)
# s(diameter*1.2,diameter*1.2,diameter*1.2)
# primitiveCube
# color("#708090")
# center(xyz)
5、依次修改每段管线的直径,对应属性信息的直径:
6、通过调整管道的缩进来解决管道转折处的空隙问题:
7、检查并生成模型。
8、导出GDB格式的模型,并在arcgis中查看效果: