掌桥专利:专业的专利平台
掌桥专利
首页

基于Revit软件的电力工程数字化模型算量统计方法

文献发布时间:2024-04-18 20:01:55


基于Revit软件的电力工程数字化模型算量统计方法

技术领域

本发明涉及计算机辅助设计技术领域,特别涉及基于Revit软件的电力工程数字化模型算量统计方法。

背景技术

在输变电行业,随着三维数字化设计的不断推进,技经造价人员需要对各阶段不同精度的模型进行工程计价工作,输变电工程三维设计迫切需要造价领域更新计量方式,而目前的三维成本预算软件都需要造价人员二次建模,无法利用设计人员交付的原生模型直接进行工程计价工作;若在交付模型的原生平台上进行工程算量计价的软件开发,就可以保证设计信息的最大保真程度,并以此方法节约人力的投入,避免转换平台带来的成本问题,最大化设计软件中原生模型的使用价值,实现工程量计算精确高效,提高工程量清单、招标控制价、施工图预算、竣工结算编制及审核精度;

因此,如何从设计成果中灵活快速决定算零统计范围和自定义算量计算方法,解决该领域的从设计成果到算量工作之间的数据贯通问题并积累该领域的规则库,成为本领域技术人员亟需解决的技术问题。

发明内容

有鉴于现有技术的上述缺陷,本发明提供基于Revit软件的电力工程数字化模型算量统计方法,实现的目的是在设计软件上精确利用交付模型确定需算量计价的构件几何信息和耗材,附带施工或者施工特殊工法导致的材料,并且灵活快速决定算零统计范围和自定义算量计算方法,解决该领域的从设计成果到算量工作之间的数据贯通问题并积累该领域的规则库。

为实现上述目的,本发明公开了基于Revit软件的电力工程数字化模型算量统计方法,用于计算变电站土建土建工程的算量任务;其特征在于:

所有所述算量任务均被汇总在综合清单中;

每一所述算量任务包括一个或以上筛选配置文件路径,该路径指向单独存储的json格式筛选配置文件

每一所述算量任务包括计算方式文本,计算方式文本为纯粹的字符串;

每一所述json格式的筛选配置文件内均包括多段筛选条件文本;

每一所述筛选条件文本内均存有最少一个筛选条件;

每一所述筛选条件为四种模式的一项:文档过滤、类别过滤、名称过滤、自定义过滤;文档过滤模式的条件不可省略,且必须为首个条件;

每一所述筛选条件均带有逻辑判别字标记,仅首个条件的逻辑判别字标记不起效,其余条件的逻辑判别字标记都有作用;

每一所述逻辑判别字标记均为和、或以及非,采用字符串and、字符串or、和字符串not表达;

每一个所述算量任务的执行过程均包括如下步骤:

步骤1、在与所述算量任务相关的所述变电站土建土建工程的Revit工程文件中提取所需的图元形成图元集合,作为需要算量的构件;

步骤2、将所述图元集合中所有所述图元分成两类;

所述图元算量所需数据可从自身的尺寸和特性性质获取的图元则归为无需推算图元,为第一类图元,否则为需要推算图元,为第二类图元;

步骤3、计算第一类的所述图元;

步骤4、采用集成算法计算第二类的所述图元;

步骤5、参照推算;针对管沟土方和井池一类构件采用挖填方推算方法计算;对于井池容积采用净空推算;

重复执行步骤1至5,在完成所述综合清单表格中的所有所述算量任务后,然后导出Excel表文档。

优选的,步骤1具体如下:

步骤1.1、从所述综合清单中获得需要进行处理的所述算量任务的所有所述筛选条件文本的所述存储路径,并读取所有所述筛选条件文本获得所有筛选条件;

从所有所述筛选条件中获得每一为所述文档过滤的所述筛选条件,并获得相应的关键字字符串,将所述关键字字符串作为相应的文档关键字;

步骤1.2、根据每一所述文档关键字分别进行筛选,筛选过程具体如下:

对与所述算量任务相关的所述Revit工程文件使用软件API提供的FilteredElementCollector类中的WherePasses方法获得所有链接文件列表;

