span8
span4
这个例子说明了一个更复杂的LOD 200 IFC模型到LOD3 CityGML文档的高级翻译。输出包含滨江大厦的两个LOD2和LOD3表示。
IFC-LOD3City.fmw(没有数据已完成的工作区)
下载LOD_100数据(数据可以从的Vectorworks下载)
下载LOD_200数据(数据可以从的Vectorworks下载)
1)下载数据
这次演习将使用DC滨江大厦LOD 100 IFC文件以及直流滨江大厦ARCH 200 IFC文件。在开始之前,请下载LOD_100数据和该LOD_200数据来自的Vectorworks网站。
2)读取源
在该示例中,读取器的Revit用于读取的LOD 200 IFC数据。这种方法的优点是,它提供的是组装,并暴露出建筑元素的属性读者选择“以多层次的建筑构件”。由REVIT读取器提取出的几何形状可以然后更容易地被写入到像表示的GIS诸如CityGML文档。
添加欧特克Revit中读者一个空白工作区并浏览到DC_Riverside_Bldg-ARCH-LOD_200.ifc数据集。在参数保证的Revit数据视图设置为建筑构件与层次。
AutoDesk公司的Revit阅读器参数
对于要素类阅读选择BuildingColumnStair,BuildingElementProxy,门,会员,开放,大板,StairFlight,墙壁和窗户。你应该有画布九个要素类型。
3)由组特征CityGML类型
重要的是要知道哪些构建IFC模型的元件或层通过的所述CityGML文档的特定特征类型来表示。有时,一个CityGML功能类型对应一个以上的建筑元素。在这种情况下,它们通过共同的ID合并,使它们可被路由到相同的特征类型在一起。由于IFC数据元素的ID无效GML标识,为每个功能创建新的GML的ID。此外,每一个特征得到与它可以与其父,建筑特征类型的GML ID稍后加入,一个属性。
添加AttributeCreator变压器画布,并将其连接到两个StairFlight和BuildingElementProxy。在参数方面,追加_BldgInstallations到变压器名称。然后创建一个新的属性称为FEATURE_TYPE并给它BuildingInstallation的价值。创建第二个属性称为PARENT_NAME并给它dc_riverside_building的价值。最后,创建第三个属性,叫做_uuid并给它gml_ @ UUID的值()
创建使用AttributeCreator三个新属性
复制AttributeCreator并将其连接到两个BuildingColumn和会员。在参数附加_BldgParts到变压器名称和更改FEATURE_TYPE来BuildingPart值。
复制AttributeCreator三次,并设置它们如下:
连接到功能类型 | 追加变压器名称 | FEATURE_TYPE价值 | |
AttributeCreator_3 | 墙壁 | _Walls | 壁 |
AttributeCreator_4 | 板 | _FloorRoof | Floor_Roof |
AttributeCreator_5 | 门窗 | _Openings | Windows_Doors |
开幕功能类型将现在仍然悬空。
AttributeCreator参数和连接每个特征类型
4)水平,建立一个坐标系
该模型是目前以毫米为单位,将需要扩大规模至数米。添加定标器变压器到画布和连接所有的 the AttributeCreators.In the parameters set X, Y, and Z to 0.001.
该re is no coordinate system information stored in the IFC.该LocalCoordinateSystemSettertransformer still allows us to tag all features with an auto-generated local reference system (AZMEA).添加 LocalCoordinateSystemSetter to the canvas and connect it to the Scaler.In the parameters, set the following:
坐标系原点 | LL84 |
原点X | -76.986560155564575 |
原点Y | 38.876070469421258 |
原产X和Y LocalCoordinateSystemSetter参数
Finally, the coordinate system to will need to be changed.添加CsmapReprojectortransformer to the canvas and connect it to the LocalCoordinateSystemSetter.In the parameters set the Destination Coordinate System to EPSG:2248 and set the Vertical Handling to Heights are relative to the ellipsoid(s) or geocentric.
5)创建构建功能型
该 hierarchy of an IFC model is often more complex than the hierarchy of the CityGML document.In this example, the CityGML model is assembled in a simplified way that all building elements are children of the building feature type, except for the openings.
添加行业基础类STEP文件(IFC)Reader to the canvas and browse to the DC_Riverside_Bldg-LOD_100.ifc dataset.In the parameters change the Read IfcSpace Geometries to Yes.In the Select Feature Types dialog select only IfcSpace and IfcSlab.
IFC阅读器参数;改变阅读IfcSpace几何形状,以有
Next, a single mesh will need to be created.添加三角仪transformer to the canvas and connect it to both IfcSpace and IfcSlab.In the parameters, ensure that Aggregate Handling is set to Deaggregate.该n add aMeshMergertransformer to the canvas and connect it to the TINSurface output port on the Triangulator.
在三角仪来IfcSlab和IfcSpace,在该MeshMerger连接到TINSurface输出端口
6)创建CityGML属性。
该re is no need to create every single CityGML feature type.All feature type schemas can be imported from the CityGML_feature_types.xml file which can be found in the XML folder of a Safe FME installation.To create a CityGML document it is important to set valid geometry, feature roles, and a level of detail for every feature.该 geometry role has to be set as a trait on the geometry.This trait is used by the CityGML writer to create the correct and valid geometry for the feature.该 feature roles and levels of detail are set as attributes.
添加CityGMLGeometrySettertransformer to the canvas and connect it to the MeshMerger.This is a custom transformer that creates the CityGML Feature Role and Level of Detail attributes, which follow a strict naming convention.Using the transformer prevents case sensitive typos.In the parameters, set the CityGML Lod Name to lod2Solid and then set the Feature Role to cityObjectMember.
Next, add an AttributeCreator to the canvas and connect it to the CityGMLGeometrySetter.In the parameters, create the following attributes:
属性名称 | 属性值 |
citygml_level_of_detail | 2 |
gml_id | gml_ @ UUID() |
gml_name | dc_riverside_building |
7)收件构建出CityGML
你好ghlight and duplicate the Scaler, LocalCoordinateSystemSetter and the CsmapReprojector transformers.Connect the Scaler_2 to the AttributeCreator connected to the IfcSpace and IfcSlab workflow.
添加CityGMLwriter to the canvas and browse to a folder to save, name the file riverside_lod3.gml.该 default parameters are ok but set the Feature Type Definition to Automatic.Next, in the Feature Type window, change the Feature Type Name to Building.Connect it to the CsmapReprojector_2.
亚搏在线工作流来创建一个CityGML大厦
8)父母gml_id加入
Next, join the building elements with the building, add aFeatureMergertransformer to the canvas.Connect the CsmapReprojector from the Building Elements workflow to the Requestor input port and then connect to AttributeCreator from the IfcSpace and IfcSlab workflow to the Supplier input port.
加入来自读者的Re亚搏在线vit和IFC读者工作流的FeatureMerger
In the parameters, set the Join On Requestor to parent_name and then the Supplier to gml_name.Set the Attribute Accumulation Mode to Prefix Supplier and add the Prefix suppl_.
FeatureMerger参数;加入对PARENT_NAME和gml_name,并且前缀设置为suppl_
9)保存和创建属性
该re are a bunch of attributes that were read in that are not needed.添加保留指定transformer to the canvas and connect it to the Merged output port on the FeatureMerger, then select only the following attributes to keep:
保留指定的参数
添加 AttributeCreator to the canvas and connect it to the AttributeKeeper.In the parameters set the following:
属性名称 | 属性值 |
citygml_level_of_detail | 3 |
gml_id | _uuid |
gml_parent_id | suppl_gml_id |
10)过滤的属性
Now that all the features have received the appropriate CityGML attributes, they need to be styled according to their type.Separate out the Feature Types using theAttributeFiltertransformer.添加 AttributeFilter transformer to the canvas and connect it to the AttributeKeeper.In the parameters, set the Attribute to Filter by to feature_type.该n for Possible Attribute Values type in the following:
AttributeFilter参数以分离出部分
11)建筑安装及建筑构件
该 specification for building installations and building parts are different depending on their selected geometry and feature roles.It is crucial to know which roles are valid for certain feature types, to write a valid CityGML document.Building installations is an example of one of the least restrictive geometry roles in CityGML.An arbitrary GML geometry can represent the lod3Geometry whereas building parts are limited to lod3Solid, lod3Multisurface, lod3Multicurve, and lod3TerrainIntersection.For an IFC to CityGML translation, lod3Mulitsurface might be the safest choice, because some features might not build valid solid geometries if lod3Solid is used.
CityGMLGeometrySetter添加到画布和康涅狄格州ect it to the BuildingInstallation output port on the AttributeFilter.In the parameters set the CityGML Lod Name to lod3Geometry and set the Feature Role to outerBuildingInstallation.
Next, add anApperanceSettertransformer to the canvas and connect its Geometry Input port to the CityGMLGeometrySetter_2.In the parameters, expand Color Parameters and set the Appearance Name to Installation, set the Diffuse color to 0.317647,0.317647,0.317647 and then set the Alpha to 1.
AppearanceSetter参数,设定的外观名称,漫反射颜色和Alpha。
添加 writer feature type and name it BuildingInstallation, connect it to the Output port on the AppearanceSetter.
Duplicate the CityGMLGeometrySetter, AppeareanceSetter and Writer Feature Type.Connect the duplicates to the Building Part output port on the AttributeFilter.
In the CityGMLGeometrySetter_3 change the CityGML Lod Name to lod3MultiSurface and the Feature Role to consistsOfBuildingPart.In the AppearanceSetter_2 change the Appearance Name to Part and the Diffuse Color to black.Finally, rename the Writer Feature Type to BuildingPart.
BuildingPart和建筑安装业的工作流程亚搏在线
12)的屋顶,墙壁,地板和
添加other CityGMLGeometrySetter to the canvas;this time connect it to the Floor_Roof, and Wall output ports on the AttributeFilter.In the parameters, set the CityGML Lod Name to lod3MultiSurface and the Feature Role to boundedBy.
Next split the features into their parts, add aTestFiltertransformer to the canvas.In the parameters set the first IF test condition to Name Contains ROOF OR Pset_SlabCommon.IsExternal = Yes then set the Output Port to Roof
Set the Else If to Name Contains Wall and the Output Port to Wall
Set the Else Output Port to Floor
TestFilter参数创建输出端口,屋顶,墙和地板
Next, add an AppearanceSetter and connect the Geometry input port to the Roof output port on the TestFilter.In the parameters set the Appearance Name to Roof, the Diffuse Color to Red and the Alpha to 1.添加other Writer Feature Type and name it RoofSurface and connect it to the Output port on the AppearenceSetter.
Duplicate the AppearenceSetter and the Writer Feature Type and connect it to the Wall output port on the TestFilter.In the AppearanceSetter parameters change the Appearance Name to Wall and the color to a light yellow.Rename the Writer Feature Type to WallSurface.
Duplicate the AppearenceSetter and the Writer Feature Type once more and connect it to the Floor output port.In the AppearanceSetter parameters change the Appearance Name to Floor and the color to brown.Rename the Writer Feature Type to FloorSurface.
亚搏在线工作流的屋顶,墙壁和地板CityGML功能
13)保留层次
该 opening layer of the IFC model can supply every door and window with an element ID of the wall it belongs to.To transform this two-levelled hierarchy to the hierarchy we need in CityGML, two joins are required.
该 first join is joining the Opening Feature Type that was added earlier with the Wall.添加 FeatureMerger to the canvas and connect the Wall output port from the AttributeFilter to the Supplier input port.该n connect the Opening Feature Type to the Requestor input port.Set the Join On Requestor to element_parent_id and the Supplier to element_id.该n set the Attribute Accumulation Mode to Prefix Supplier and add the Prefix suppl_wall_.
添加other FeatureMerger to the canvas and connect the Windows_Doors output port on the AttributeFilter to the Requestor input port then connect the Merged output port of the previous FeatureMerger to the Supplier input port.Set the Join On Requestor to element_parent_id and the Supplier to element_id.该n set the Attribute Accumulation Mode to Prefix Supplier and add the Prefix suppl_.
保留了开口层次的工作流程亚搏在线
14)门窗
该 final step in creating the window and door features is to set the CityGML attributes and apply an appearance.添加 AttributeCreator and connect it to the Merged output port.In the parameters set the following:
属性名称 | 属性值 |
citygml_lod_name | lod3MultiSurface |
citygml_level_of_detail | 3 |
citygml_feature_role | 开盘 |
gml_id | _uuid |
gml_parent_id | suppl_suppl_wall_uuid |
该n connect a GeometryPropertySetter to the AttributeCreator.In the parameters set the Source Attributes to citygml_lod_name.
Separate out of the windows and doors, do this by adding a测试仪transformer to the workspace and connect it to the Set output port on the GeometryPropertySetter.Set the test to Name = Window.
添加 AppearanceSetter to the canvas and connect it to the Passed output port on the Tester, this will set the appearance for the windows.In the parameters, set the Appearance Name to Window and set the Diffuse Color to a light blue.To achieve a transparent glass-like effect for the window’s appearance set the Alpha to 0.2 and the Shininess to 1.
添加other Writer Feature Type and name it Window and connect it to the Output port on the AppearenceSetter.
添加other AppearanceSetter and connect it to the Failed output port on the Tester, this will set the appearance for the doors.In the parameters, set the Appearance Name to Door, the Diffuse color to light brown and Alpha to 1.
添加other Writer Feature Type and name it Door and connect it to the Output port on the AppearanceSetter.
整个工作区完成
15)检查和验证CityGML文件
运行工作区之前,请务必拒绝处理功能被设定为继续翻译,然后运行该工作区。
输出CityGML文件中的FME数据检查观察
打开在数据查验所产生的CityGML文件允许用户检查缺失的几何形状或错误出现。该XMLValidator变压器可用于验证一个CityGML文档。连接到XMLValidator造物主变压器开始验证。在XMLValidator参数,所述CityGML文件被选择作为输入,并且被选择用于模式验证适当的模式文件。对于CityGML 1.0用途:
如果发现错误或几何下降写入CityGML的时候,你也可以使用GeometryValidator变压器检查输出上有二维和三维几何图形错误写入功能之前。甚至有修复选项,虽然这些应谨慎使用,结果证明,因为任何修理总是有引入新的错误的机会。
数据归属
滨江大厦演示项目数据所生产NEMETSCHEK的Vectorworks。
©2020安全亚搏在线软件公司|法律