cityengine2012教程5导入原始图形

更新时间:2024-04-20 08:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

cityengine2012 教程5 : 导入原始图形

教程5 : 导入原始图形 目录:

Part 1:从shape或者GDB导入图形(shape) Part 2:从OBJ导入图形(shape) Part 3:导入容量

Part 4:导入地标作为图形(shape)

Part 1:从shape或者GDB导入图形(shape)

导入shapefile文件到cityengine

? ? ? ?

新建一个场景文件

在数据导航窗口找到‘data’ /shp_footprints/目录下的‘footprints.shp’文件 把这个数据拖入到视窗中

导入数据但不设置投影(使用‘Raw data in meters’) 对象属性:

?

数据的属性伴随着文件被导入

选择单一的图块,在右边查看对象属性(‘Object Attributes’)

指定规则文件并更新模型

现在我们将生成简单的半成品模型在输入的图形上。规则文件‘extrude.cga’用来定义拉伸对象的高度属性到定义的高度。

打开规则文件,你就发现以下代码:

l

在视窗中选择所有的shape图形

? ?

通过拖拽指定规则 查看建筑物的更新状态

? 或者通过打开场景‘footprints_from_shp.cej’来查看结果。

从geodatabase(GDB)导入数据

从GDB导入数据和从shapefile导入数据是相似的:

? ? ? ? ? ?

新建一个场景文件File > New ... > CityEngine > CityEngine scene,在数据导航窗口,定位到数据文件夹data中的 ‘footprints.gdb’ 文件。 注意GDB数据是作为一个文件夹存在的 把 ‘footprints.gdb’ 文件拖拽到视窗中 在弹出的窗口中,选择要导入的图层(layer)

在导入过程中,将会让你选择场景投影。它会根据GDB文件自带的信息来给出投影信息。 点击完成,导入数据。

提供的数据集Geodatabase与之前的Shapefile内容相同。你现在可以应用与上述Shapefile相同的步骤。

用其他CGA属性导入带有Z值的多段线

? ? ?

新建场景文件:’File > New ... > CityEngine > CityEngine scene’ 在数据导航窗口找到‘data/sphereCity_shp/’目录下的sphereCity.shp’

把它拖拽到视窗中,‘sphereCity.shp’ 文件没有投影文件(.prj),因此cityengine需要用户来定义坐标系;下一个窗口选择场景投影;

? ?

两个使用同一个投影,即‘Raw Data in meters’,通过使用相同的投影,数据就不会被从新投影。

新的图层(‘Shapes sphereCity’)将会出现在窗口中。

因为这个图层有Z值属性,所以在3D视窗中,他的效果是这样的:

属性:

在这个数据集中有两个特殊的属性被定义: 1) 属性 ‘ruleFile’ 2) 属性 ‘startRule’

?

这种特殊的语法在你的GIS数据建立的时候就被定义了,而不是在导入后才被指定的,这样一来,可以省去手动改写他们的时间,这是一种特殊的导入方式。

在GIS软件中打开他的属性表应该是这样的:

? ? ?

在球面上选择一个图块

它的属性就会显示在Inspector窗口中

Rule File 和 Start rule在导入时已经被自动赋予了

随着Rule File 和 Start rule已经被指定,我们可以直接更新模型了

? ?

选择球面上所有的shape 更新(generate)模型

让我们来选择单一的一个shape来改面他的规则文件:

? ? ?

在窗口中选择一个模型(model)

Inspector窗口中,rule file后面点击select。

在set Start Rule 窗口中选择‘Commercial’作为新的规则,点击ok,结果如下:

Part 2 从OBJ导入shapefile

OBJ导入

? ? ? ?

新建一个场景文件:File > New... > CityEngine > CityEngine scene 定位到‘data/obj/’目录下的‘pompeii_footprints.obj’ 文件 右击文件,选择导入

OBJ导入窗口中,不要勾选‘Import as static model’,点击finish,结果如下。

指定规则文件并更新模型

在输入的图形上,我们将会做一些简单的拉伸,规则文件‘extrude.cga’用来定义拉伸对象的高度(height)属性到定义的高度。

? ? ? ?

选择所有的图形

在文件导航窗口,定位到规则文件夹中的‘extrude.cga’ 拖拽到图形上