从所述链接文件列表中找出文件名含有所述文档关键字的所有链接文件的名称,以及相应的存储路径,将所有所述链接文件的名称,以及相应的所述存储路径分别作为两种互相对应的字符串形成合规连接文件列表;

在所述合规连接文件列表中加入与所述算量任务相关的所述Revit工程文件;

遍历已经加入与所述算量任务相关的所述Revit工程文件的所述合规连接文件列表中的所有文件,使用软件API软件提供的FilteredElementCollector类中的WherePasses方法获得所有所述文件中的所有所述图元;

步骤1.3、若任一所述算量任务的所述文档过滤包括两个以上所述筛选条件,则将相应的每次筛选后获得所有所述图元分别单独作为一组,再将每一组所述图元根据相应的所述筛选条件的所述逻辑符号进行操作,最终获得符合所有为所述文档过滤的所述筛选条件的所述图元集合。

更优选的,步骤1.3具体如下:

步骤1.3.1、根据所述算量任务的所述文档过滤的所述筛选条件将经过依次筛选后获得所有所述图元分别分成多个组;

步骤1.3.2、构件一个空的所述图元集合,通过所述图元集合继承第一组的所有所述图元;若继承第一组的所有所述图元的所述图元集合未获得任何所述图元,则所述图元集合为空集;

步骤1.3.3、查看下一组的所有所述图元所对应的下一个所述筛选条件的所述逻辑标记;

若为“或”则将下一组的所有所述图元直接加入所述图元集合;

若为“和”则将下一组的所有所述图元与所述图元相同做逻辑交运算后,将剩余的所述图元保留;

若所述图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从所述图元集合中删除下一组的所有所述图元所包含的所述图元;

步骤1.3.4、重复执行步骤1.3.3直至处理完所有组的所述图元,得到最后的所述图元集合。

更优选的,每一所述筛选条件文本内均存有最少两个筛选条件;其中一个所述筛选条件为文档过滤,另一个所述筛选条件为类别过滤;每一所述类别过滤的所述筛选条件均带有所述逻辑标记,所述类别过滤的具体过程如下:

步骤1.3.A4、从所有所述筛选条件中获得每一为所述类别过滤的所述筛选条件,并获得相应的关键字字符串,将所述关键字字符串作为相应的类别关键字;若无所述类别关键字,则不执行所述类别过滤;

步骤1.3.A5、根据与所述算量任务相关的所述Revit工程文件中每一所述图元的Category.Name属性,获得每一所述图元的类别名;

步骤1.3.A6、将所述类别名与每一所述类别关键字相同的所有所述图元找出,并根据不同的所述类别关键字分成多个组;

步骤1.3.A7、查看每一组的所有所述图元所对应的所述筛选条件的所述逻辑标记;

若为“或”则将相应组的所有所述图元直接加入所述图元集合;

若为“和”则将相应组的所有所述图元与所述图元相同做逻辑交运算后,将剩余的所述图元保留;

若所述图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从所述图元集合中删除相应组的所有所述图元所包含的所述图元;

步骤1.3.A8、重复执行步骤步骤1.3.A7直至处理完所有组的所述图元,得到最后的所述图元集合。

更优选的,每一所述筛选条件文本内均存有最少两个筛选条件;其中一个所述筛选条件为文档过滤,另一个所述筛选条件为名称过滤;每一所述名称过滤的所述筛选条件均带有所述逻辑标记,所述名称过滤的具体过程如下:

步骤1.3.B4、从所有所述筛选条件中获得每一为所述名称过滤的所述筛选条件,并获得相应的关键字字符串,将所述关键字字符串作为相应的名称关键字;若无所述名称关键字,则不执行所述名称过滤;

步骤1.3.B5、根据与所述算量任务相关的所述Revit工程文件中每一所述图元的Category.Name属性,获得每一所述图元的图元信息;

步骤1.3.B6、将所述图元信息与每一所述名称关键字相同的所有所述图元找出,并根据不同的所述名称关键字分成多个组;

步骤1.3.B7、查看每一组的所有所述图元所对应的所述筛选条件的所述逻辑标记;

若为“或”则将相应组的所有所述图元直接加入所述图元集合;

