斯潘8
斯潘4
本教程演示了一个基本的从IFC到CITYGML的翻译,详细程度较低:从IFC lod100到CITYGML lod2。
IFC-LOD2城市.fmw (已完成工作区,无数据)
下载数据(数据可从VectorWorks下载)
1)下载数据
本练习将使用DC Riverside Building Lod 100 IFC文件,开始前请访问Vectorworks网站下载dcr-lod_100.zip文件,该文件可在第1部分:lod-100下找到。
2)读取源IFC
在空白工作区中添加工业基础级步档(IFC)阅读画布并浏览到dc_Riverside_bldg-lod_100.ifc数据集。我们将要阅读ifcspaces几何类型,所以在读卡器参数中,将“读取ifcspace几何图形”设置为“是”。单击“确定”添加读卡器。
IFC读卡器参数;将读取ifcspace几何更改为是
在“选择要素类型”对话框中,仅选择ifcslab和ifcspaces。这是创建简单Lod2实体几何图形所需的两个层。IFCSlab代表楼层和屋顶,ifcspace代表这些楼层之间的空间。
3)创建单个网格
需要将IFC功能合并到表示建筑的单个功能中。添加一个三角测量仪转换到画布并将其连接到ifcslab和ifcspace功能类型。在参数中,确保将聚合处理设置为取消聚合。对于每个展平的组件,此转换器将输入几何体分解为网格。稍后运行此工作区时,某些功能将被拒绝,为了确保工作区继续运行,我们需要设置被拒绝的特性处理。右键单击
现在已经为每个组件创建了网格,我们需要将它们合并在一起,以便可以使用单个网格。添加一个网格合并将变压器连接到画布,并将其连接到三角仪上的t曲面输出端口。这将把59个单独的网格合并为一个单独的网格。
使用三角形和网格合并创建单个网格
4)设置属性和特征
citygml有特定的属性命名标准,以便文件可读。幸运的是,有一个自定义的转换器来创建这些属性。添加一个Citygml几何打印机自定义画布转换器。在参数中,将citygml lod name设置为lod2solid,将feature role设置为cityObjectMember。您可以使用attributeCreator和geometrypropertiestter创建这些属性,但是使用这个自定义转换器可以防止输入错误,因为这些属性值是区分大小写的。
将citygml lod name设置为lod2solid,将feature role设置为cityObjectMember
我们还想创建其他属性,这些属性不需要遵循严格的标准。添加一个属性创建器将变压器连接到画布,并将其连接到Citygml几何分析器。在参数设置中设置以下属性:
要创建的属性 | 属性值 |
城市级细节 | 二 |
GMLYID | GMLY@ UUID() |
GMLY名称 | 直流河滨楼 |
创建城市级细节,gml_id和gml_name属性
5)缩放和设置坐标
IFC模型中没有存储坐标系信息,但有一个建筑的KML文件可用。如果你想探索KML模型,您可以从VectorWorks网站下载。
我们需要按比例缩放模型,因为它当前的单位是毫米。添加一个定标器转换到画布并将其连接到属性创建器。在参数中,设置x的比例因子,YZ到0.001,它将缩放到米。
下一步,添加一个本地协调系统设置程序变换到画布上,设置以下内容:
原点坐标系 | LL84 |
原点X | -76.986560155564575 |
起源Y | 38.87607046921258 |
在localcoordinatesystemsetter中设置原点x和y
最后,将数据重新投影到所需的坐标系中。要做到这一点,添加一个CSmapreprojector(CSmapreprojector)变换到画布上。在参数中,将目标坐标系设置为epsg:2248,然后将垂直处理更改为相对于椭球体或地心的高度。
6)写入citygml
添加一个CITYGML写入画布并将数据集命名为Riverside_lod2city.gml。将功能类型定义设置为“自动”,然后将其连接到csmapreprojector。在“要素类型”参数中,将要素类型名称设置为“建筑”。
运行工作区并检查输出。注:如果你的工作区终止于三角仪,确保在步骤3中将拒绝的功能处理设置为继续。
已完成的工作区
在FME数据检查器中查看的输出citygml
数据属性
河滨建筑示范项目数据Nemetschek VectorWorks公司.
?2019安全亚搏在线软件公司|合法的