一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于Dynamo的BIM模型元素编码信息录入方法与流程

2022-10-13 03:45:20 来源:中国专利 TAG:

基于dynamo的bim模型元素编码信息录入方法
技术领域
1.本发明涉及bim模型信息录入技术领域,特别的,涉及一种bim构件录入国标编码信息的方法,具体而言,涉及一种基于dynamo的bim模型元素编码信息录入方法。


背景技术:

2.建筑信息模型(building information modeling,简称bim)中的“信息”是模型中重要的组成部分之一,revit是目前国内建筑信息模型应用过程中的主要软件,以往的bim模型仅需要按图纸建立相应实体,对模型中构件信息的赋予并没有详细具体要求。随着国内bim应用水平的逐渐提高,各企业与地方政府逐渐提高了对建模质量的要求,多地也陆续推出了自动审查模型的工具,在建筑的设计、审查、施工,以及全生命周期中,需要对bim模型的数据进行提取、分析和传输,建筑信息模型的编码信息便是bim模型中非常重要的信息之一。
3.虽然国内已发布了编码标准《建筑信息模型分类和编码标准》gb/t 51269-2017,但revit中赋予构件编码的方法较为复杂,重复性操作过多,赋予编码的过程会浪费bim实施人员大量的时间。
4.目前对bim模型赋予编码的方法中,主要为人工手动录入与二次开发插件两种方式,其中,人工手动录入信息的速度慢,重复操作很多;通过二次开发插件能够实现构件快速编码功能,但插件开发难度较大,成本较高,部分企业没有开发插件的能力,而且各个企业开发的插件仅用于企业内部,无法实现插件共享。部分企业在国标编码的基础上还进行过不同的深化与修改,因此无法满足国标中的编码要求,也无法通用。
5.鉴于上述问题,当前亟需找到一种无需二次开发的快速赋予bim模型构件编码信息的方法,以解决目前bim实施人员赋予编码信息较慢的问题。


技术实现要素:

