🌓
搜索
 找回密码
 立即注册

BIM学习心得7—怎样利用数据库中的BIM模型通过Python创建明细表

admin 2020-4-10 19:04:18 89742
书接上两回,第5期讲到了怎样将BIM模型储存到MySQL数据库,第6期讲到了通过Python,利用MySQL中的BIM模型数据实现了批量的墙底标高检查。
每个学习过revit的BIMer应该都了解revit中的明细表功能,但是明细表中可能有很多信息不是我们需要的,并且明细表需要一个一个导出,导出的格式也不是Excel,虽说这些困难都可以克服,但是使用今天的方法总的来说可以让这些步骤简化很多。今天的主题是通过Python,使用数据库中的BIM模型数据创建excel文件格式的明细表。

准备材料:同上期

总体思路

总体思路是,使用Python遍历数据库,找到我们需要创建的明细表表单,一个表单也就是一类构件,再获取表单里面需要提取的属性,最后按构件类使用创建Excel文件。

步骤一:确定需创建的明细表

这期就以墙为例,为什么呢?因为简单,其他的明细表也是一样的做法。然后确定要导出构件名称,三者略有不同,做到时候再说。

我们假设"ID","族","类型名称","面积","体积","长度","结构用途","底部约束","顶部约束","无连接高度"是我们需要的属性。


步骤二:获取属性

通过创建方法,先获取墙的“面积,体积,长度,结构用途,底部约束,顶部约束,无连接高度”的属性,储存在变量res里面。


再获取"ID","族","类型名称",因为这个的墙的类型是名称在数据库里面是用的ID来表达的,但是我们想要得到墙的实际的“类型名称”,好在还有一张表单【墙类型】记录了墙的类型ID对应的类型名称,我们用以下代码来获取"ID","族","类型名称"这三个值,并和之前的属性进行拼接,最后存在ListData这个变量里面。

步骤三:创建Excel明细表

创建一个函数,将数据写入到相对路径下的Excel中,这里不用再目录下新建一个Excel,程序识别到没有这个Excel文件时会自动创建一个。



步骤四:执行函数

调用创建的方法,将程序运行起来。


打开Excel看一下,是我们想要的样子,完美。


总结

对于一些朋友来讲,这种方式可能并不实用,完全可以在revit里面导出自己想要的明细表,因为revit文件本身就是一个数据库,可以拿出自己想要的数据。其实折腾这么大一圈,又是导数据库,又是写代码的,主要是给大家建立一个信息化的概念,就是BIM不止于revit,信息化也不止于revit,多重信息化方式的混合,才是建筑信息化的道路,但是目前不管是行业还是市场,需要这样的思维,希望能够在接下的一期一期的交流中,能够帮助每位对建筑信息化有兴趣朋友,建立更加健康和全面的建筑信息化观点。
关注知乎专栏【BIM学习心得】,获取本第一时间更新,微信公众号后台回复“学习心得7”获取本期材料和成果。

图:凉拌谢耳朵

文:凉拌谢耳朵

排版:凉拌谢耳朵


扫一扫

101733.jpg
随机推荐

最新主题

0 回复

高级模式
游客
返回顶部