🌓
搜索
 找回密码
 立即注册

BIM学习心得21—解析IFC文件之前如何获取IFC信息?

admin 2020-4-10 19:04:18 68814
上一期我们用Python3在ifcopenshell外部包的协助下,成功获取了一个IFC文件所有构件的类信息。但是,同时我们也发现一个问题,就是我们看不到这个IFC文件中的任何信息,甚至这个IFC文件的几何模型。今天我们就要介绍三种方法,来获取IFC文件的信息,也就是获取IFC文件中的属性名及其对应的属性值。这三种方法分别是直接解析IFC文件,使用BIMversion软件查看模型,通过官方文档获取信息。

准备材料:notepad++软件,BIMversion软件。



方法一:直接解析IFC文件



使用Revit导出一个IFC文件,然后使用notepad++打开该文件。

我们就不展开仔细讲IFC元素是什么了,在之前更新的“IFC(Industry Foundation Classes)学习笔记一”https://zhuanlan.zhihu.com/p/94434790有讲解。

直接打开IFC文件是有一点冒险的,很容易看不懂。下图中圈出来的是一个墙元素及其所有的属性,但是可以看出来,把大写字母翻译过来还是很容易看懂表达的是什么,细品一下,此外,导出的IFC文件如果包含中文,就会出现看不懂的Unicode编码过的中文。

如果你是从Revit导出的IFC文件,可以从Revit元素倒推IFC文件中的元素。比如,我在Revit找到一个墙元素,在管理面板下找到这个墙元素的ID,再在IFC文件中查找这个ID,就可以找到了,这样也方便元素属性及其对应属性值的理解。



方法二:使用BIMversion软件打开IFC文件



BIMversion是一个查看IFC文件的软件,也就是IFC文件的解析器,打开过后可以轻易的查看到IFC文件中有哪些属性及其对应的属性值,我们也可以方便的获取需要的属性。

同时,如果是Revit导出的IFC文件,我们可以对同一个元素的属性进行对比是否一致,比如在Revit中的这个墙元素的构件ID是“406120”,导出到IFC文件过后的ID还是“406120”,不过由于IFC文件的格式和.rvt格式是不同的,同一个属性值,可能用不同的属性名进行表达,但是完全不妨碍我们对这些属性值的理解。



方法三:查看官方文档



官网解析,最为仔细,下面内容将引起一些朋友的不适。官方文档链接:http://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/IFCsharedbldgelements/IFCsharedbldgelements.htm#entities

官方文档把所有的IFC中的元素都放在这里了。


这里我们以门为例,下图是官网给出的IfcDoor的定义方式(坚持看英文,翻译出来不太好理解)

说道IfcDoor由IfcPropertySet和附的IfcRelDefinesByProperties组成,几何表示由IfcProductDefinitionShape表示,而IfcProductDefinitionShape由IfcShapeRepresentation表示,再而IfcShapeRepresentation由IfcMappedItem表示,关于门也还有很多,就不一一介绍了,感兴趣可以将官方文档和IFC文件对照着看。再看一个IFC文件,基本上就是官方文档这一页所有的解释了。


总  结

这期文章的意义在于选择合适的方式,帮助我们直观获取IFC文件中构件的信息,甚至能理解语义的朋友可以获取语义信息,为我们在接下来解析IFC文件提供方向。目前来看第三种方式是最扎实的,第一种方式可能存在理解困难的问题,第二种方式最为简单直观。我们在得知有哪些信息可以提取的基础上,才能有目的、有意识的去提取这些信息。

 


欢迎加入QQ群:427981585,进群交流。

微信公众号【BIM技术应用交流】回复“21”获取本期资料(注意:和以前回复方式略微有点变化,去掉了“学习心得”几个字,一般都是对应多少期回复哪个数字)。

知乎专栏【BIM学习心得】,获取更多脑洞应用。


 


扫一扫

101719.jpg
随机推荐

最新主题

0 回复

高级模式
游客
返回顶部