6.鉴于此,本发明的目的在于提供一种bim模型构件录入国标元素编码信息的方法,克服现有技术的上述问题,不需要二次开发与人工重复录入,能够使bim模型构件快速录入bim模型元素编码信息。
7.revit项目的结构可分为“种类(category)”“族(family)”“类型(family type)”和“实例(family instance)”,在我国标准的编码规则的元素分类编码结构中,各级代码可与revit中不同的族结构层次对应,中类代码对应revit项目结构中的种类(category),小类代码对应revit项目结构中的族(family),细类代码对应revit项目结构中的类型(family type)。
8.dynamo插件是一款参数化设计软件,其原理在于利用了可视化编程的方式,使用户可以轻松调用revit的api,自行设计脚本,根据工程需求开发相应功能。revit的功能在dynamo中均可实现,而且实现方式更加灵活。bim实施单位可以利用dynamo软件,在revit中进行批量操作、用函数控制生成复杂建筑形体等功能。
9.本发明提供一种基于dynamo的bim模型元素编码信息录入方法,包括以下步骤:s1、使用dynamo在建立bim模型的revit项目中设置代码层级为类型family type,选取在所述revit项目中存在实例的构件的族类型;s2、读取所选取的族类型,获取所述族类型下的所有族实例,并生成族实例列表;s3、读取所述族实例列表,获取族实例列表中每个族实例所属的族,生成族列表;s4、读取所述族列表中的族,获取族下的所有族类型的层级,生成族类型的多级列表;s5、读取所述族类型的多级列表,提取族类型中“部件代码”参数;根据选取的revit项目中的族类型,判断出所述族类型对应的元素编码信息,在dynamo程序中输入所述元素编码信息;将所述元素编码信息录入到提取的所述“部件代码”参数中,录入bim模型构件的元素编码信息。
10.进一步地,所述s1步骤的选取族类型的方法包括:使用dynamo中的family types 节点,在revit项目中选择一个构件,dynamo便读取了revit项目模型中的该构件所属的族类型;比如,在revit项目中选择一个梁1,dynamo便读取了revit项目模型中的梁1所属的族类型。
11.进一步地,所述s2步骤的获取族实例的方法包括:使用dynamo中的familyinstance.byfamilytype 节点,将构件的族类型传递至familyinstance.byfamilytype节点中,familyinstance.byfamilytype节点将生成构件的族类型下所有存在的族实例的列表;比如,将梁1的族类型传递至familyinstance.byfamilytype节点中,familyinstance.byfamilytype节点将生成梁1的族类型下所有存在的族实例的列表,族类型梁1所生成的族实例列表为[梁11,梁12,梁13]。
[0012]
进一步地,所述s3步骤的获取族实例列表中每个族实例所属的族的方法包括:使用dynamo中的familyinstance.getfamily 节点获取列表中每个族实例所属的族。
[0013]
比如,梁1的族类型在前一步骤中生成的族实例列表[梁11,梁12,梁13],获取每个族实例并生成族列表[混凝土梁,混凝土梁,混凝土梁];族实例列表是由一个族实例所生成的,所以由族实例列表所生成的族列表中的族应为同一个族。
[0014]
进一步地,所述s4步骤的获取族下的所有族类型的层级的方法包括:使用dynamo中的family.types 节点获取族下的所有族类型的层级;比如,梁1的族类型在前一步骤中生成的族列表[混凝土梁,混凝土梁,混凝土梁],获取每个族下的族类型并生成列表[混凝土梁[梁1,梁2,梁3
……
],混凝土梁[梁1,梁2,梁3
……
],混凝土梁[梁1,梁2,梁3
……
]];由于梁1的族类型在前一步骤中生成的族列表中的族为同一个族,所以生成的族类型的多级列表中,每一个混凝土梁列表相同。
[0015]
进一步地,所述s5步骤的提取族类型中“部件代码”参数的方法包括:使用dynamo中的element.setparameterbyname 节点,
element.setparameterbyname节点将读取所述族类型的多级列表,要设置的参数的名称通过一个string 节点进行传入,所述string 节点中输入“部件代码”,同时,要设置的参数的数值也通过所述string 节点进行传入。
[0016]
进一步地,所述s5步骤的判断出所述族类型对应的元素编码信息的方法包括:通过步骤s3中所获得的族,在《建筑信息模型分类和编码标准》中的元素编码表查找国标元素编码。
[0017]
进一步地,所述s5步骤的在dynamo程序中输入所述元素编码信息的方法包括:在另一个string 节点中输入所述族类型所对应的国标元素编码;比如,混凝土梁的编码信息录入时,需要在string 节点中输入“14-20.20.06”。
[0018]
进一步地,所述s5步骤的录入bim模型构件的元素编码信息的方法包括:将两个string 节点通过导线连接至element.setparameterbyname 节点,完成构件的元素编码信息的录入。
[0019]
进一步地,s1-s5步骤的所形成的dynamo编码程序在revit项目的构件的编码过程中,每个构件所对应的元素编码能够分别编写一个模块,根据不同专业的模型所包含的构件对所述模块进行自由组合,实现revit项目模型构件的快速编码。
[0020]
与现有技术相比,本发明的有益效果在于:(1)本发明对比人工手动录入编码,节省了大量时间,提高了bim模型构件编码信息的录入效率。
[0021]
(2)本发明的元素编码模块通过设计与优化,每个元素编码模块中所运行的节点少,每个元素编码模块逻辑简单、结构统一,节省了计算机资源,降低了计算机性能需求。
[0022]
(3)本发明提供的bim模型元素编码信息录入方法,无需二次开发,学习成本低,不需要bim实施人员掌握编程知识,只需要了解各节点功能便可使用dynamo,降低了bim建模技术应用的门槛。
附图说明
[0023]
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
[0024]
在附图中:图1为本发明基于dynamo的bim模型元素编码信息录入方法的流程图;图2为本发明实施例基于dynamo的bim模型元素编码信息录入方法的技术路线图。
[0025]
图3为本发明实施例基于dynamo的bim模型元素编码信息录入方法的dynamo节点及连接逻辑图。
具体实施方式
[0026]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和产品的例子。
[0027]
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0028]
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0029]
下面结合附图对本发明实施例作进一步详细说明。
[0030]
本发明实施例提供一种基于dynamo的bim模型元素编码信息录入方法方法,参见图1所示,包括以下步骤:s1、使用dynamo在建立bim模型的revit项目中设置代码层级为类型family type,选取在所述revit项目中存在实例的构件的族类型;具体地,选取族类型的方法包括:使用dynamo中的family types 节点,在revit项目中选择一个构件,dynamo便读取了revit项目模型中的该构件所属的族类型;本实施例中,在revit项目中选择一个梁1,dynamo便读取了revit项目模型中的梁1所属的族类型;s2、读取所选取的族类型,获取所述族类型下的所有族实例,并生成族实例列表;具体地,获取族实例的方法包括:使用dynamo中的familyinstance.byfamilytype 节点,将构件的族类型传递至familyinstance.byfamilytype节点中,familyinstance.byfamilytype节点将生成构件的族类型下所有存在的族实例的列表;本实施例中,将梁1的族类型传递至familyinstance.byfamilytype节点中,familyinstance.byfamilytype节点将生成梁1的族类型下所有存在的族实例的列表,族类型梁1所生成的族实例列表为[梁11,梁12,梁13];s3、读取所述族实例列表,获取族实例列表中每个族实例所属的族,生成族列表;所述获取族实例列表中每个族实例所属的族的方法包括:使用dynamo中的familyinstance.getfamily 节点获取列表中每个族实例所属的族;本实施例中,梁1的族类型在前一步骤中生成的族实例列表[梁11,梁12,梁13],获取每个族实例并生成族列表[混凝土梁,混凝土梁,混凝土梁];族实例列表是由一个族实例所生成的,所以由族实例列表所生成的族列表中的族应为同一个族;s4、读取所述族列表中的族,获取族下的所有族类型的层级,生成族类型的多级列表;所述获取族下的所有族类型的层级的方法包括:使用dynamo中的family.types 节点获取族下的所有族类型的层级;
本实施例中,梁1的族类型在前一步骤中生成的族列表[混凝土梁,混凝土梁,混凝土梁],获取每个族下的族类型并生成列表[混凝土梁[梁1,梁2,梁3
……
],混凝土梁[梁1,梁2,梁3
……
],混凝土梁[梁1,梁2,梁3
……
]];由于梁1的族类型在前一步骤中生成的族列表中的族为同一个族,所以生成的族类型的多级列表中,每一个混凝土梁列表相同;s5、读取所述族类型的多级列表,提取族类型中“部件代码”参数;根据选取的revit项目中的族类型,判断出所述族类型对应的元素编码信息,在dynamo程序中输入所述元素编码信息;将所述元素编码信息录入到提取的所述“部件代码”参数中,录入bim模型构件的元素编码信息;具体地,所述提取族类型中“部件代码”参数的方法包括:使用dynamo中的element.setparameterbyname 节点,element.setparameterbyname节点将读取所述族类型的多级列表,要设置的参数的名称通过一个string 节点进行传入,所述string 节点中输入“部件代码”,同时,要设置的参数的数值也通过所述string 节点进行传入;具体地,所述判断出所述族类型对应的元素编码信息的方法包括:通过步骤s3中所获得的族,在《建筑信息模型分类和编码标准》中的元素编码表查找国标元素编码;具体地,所述在dynamo程序中输入所述元素编码信息的方法包括:在另一个string 节点中输入所述族类型所对应的国标元素编码;本实施例中,混凝土梁的编码信息录入时,需要在string 节点中输入“14-20.20.06”。
[0031]
具体地,所述录入bim模型构件的元素编码信息的方法包括:将两个string 节点通过导线连接至element.setparameterbyname 节点,完成构件的元素编码信息的录入。
[0032]
参见图3所示为本发明实施例的dynamo节点及连接逻辑图。
[0033]
参见图2所示为本发明实施例的技术路线。
[0034]
本发明实施例中,s1-s5步骤的所形成的dynamo编码程序在revit项目的构件的编码过程中,每个构件所对应的元素编码能够分别编写一个模块,根据不同专业的模型所包含的构件对所述模块进行自由组合,实现revit项目模型构件的快速编码。
[0035]
本发明实施例对比人工手动录入编码,节省了大量时间,提高了bim模型构件编码信息的录入效率。
[0036]
本发明实施例的元素编码模块通过设计与优化,每个元素编码模块中所运行的节点少,每个元素编码模块逻辑简单、结构统一,节省了计算机资源,降低了计算机性能需求。
[0037]
本发明实施例的bim模型元素编码信息录入方法,无需二次开发,学习成本低,不需要bim实施人员掌握编程知识,只需要了解各节点功能便可使用dynamo,降低了bim建模技术应用的门槛。
[0038]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些
更改或替换之后的技术方案都将落入本发明的保护范围之内。
[0039]
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献