规则文件将会把模型拉伸到10的高度

Shapes 和Static Models对比

OBJ和Collada(交互3D数字资产交换方案)DEA(3D模型)文件可以被导入成shape或者Static Models。

Shape:它是CGA产生的基础,最好的证明就是footprint data Static Models:导入后可以被定义尺寸,旋转和翻译,但是不能使用CGA进行进一步处理,典型的例子就是地标模型。

如果你想看最后的结果,可以打开场景文件’footprints_from_obj.cej’ 来查看。

Part 3 导入卷

把卷作为图形导入 在一些情况下,在其他应用中模拟卷会比在cityengine中简单,这个教程就是要告诉我们一个原始的建筑物模型是怎么模拟三维,可以被导入cityengine中,并且他的墙壁是怎么通过CGA规则定义的。

注意:一个类似的工作流程可以呗应用于多种数据形式,如:shp,gdb,DAE(collsda),但是OBJ数据不可以。 导入

下图中的3D建筑物模型是用传统方法建立的,并且被导出成OBJ文件

Cityengine中导入OBJ文件

? ? ? ?

新建一个场景文件:File > New... > CityEngine > CityEngine scene 定位到‘data/obj/’目录下的‘Building_1.obj’ 文件 右击文件,选择import

OBJ导入窗口中,不要勾选‘Import as static model’,点击finish,结果如下。

一个新的图层 ‘Building_1’被添加进来,并且数据显示在三维模式下。 编写规则文件

这个叫做‘Building_1’的建筑物已经被定义了一个名叫‘Building’的start rule。因此我们需要将‘Building’规则文件变成start rule。我们需要使模型的坐标系统与Y轴的系统对齐。这个可以通过CGA命令alignScopeToAxes()实现。然后我们就可以通过分割的不同部分来识别不同的面,我们使用顶视图来查看房顶面,我们这一步所要做的就是,改变房顶颜色使我们能够更好的识别它。 Building -->

alignScopeToAxes(y)

comp(f){top : color(\

? ? ?

选择场景中的图形

在文件导航窗口,rule目录下找到‘importedVolume_01_markFaces.cga’ 规则文件。 把它拖拽到模型上,更新(generate),更新后,你看到的应该是这个效果。

其中红色为屋顶,灰色是墙壁,我们能够更好的来分辨它。

一旦各个面能够被正确识别,我们就可以继续进行规则设置了。尽管这些面是在cityengine之外创建,他们的方向不一定是我们需要他们为我们的规则操作。对于表面建模,我们需要CGA的alignScopeToGeometry(zUp, auto)语法来创建。通过这个操作,表面图形的视野将会和最低的边界一致。这将确保我们所有表面面向相同范围。 Facade -->

alignScopeToGeometry(zUp, auto)

split(y){3.5 : Groundfloor | {~3 : Floor}* }

规则文件‘importedVolume_02_facades.cga’包含了我们将要做的事情,请在语法帮助的情况下,查看该规则文件中的代码,尝试理解。 制定这个规则文件,更新来查看结果。

或者你可以打开场景‘volume_from_obj.cej’ ,来查看最终的结果。

Part 4:导入地标文件

在这个案例中,你有一个数据集,它已经被提前建模,并且赋予纹理,你也可以把它导入到你的场景中。

注意:支持的格式是Wavefront .obj, Collada .dae, .kml and .kmz.(后两个格式有地理参考坐标)

导入dae文件

? ? ?

新建场景

定位到数据: ‘data/dae/’目录下的‘building_0.dae’

右击,import 不选择统计模型(Import as static model),点击完成。

转换Static Models到shape 在这个案例中吗,你导入了Static Models数据,并且你可以继续使用CGA继续变成操作,你可以将他们转换成shape。

右击这个模型,然后选’Convert Models to Shapes’ 已经被赋予CGA语法的也可以转换数据格式

应用CGA规则一旦被需要,shape文件可以长久使用CGA规则

? ?

制定规则文件‘landmark.cga’ 更新模型

有4中类型供你选择

你也可以打开场景文件来查看最终结果,‘landmark_as_shape.cej’。

本文来源:https://www.bwwdw.com/article/q7vp.html

Top