左半边 发表于 2013-3-12 18:11:09

FME在三维建模中的应用--从DWG到三维模型

原始数据:包含该建筑6层楼的平面图,每层楼的平面图为一个dwg文件,每个dwg文件中墙(wall)、窗户(windows)分层存储。

建模技术路线:读取每个dwg文件,分离每层楼的墙体(wall)和窗户(window),进行拉伸。然后对每层楼还需建立一个屋顶和屋底。然后进行材质贴图。
模版工作流程:1、每个底图的楼层数保存在文件名最末尾的数字中,因此需要暴露feature_base_name属性,同时为了后续分布对墙和窗的图层进行处理,还需要暴露feature_type属性。2、计算每面墙纹理在u/v方向贴纹理的次数3、根据feature_base_name属性提取每个要素所属的楼层数4、将每个要素在Z方向上平移到所在楼层(楼层高度单位50计算)5、将墙体和窗户进行拉伸(Extruder),拉伸的高度为楼层的高度。形成3D的墙和窗户。6、添加墙的纹理图片,根据计算的次数进行贴图7、对窗户添加纹理。8、建立每个楼层的底面和顶面9、输出保存
FME模版截图:   




模型效果:

一共六层楼,我们还可以查看每层楼的效果:


总结:通过FME创建的三维模型,输出保存的时候主要以3D PDF格式为主,其他如3ds、direct X等格式在贴纹理的时候需要考虑面的法线方向,需要沿着法线正向进行纹理贴图,才能正确显示。我在尝试将这个模板生成的三维模型保存为3ds或direct X时,某些面的贴图总是反向,目前还没有找到合适的方法解决这个问题。如果做个这方面研究的朋友,欢迎交流。


页: [1]
查看完整版本: FME在三维建模中的应用--从DWG到三维模型