若为“和”则将相应组的所有所述图元与所述图元相同做逻辑交运算后,将剩余的所述图元保留;

若所述图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从所述图元集合中删除相应组的所有所述图元所包含的所述图元;

步骤1.3.B8、重复执行步骤步骤1.3.B7直至处理完所有组的所述图元,得到最后的所述图元集合。

更优选的,每一所述筛选条件文本内均存有最少两个筛选条件;其中一个所述筛选条件为文档过滤,另一个所述筛选条件为自定义过滤;每一所述自定义过滤的所述筛选条件均带有所述逻辑标记,所述名称过滤的具体过程如下:

步骤1.3.C4、从所有所述筛选条件中获得每一为所述自定义过滤的所述筛选条件,并获得相应的关键字字符串,将所述关键字字符串作为相应的自定义关键字;若无所述自定义关键字,则不执行所述自定义过滤;

每一所述自定义关键字均为包括名称字符串和运算符号的条件;

步骤1.3.C5、利用软件API提供的LookupParameter查找与所述算量任务相关的所述Revit工程文件中每一符合所述条件所述图元,并根据不同的所述条件分成多个组;

步骤1.3.C6、查看每一组的所有所述图元所对应的所述筛选条件的所述逻辑标记;

若为“或”则将相应组的所有所述图元直接加入所述图元集合;

若为“和”则将相应组的所有所述图元与所述图元相同做逻辑交运算后,将剩余的所述图元保留;

若所述图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从所述图元集合中删除相应组的所有所述图元所包含的所述图元;

步骤1.3.C7、重复执行步骤步骤1.3.C6直至处理完所有组的所述图元,得到最后的所述图元集合。

优选的,步骤3具体如下:

步骤3.1、采用软件API提供的LookupParameter从第一类的所述图元的属性中查找到所有与中括号包含的中文字符串对应的属性值数据,并代入相应的所述公式中,与所述算量任务对应的所述计算方式文本中以字符串“计算:”开头的公式均转化为纯数字和计算符号组成的公式;

步骤3.2、使用.NET表达式计算库直接计算被转化为纯数字和计算符号组成的数学表达式,并得到结果数值。

优选的,其特征在于:

步骤4.1、针对所述第二类所述图元,利用软件API提供的BoudingBox类获得图元的外包络几何体,称为第二类图元在空间直角坐标系中的包络盒,用以代表该图元的几何形状和几何尺寸;

所述包络盒以空间长方体的最大和最小的两个对角坐标C1(X1,Y1,Z1),C2(X2,Y2,Z2)表达;

步骤4.2、利用所述包络盒角点两个角点坐标计算获得前侧面面积和后侧面面积C

C={C1(X1,Y1,Z1),C2(X2,Y2,Z2)};

W=|X2-X1|;L=|Y2-Y1|;H=|Z2-Z1|;

C

C

步骤4.3、将上述包络和的各项数据根据算量任务的特性,分别与相应的指定系数相乘可获得需要计算出的构件体积、侧面积、底面积,该指定系数人为确定。

更优选的,步骤5中,挖填方推算具体如下:

针对管沟土方和井池一类构件的挖填方计算,以寻找得到的构件作为计算参照,重复步骤4的集成算法获得包络盒,根据地面高程,并查询土方设计手册获得工作面宽度、放坡系数、概算以及预算计算公式,然后依据筏板的体积带入概算、预算公式推算挖方,填方则利用挖方直接减去图元构件体积得到;

该挖填方计算的特征在于,体积为C

C={C(X1,Y1,Z1),C2(X2,Y2,Z2)}

C

V

V

更优选的,步骤5中,净空推算具体如下:

重复步骤4集成算法获得包络盒,根据侧面和底部壁厚,将包络盒长宽高减去相应两倍壁厚得到新的长宽高后计算体积,得到结果;

净空计算的特征在于,包络盒角点坐标集合为C,人为设定内部前后左右上下六个面的壁厚集合为T,净空体积为V,公式如下:

C={C(X1,Y1,Z1),C2(X2,Y2,Z2)};

W=|X2-X1|;L=|Y2-Y1|;H=|Z2-Z1|;

