span8
span4
IFC和CityGML都有层次结构的数据结构。然而,IFC的结构更加复杂,并且包含CityGML中不需要的中间特性。例如,IFC的门是开口的子,开口是墙壁的子,而CityGML的门是墙壁的子。
同样,这些特性的分组也有些不同。例如,部分窗户和楼梯包含在IFC成员特性中,在转换为CityGML时必须添加到它们的父特性中。
这个例子展示了如何从一个高细节的IFC模型转换为一个细节级别(LOD)为4的CityGML。该工作区足够全面,可以处理大多数体系结构IFC数据集。
IFC-LOD4City.fmw(没有数据已完成的工作区)
下载数据(数据可以从的Vectorworks下载)
由于这个工作区的复杂性,本教程是一个高级概述。有关参数细节,请打开工作区。提出了关键参数。
本工作区使用DC滨江大厦lod300 IFC文件,开始前请访问的Vectorworks网站下载DCR-LOD_300.zip文件,该文件可以在第3部分:rod -300中找到。
DC_Riverside_Bldg_LOD_300。国际金融公司从Solibri模型查看器
IFC特性包含到父特性的链接,但是为了删除不需要的中间特性(比如开头),我们还需要到父特性的链接。为此,我们使用两个独立的行业基础类STEP(IFC)读者。第一个读取器读取所有IFC特性,并将特性和父id的查找表作为变量填充,还将父类型的查找表填充。因为第一个阅读器不使用IFC几何图形,所以运行速度很快。FME按顺序运行它的读取器,以便该读取器完成,并且在第二个读取器启动之前将完全填充查找表。
创建父/子查找表
第二个IFC阅读器用于数据转换。该建筑是一个简单的转换,删除任何几何形状使用GeometryRemover变压器,然后AttributeRenamer将ifc_unique_id设置为gml_id。
一个简单的转换从建筑物中删除几何
所有转换都需要将几何图形从复杂的IFC实体转换为可写入CityGML的多曲面,因此创建了一个名为ConvertGeometry的自定义转换器来快速复制这个过程。
在ConvertGeometry自定义转换器中,IFC实体几何与属性集用a分隔GeometryPartExtractor变压器,然后转换成表面与一个GeometryCoercer变压器。然后,为了使多层次的几何结构扁平化,它被分解使用解聚合变压器和设置模式,以扁平化所有。然后几何重新聚集到使用MultiSurfaces聚合设置为几何模式变压 - 组装一个级别和GeometryRefiner变压器。
ConvertGeometry自定义工作流变压器亚搏在线
几乎所有的功能都有自己的父链接设置为IFC大厦的故事,而不是建筑,所以我们需要移一个链接来创建CityGML父链接的建设,使用存储在变量的查找表。由于这将在整个工作区重复,创建另一个叫GetGrandParentID定制变压器。
一种BinaryEncoder变压器用于与属性进行编码创建的用户参数。然后,VariableRetriever变压被添加到设置_gparent_id。最后,_gparent_id被解码,并且对于目标属性使用创建的另一个用户参数BinaryDecoder变压器。
GetGrandParentID自定义工作流变压器亚搏在线
之前写出来CityGML,一对夫妇的属性总是需要遵循严格的命名规则进行设置。一种CityGMLGeometrySetter定制变压器已经建立,以防止数据录入错误,并可以在FME中心被发现。该变压器设置CityGML罗德名称和功能作用。
如果有的话简单的转换只需要最少的过滤写出到CityGML之前。主要工作流程去如下亚搏在线:
1)读入数据IFC
2)ConvertGeometry
3)设置gml_id
4)GetGrandparentID
5)CityGMLGeometrySetter
6)写出来CityGML
实施例简单的转换,转换IfcSpace到CityGML间
CityGML BuildingInstallation和WallSurface功能是由许多IFC特征类型,以及一些国际金融中心功能可能是两者的一部分。IFC成员,StairFlights,平板,和栏杆被组合到楼梯,然后将其写为BuildingInstallations,具有柱和梁沿。其他成员组合成CurtainWalls,这是写出来WallsSurfaces,因为是IFC拥有沃尔和WallStandardCase。
这些分离和组合可需要父类型,并从由所述第一读取器IFC创建的变量祖父母ID的若干查找。
输出CityGML文件中查看FZK查看器
数据归属
所生产滨江大厦演示项目数据NEMETSCHEK的Vectorworks。
©2019安全亚搏在线软件公司法律