BIM运维,一个很重要的方向就是工程量。
怎么读取工程量?
1)软件本身读取:即所见即所得,需要依靠软件本身的计算功能,在Revit分析里有个明细表的功能。
2)通过插件以及自制功能来获得扣减后的工程量。
今天就顺带讲一下第一个功能,重点讲第二个功能怎么实现。这里我比较熟一点的是sql server数据库,所以就用这个数据库,其实也可以用免费的mysql数据库。读取的话,C#语言劳心劳力,所以这里用Python语言来解决(大部分人反馈,有点编程基础的,这语言三天掌握,没有基础的也只需要一周)。
首先,这里用的是系统自带的工程样例,并读取其中门的数据明细表:
接下来就用我们的数据库来读取明细表。
那么问题来了,怎样读取明细表会更快?是直接从项目里读取更快还是通过数据库读取更快?其实我也没试过,囧!!!反正通过项目来读取,我需要写一堆代码,而且这代码还卖不出去,所以最方便的做法是直接读取数据库。(如果模型项目已经完工,这样做是最好不过了)
步骤:
1)将Revit的数据导入到SQL SERVER
一步步操作下来,最后这个项目的数据库就导入到了sql server中。
然后,我们来分析一下门的数据库:其中门这个数据库里包含门类型id,门类型里又包含了门类型和门名称。所以要得到上述程序生成的表格,我门需要整合这两个数据即可。
到了最后一步,用Python来读取sql server数据库。python读取数据库还是很方便的,这里就以上面为例,演示一下具体操作过程。这里要引用pymssql标准库,这个库主要是为了读取sql server的,然后再引用一下pandas库,用这个库主要是为了结果能够更标准的显示。
这就是最后的一个结果,至于怎么去求和,这个就是数据库里的知识,也很简单,这里就没必要讲。
虽然内容不多,但是跨度还是比较大的,revit、数据库、python、pandas都需要有所了解。
评论前必须登录!
注册