T={T

V=(W-T

本发明的有益效果:

本发明实现了基于Revit设计软件环境的工程算量,精确利用交付模型确定需算量计价的构件几何信息和耗材,附带施工或者施工特殊工法导致的材料,并且灵活快速决定算零统计范围和自定义算量计算方法,解决该领域的从设计成果到算量工作之间的数据贯通问题并积累该领域的规则库。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1示出本发明一实施例的总体流程图。

图2示出本发明一实施例中筛选流程图。

图3示出本发明一实施例中计算流程图。

具体实施方式

实施例1

如图1所示,基于Revit软件的电力工程数字化模型算量统计方法,用于计算变电站土建土建工程的算量任务;其特征在于,所有算量任务均被汇总在综合清单中;

每一算量任务包括一个或以上筛选配置文件路径,该路径指向单独存储的json格式筛选配置文件

每一算量任务包括计算方式文本,计算方式文本为纯粹的字符串;

每一json格式的筛选配置文件内均包括多段筛选条件文本;

每一筛选条件文本内均存有最少一个筛选条件;

每一筛选条件为四种模式的一项:文档过滤、类别过滤、名称过滤、自定义过滤;文档过滤模式的条件不可省略,且必须为首个条件;

每一筛选条件均带有逻辑判别字标记,仅首个条件的逻辑判别字标记不起效,其余条件的逻辑判别字标记都有作用;

每一逻辑判别字标记均为和、或以及非,采用字符串and、字符串or、和字符串not表达;

每一个算量任务的执行过程均包括如下步骤:

步骤1、在与算量任务相关的变电站土建工程的Revit工程文件中提取所需的图元形成图元集合,作为需要算量的构件;

步骤2、将图元集合中所有图元分成两类;

与算量任务对应的计算方式文本中以字符串“计算:”开头的均为公式算法,计算方式文本中的公式中以中括号包含的中文字符串均为第一类图元;

图元集合中除去第一类图元外均为第二类图元;

步骤3、采用公式计算第一类的图元;

步骤4、采用集成算法计算第二类的图元;

步骤5、参照推算;针对井池构件的内部净空容积采用净空推算,对任何地下构件的挖填方计算采用挖填方推算方法计算;

重复执行步骤1至5,在完成综合清单表格中的所有算量任务后,然后导出Excel表文档。

在实际应用中,或、和或者非分别采用字符串or、字符串and和字符串not表达。

如图2所示,在某些实施例中,步骤1具体如下:

步骤1.1、从综合清单中获得需要进行处理的算量任务的所有筛选条件文本的存储路径,并读取所有筛选条件文本获得所有筛选条件;

从所有筛选条件中获得每一为文档过滤的筛选条件,并获得相应的关键字字符串,将关键字字符串作为相应的文档关键字;

步骤1.2、根据每一文档关键字分别进行筛选,筛选过程具体如下:

对与算量任务相关的Revit工程文件使用RevitAPI软件提供的FilteredElementCollector类中的WherePasses方法获得所有链接文件列表;

从链接文件列表中找出文件名含有文档关键字的所有链接文件的名称,以及相应的存储路径,将所有链接文件的名称,以及相应的存储路径分别作为两种互相对应的字符串形成合规连接文件列表;

在合规连接文件列表中加入与算量任务相关的Revit工程文件;

遍历已经加入与算量任务相关的Revit工程文件的合规连接文件列表中的所有文件,使用RevitAPI软件提供的FilteredElementCollector类中的WherePasses方法获得所有文件中的所有图元;

步骤1.3、若任一算量任务的文档过滤包括两个以上筛选条件,则将相应的每次筛选后获得所有图元分别单独作为一组,再将每一组图元根据相应的筛选条件的逻辑符号进行操作,最终获得符合所有为文档过滤的筛选条件的图元集合。

在某些实施例中,步骤1.3具体如下:

步骤1.3.1、根据算量任务的文档过滤的筛选条件将经过依次筛选后获得所有图元分别分成多个组;

步骤1.3.2、构件一个空的图元集合,通过图元集合继承第一组的所有图元;若继承第一组的所有图元的图元集合未获得任何图元,则图元集合为空集;

步骤1.3.3、查看下一组的所有图元所对应的下一个筛选条件的逻辑标记;

若为“或”则将下一组的所有图元直接加入图元集合;

若为“和”则将下一组的所有图元与图元相同做逻辑交运算后,将剩余的图元保留;

若图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从图元集合中删除下一组的所有图元所包含的图元;

步骤1.3.4、重复执行步骤1.3.3直至处理完所有组的图元,得到最后的图元集合。

在某些实施例中,每一筛选条件文本内均存有最少两个筛选条件;其中一个筛选条件为文档过滤,另一个筛选条件为类别过滤;每一类别过滤的筛选条件均带有逻辑标记,类别过滤的具体过程如下:

步骤1.3.A4、从所有筛选条件中获得每一为类别过滤的筛选条件,并获得相应的关键字字符串,将关键字字符串作为相应的类别关键字;若无类别关键字,则不执行类别过滤;

步骤1.3.A5、根据与算量任务相关的Revit工程文件中每一图元的Category.Name属性,获得每一图元的类别名;

步骤1.3.A6、将类别名与每一类别关键字相同的所有图元找出,并根据不同的类别关键字分成多个组;

步骤1.3.A7、查看每一组的所有图元所对应的筛选条件的逻辑标记;

若为“或”则将相应组的所有图元直接加入图元集合;

若为“和”则将相应组的所有图元与图元相同做逻辑交运算后,将剩余的图元保留;

若图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从图元集合中删除相应组的所有图元所包含的图元;

步骤1.3.A8、重复执行步骤步骤1.3.A7直至处理完所有组的图元,得到最后的图元集合。

在某些实施例中,每一筛选条件文本内均存有最少两个筛选条件;其中一个筛选条件为文档过滤,另一个筛选条件为名称过滤;每一名称过滤的筛选条件均带有逻辑标记,名称过滤的具体过程如下:

步骤1.3.B4、从所有筛选条件中获得每一为名称过滤的筛选条件,并获得相应的关键字字符串,将关键字字符串作为相应的名称关键字;若无名称关键字,则不执行名称过滤;

步骤1.3.B5、根据与算量任务相关的Revit工程文件中每一图元的Category.Name属性,获得每一图元的图元信息;

步骤1.3.B6、将图元信息与每一名称关键字相同的所有图元找出,并根据不同的名称关键字分成多个组;

步骤1.3.B7、查看每一组的所有图元所对应的筛选条件的逻辑标记;

若为“或”则将相应组的所有图元直接加入图元集合;

若为“和”则将相应组的所有图元与图元相同做逻辑交运算后,将剩余的图元保留;

若图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从图元集合中删除相应组的所有图元所包含的图元;

步骤1.3.B8、重复执行步骤步骤1.3.B7直至处理完所有组的图元,得到最后的图元集合。

在某些实施例中,每一筛选条件文本内均存有最少两个筛选条件;其中一个筛选条件为文档过滤,另一个筛选条件为自定义过滤;每一自定义过滤的筛选条件均带有逻辑标记,名称过滤的具体过程如下:

步骤1.3.C4、从所有筛选条件中获得每一为自定义过滤的筛选条件,并获得相应的关键字字符串,将关键字字符串作为相应的自定义关键字;若无自定义关键字,则不执行自定义过滤;

每一自定义关键字均为包括名称字符串和运算符号的条件;

步骤1.3.C5、利用RevitAPI提供的LookupParameter查找与算量任务相关的Revit工程文件中每一符合条件图元,并根据不同的条件分成多个组;

步骤1.3.C6、查看每一组的所有图元所对应的筛选条件的逻辑标记;

若为“或”则将相应组的所有图元直接加入图元集合;

若为“和”则将相应组的所有图元与图元相同做逻辑交运算后,将剩余的图元保留;

若图元集合为空集,则将“和”当做“或”处理;

若为“非”则直接从图元集合中删除相应组的所有图元所包含的图元;

步骤1.3.C7、重复执行步骤步骤1.3.C6直至处理完所有组的图元,得到最后的图元集合。

在实际应用中,自定义关键字符串所形成的条件可以为“标高>100”,解析为某构件中某属性条目中属性名为标高的属性值大于数值100的关系,遍历上述名称过滤所得图元中的每个图元,利用软件API提供的LookupParameter查找得到构件含有“标高”属性名的属性条目,并提取该条目的属性值,并且与给定数值100做“>”比较,若匹配则保留该构件;

同理数值关系表达提供大于、小于、小于等于、大于等于、等于的关系判断,分别用符号>、<、<=、>=、=表达;

自定义关键字符串所形成的条件也可以为“材质&不锈钢”,解析为某构件中某属性条目中属性名为材质的属性值文字信息含有“不锈钢”这个字符串,遍历上述名称过滤所得图元中的每个图元,利用软件API提供的LookupParameter查找得到构件含有“材质”属性名的属性条目,并提取该条目的属性值,并且查看属性文字是否包含“不锈钢”字符串,若匹配则保留该构件;同理字符关系表达提供了包含有、全等于两种关系,分别用符号&、=表达。

如图3所示,在某些实例中,步骤2具体如下:

步骤2.1、判断算量任务中需要计算的值是否为步骤1中筛选所得图元自身的特性;若可以,则图元归为无需推算图元,否则就是需要推算图元;

在实例中,计算结构柱体积和结构柱直接特性相关,则为无需推算的图元;另,计算雨水井挖填方计算,其计算的并非雨水井自身体积而是开挖土方的体积,故归为需要推算的图元;

然后判读算量任务中的计算方式文本中以“计算:”开头的任务,该任务从步骤1筛选所得图元集合中所有图元配置为采用公式计算方法进行计算;归为无需推算-公式计算的图元;

若算量任务中的计算方式文本中不是以“计算:”开头,则判读该任务筛选所得图元集合中图元是否为可直接采用软件API提供的LookupParameter准确获取长度、体积、面积、周长、重量的图元;如果可以准确获得,则依然归为无需推算-公式计算的图元;若无法准确获取,有较为复杂的外形,且需要寻找其包络盒尺寸替代复杂外形尺寸进行计算的图元,归为无需推算-集成计算的图元;

实施例如结构柱图元可直接准确的获得长度、体积、面积、重量的信息,则将结构柱图元归为无需推算-公式计算图元,则计算任务中对结构柱计算配置为公式计算;

实施例如楼梯面积计算,需要将楼梯复杂的几何结构简化为包络盒,并求得包络盒的对地投影底面积,作为楼梯面积,则将楼梯归为无需推算-集成计算图元;

在某些实施例中,步骤3具体如下:

步骤3.1、针对无需推算-公式计算一类的图元,利用软件API提供的LookupParameter从公式计算类的图元属性中查找到所有与中括号包含的中文字符串对应的属性值数据,并代入相应的公式中,与算量任务对应的计算方式文本中以字符串“计算:”开头的所有公式均转化为纯数字和计算符号组成的公式;

步骤3.2、使用.NET表达式计算库直接计算所有被转化为纯粹数字和计算符号组成的数学表达式,并得到结果数值;

例如某实例中,计算公式文本:计算:[体积]*1.05,公式意为直接提取体积数值并对体积放5%余量,此时获得图元体积为5.2立方米,计算公式文本:计算:[体积]*1.05,中“[体积]”被体积数值替换为纯粹的数学算式:5.2*1.05那么就可直接计算该算术式得到结果5.2*1.05=5.46,结果为5.46立方米;

在某些实施例中,步骤4具体如下:

步骤4.1、针对无需推算-集成计算一类的图元,利用软件API提供的BoudingBox类的几何函数获得图元的包络盒,获得集成计算图元在空间直角坐标系中的包络盒;

包络盒的记录方式以空间长方体的最大和最小的两个对角坐标C1(X1,Y1,Z1),C2(X2,Y2,Z2)为C1(1.0,1.0,1.0),C2(14.0,12.0,13.0);

步骤4.2、利用包络盒角点两个角点坐标计算获得前侧面面积和后侧面面积C

C={C1(X1,Y1,Z1),C2(X2,Y2,Z2)};

W=|X2-X1|;L=|Y2-Y1|;H=|Z2-Z1|;

C

C

步骤4.3、将上述包络和的各项数据根据算量任务的特性,分别与相应的指定系数相乘可获得需要计算出的构件体积、侧面积、底面积,该指定系数人为确定;在实际应用中,用于覆盖面计算,进行女儿墙墙面防水高度图层的面积计算时,人为确定指定系数上翻高度为F=0.3米,并已知平屋顶的包络盒的角点坐标C1(X1,Y1,Z1),C2(X2,Y2,Z2)为:

C1(1.0,1.0,1.0),C2(14.0,12.0,13.0);

根据公式,包络和的周长为C

在某些实施例中,步骤5中,针对需要推算的图元挖填方推算具体如下:

针对管沟土方和井池一类的挖填方计算,以寻找得到的构件作为计算参照,重复步骤4.1的算法获得包络盒,根据地面高程,并查询土方设计手册获得工作面宽度、放坡系数、概算以及预算计算公式,然后依据筏板的体积带入概算、预算公式推算挖方,填方则利用挖方直接减去图元构件体积得到。

在实际应用中,某构件的包络盒,其体积为C

C={C(X1,Y1,Z1),C2(X2,Y2,Z2)}

C

V

V

在某些实施例中,步骤5中,针对需要推算的图元净空推算具体如下:

重复步骤4.1算法获得包络盒,根据侧面和底部壁厚,将包络盒长宽高减去相应两倍壁厚得到新的长宽高后计算体积,得到结果。

在实际应用中,包络盒角点坐标集合为C,人为设定内部前后左右上下六个面的壁厚集合为T,净空体积为V,公式如下:

C={C(X1,Y1,Z1),C2(X2,Y2,Z2)};

W=|X2-X1|;L=|Y2-Y1|;H=|Z2-Z1|;

T={T

V=(W-T

实施例2

清单中的某个算量任务要求对模型中完全位于地上的结构柱进行算量,结果需为结构柱混凝土体积;

此时模型中具有3个链接文件名称分别为:110kV结构模型、110kV建筑模型、110kV电气一次;

依据步骤1.1,从算量任务中的筛选器路径获得筛选配置文件"C:ProgramFilter结构柱筛选配置.json",获得该配置文件内所有筛选条件文本;

将筛选条件分为四类筛选模式:文档筛选条件、类别筛选条件、名称筛选条件、自定义筛选条件;

文档模式有1个筛选条件,文本为:文档|and|结构

类别模式有1个筛选条件,文本为:类别|and|结构柱

名称模式有2个筛选条件,文本为:名称|and|结构柱;名称|or|KZ

自定义模式有1个筛选条件,文本为:自定义|and|底部标高+底部偏移>0;

建立一个空的图元集合X,非空时统一称图元集合X;

依据步骤1.2开始文档模式筛选操作:

从筛选文本中提取关键字【结构】,与模型中的3个链接文件匹配,并找名称为【110kV结构模型】的链接文档符合情况;

从获得的链接文档中获得该模型内的所有图元,放入上述空图元集合X;

将图元集合X传入类别模式的筛选;

依据步骤1.4开始类别模式筛选操作:

从筛选文本中提取关键字【结构柱】,从上述图元集合X中找到类别为【结构柱】的所有图元,仅仅保留通过的图元,并替换图元集合X;

将图元集合X传入名称模式的筛选;

依据步骤1.6开始名称模式筛选操作:

先看第一个筛选条件:【名称|and|结构柱】,从筛选文本中提取关键字【结构柱】,从传入的图元集合X中找到名称包含有【结构柱】的所有图元,仅仅保留通过的图元,作为图元集合A;

再看第二个筛选条件:【名称|or|KZ】,从筛选文本中提取关键字【KZ】,从传入的图元集合X中找到名称包含有【KZ】的所有图元,仅仅保留通过的图元,作为图元集合B;

依据步骤1.7看第一个筛选条件的逻辑判别字为and,即传入的图元集合X和图元集合A做交集,图元集合A是图元集合X的子集,所以结果为图元集合A;集合表达

第二个筛选条件的逻辑判别字为or,即上述交集完成后的结果完成后再次和本次图元集合的结果做并集,即为图元集合A和图元集合B做并集,A∪B;

然后将结果覆盖图元集合X;

将图元集合X传入自定义模式的筛选;

依据步骤1.8开始自定义模式筛选操作:

从筛选文本中提取关键字【底部标高+底部偏移>0】,从传入的图元集合X中分析每个图元,获得每个图元的底部标高和底部偏移的数值,两者相加后大于0,则为合格图元;

对所有图元做检查,保留合格图元形成图元集合,并覆盖图元集合X;

此时得到了最终的图元集合X,内部所有图元特征是:结构链接模型中,类别为结构柱,名称包含有【结构柱】或【KZ】,并且柱底部高度在标高0米以上的图元;

将拥有这些特征的图元集合X称为结构柱的图元集合;

然后,把筛选结果传入计算操作:

算量任务中对结构柱的计算方式文本为:计算:[体积],采用步骤2.1计算方式的公式算法;

即对图元集合X中的所有图元提取体积属性,直接通过获取体积属性的属性数值来获得结构柱体积,不做其他计算操作;对图元集合X中每个图元都进行该此操作,最后获得结构柱的总体积,最后单位为标准立方米。

实施例3

清单中的某个算量任务要求对模型事故油池的挖填方进行算量,结果需为事故油池的挖填方体积;

此时模型中具有3个链接文件名称分别为:110kV结构模型、110kV建筑模型、110kV电气一次;

依据步骤1.1,从算量任务中的筛选器路径获得筛选配置文件"C:ProgramFilter事故油池筛选配置.json",获得该配置文件内所有筛选条件文本;

将筛选条件分为四类筛选模式:文档筛选条件、类别筛选条件、名称筛选条件、自定义筛选条件;

文档模式有1个筛选条件,文本为:文档|and|结构

类别模式有1个筛选条件,文本为:类别|and|常规模型

名称模式有1个筛选条件,文本为:名称|and|事故油池

自定义模式有0个筛选条件,无文本,则表示无需进行自定义模式筛选操作;

建立一个空的图元集合X,非空时统一称图元集合X;

依据步骤1.2开始文档模式筛选操作:

从筛选文本中提取关键字【结构】,与模型中的3个链接文件匹配,并找名称为【110kV结构模型】的链接文档符合情况;

从获得的链接文档中获得该模型内的所有图元,放入上述空图元集合X;

将图元集合X传入类别模式的筛选;

依据步骤1.4开始类别模式筛选操作:

从筛选文本中提取关键字【常规模型】,从上述图元集合X中找到类别为【常规模型】的所有图元,仅仅保留通过的图元,并替换图元集合X;

将图元集合X传入名称模式的筛选;

依据步骤1.6开始名称模式筛选操作:

从筛选文本中提取关键字【事故油池】,从传入的图元集合X中找到名称包含有【事故油池】的所有图元,仅保留通过的图元,将结果覆盖图元集合X;

将图元集合X传入自定义模式的筛选;

依据步骤1.8开始自定义模式筛选操作:

无自定义模式筛选文本,此步骤保持图元集合X不变;

然后得到了最终的图元集合X,内部所有图元特征是:模型【110kV结构模型】中,类别为【常规模型】,名称包含有【事故油池】的图元;

将拥有这些特征的图元集合X称为事故油池的图元集合;

然后,把筛选结果传入计算操作:

从事故油池图元构件不能直接得到挖填方数据,需要进行推算,所以采用参照推算方法;

算量任务中对事故油池的计算方式文本为:事故油池挖方推算;

采用步骤2.2阐述方法获得事故油池包络盒,长为L=2.8米,宽为W=3.8米,高为H=2.4米;将计算体积为:2.8×3.8×2.4=25.536,得出体积为C=25.536立方米;指定地坪高度为E=-0.5米,工作面宽度为P=1.0米,无需放坡,从事故油池的标高获得其埋土深度即挖深为X=-3.5米,那么根据步骤5挖方公式,获得挖方算式为|-3.5-(-0.5)|×(2.8+2×1.0)×(3.8+2×1.0)=3.0×4.8×5.8=83.52立方米;得到挖方量即为83.52立方米;步骤5的填方公式得到V

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

技术分类

06120116566085