面向属性的参数化建模在Revit API中的应用

2016-10-29 21:03贾盈平李春祥
计算机辅助工程 2016年4期
关键词:建筑信息模型

贾盈平 李春祥

摘要: 为改进目前构件级建模过程存在的效率低问题,提出面向属性的参数化建模过程.此方法使建模师不需要重复传统建模操作,通过设置模型属性参数就可以实现相关数据的统计和计算从而快速建模.以球面网格结构为例,将参数化建模思想融入到Revit 二次开发技术中,借用VS开发工具实现三维模型的快速生成.在操作时,用户只需通过用户界面输入矢高、跨度和环数等结构参数即可以完成模型的快速建立.通过此程序,还可以实现肋环形和施威德勒型2种类型的选择,实时监测设置的参数是否满足规范要求.

关键词: 建筑信息模型; 参数化建模; Revit API; 网格结构; 快速建模

中图分类号: TU391文献标志码: B

Abstract: To improve the low efficiency problem of the component modeling process, an attribute-oriented parametrization modeling process is proposed. By the method, the model architect do not need to repeat the traditional steps. By setting some property arguments, all the related data can be calculated to realize the rapid modeling. Taking a spherical grid structure as the example, combining the parametrization modeling with the secondary development in Revit, the rapid creation of a 3D model is implemented by the VS development tools. During the model generation, the user only needs to input some parameters through user interface, such as vector height, span and ring number. By the program, the structure types can be chosen between the ribbed type and the Schwedler type. It can also monitor whether the parameters meet the requirements of the specification at real-time.

Key words: building information model; parametrization modeling; Revit API; grid structure; rapid modeling

0引言

建筑信息模型(Building Information Modeling,BIM)技术是计算机辅助设计与数字技术的结合,其使得建筑模型从独立的二维CAD图纸转化为带有参数信息的三维模型.虽然BIM设计具有数字建模、数据库共享等优点,然而设计师创建一个模型结构时,必须对墙、梁、板等构件级依次单独建模,需要反复进行剪切、拉伸等低级操作,影响模型创建质量与效率.高效高质量地完成BIM模型的创建,是BIM技术应用中的重要环节之一.

本文阐述空间球面网格结构BIM模型创建过程中的问题,结合Revit二次开发技术和参数化建模思想,研发快速建模程序,实现可想即可现的创作过程.

1二次开发背景

1.1BIM技术

BIM是现今建筑行业信息化发展中备受关注的概念,包含建筑物所有信息.BIM使得工程设计具有数字建模、数据库共享、模拟现实、协同性好等诸多优点,同时减少设计过程中的错误和疏漏,从而提高工程设计的质量,缩短工程设计变更的时间,节约成本.[1-2]

BIM技术成为建筑业的宠儿.一方面,BIM技术已经发展到五维数据库模型,可建立与成本相关的时间、空间、工序维度关系,数据粒度处理能力达到构件级,使实际成本数据的高效分析成为可能.另一方面,近几年我国不断出台新的政策,号召BIM技术的推广应用.2015年6月16日,住房和城乡建设部发布《关于推进建筑信息模型应用指导意见》,指明BIM应用的重要意义和发展方向,提出“十三五”期间BIM的发展目标:到2020年末,以国有资金投资为主的大中型建筑、申报绿色建筑的公共建筑和绿色生态示范小区新立项项目,BIM集成应用的项目比率达到90%.

1.2参数化设计

参数化设计是将建筑构件的各种真实属性通过参数的形式进行模拟,并进行相关数据统计和计算.参数化建模就是通过分析结构自身的构成规律,通过若干控制参数快速生成结构模型[3],是由参数(变量)而不是由数字建立的模型,仅简单改变模型中的参数值就能建立新的模型.

1.3二次开发的必要性

Revit系列是由Autodesk公司研发的一款三维模型创建软件,能够准确实现模型的参数化和可视化,是BIM技术应用的主要软件之一,包括:Revit Architecture(建筑),Revit MEP(机电)和Revit Structure(结构).Revit Structure可以实现三维实体的创建和显示,并且可以通过参数模型整合各种项目的数据信息使其在项目的全生命周期过程中进行共享和传递,避免后期工程计算、施工管理、工程运营维护等方面的重复建模,实现项目各参与方的协同合作.[4]

空间网格结构在大跨度、大刚度、杆件材料单一的工程中广泛应用.单层球面网壳结构是空间曲面结构类型之一,主要分为6种,见图1.由于空间曲面复杂,单元和节点数量庞大,节点与单元的连接繁琐,因此运用Revit进行结构建模的过程中,工程师不得不耗费大量的时间和精力,不能将工作的重点集中在对计算结果和方案性能的分析优化上.[5]

Revit通常通过创建体量模型的方式创建网格结构,关键步骤如下.

(1)创建公制体量rft模型.首先在需要的参照平面上创建圆形模型线,然后创建形状,可选择空心形状,外形选择球形.

(2)划分网格.单击“分割表面”进行UV网格的划分.通过网格属性,可以分别设置U和V网格的数量、间距和旋转角度.

(3)载入项目.填充图案,添加材质将模型载入到相关项目中.

利用此方法,除操作步骤复杂外,模型质量还存在以下几方面的问题:(1)实际的空间网格结构是由一根根杆系所组成的实体,并不是光滑的弯曲界面;(2)UV网格的划分只有2条交错线,不能直接实现斜肋第3种线的添加;(3)在UV网格的工作平面下,顶点为水平面分布,虽然网格方向可以改变,但都是基于平面内角度的旋转,而实际情况却需要垂直面方向.Revit UV网格视图见图2.

针对上述情况,基于Revit开发平台,对球面网壳结构的建模过程进行二次开发,研发一款快速生成球面网格结构的程序.利用本程序建模可摆脱繁琐重复的构件编辑,由物理坐标建模转化为功能建模,由组件级别的单一数据计算转化为整体模型数据库的后台计算,真正实现满足功能的可想即可现的创作过程.另一方面,程序将规范要求和构件之间的约束限制自动加入到模型创建过程中.以往的结构模型的创建完成后,除受力计算分析外,还需要再次检查是否满足构造要求,若设计不合理需要重复设计,浪费时间与精力.本文设计将各个参数的限制条件编进程序后台,当不满足条件限制时立即报错,实时确保设计规范合理.这种设计模式不仅节约时间、减少疏漏错误,而且使得整个创作过程简洁明了,设计师创作目的明确,也为非专业建模人员带来便利.

2系统需求和运行环境

用户可以通过Revit的API,借助Visual Basic.NET,C#以及C++/CLI等任何与.NET兼容的编程语言进行编程,实现应用程序的开发.[6-7]

Revit主要通过2种方式扩展其功能.一种方式是添加外部应用(ExternalApplication),这种方式需要新建一个类实现IExternalApplication接口,此接口通过2个抽象函数OnStartup和OnShoutdown分别制定在Revit启动和关闭时所需的功能.采用此方法需要设计界面编程,添加一个菜单或工具条,涉及到Button,Panel和RibbonTab等控件,最后通过C:\ProgramData\Autodesk\Revit\Addin目录下的addin文件加载程序命令.另一种方式是创建外部命令(ExternalCommand),这种方式由用户点击添加的命令按钮启动二次开发生成的相应命令.这种方法可以随时进行代码的调试,无须重启软件,方便快捷,创建外部命令流程见图3,关键步骤为重载Execute()函数.本文采用第二种方法,借用Microsoft Visual Studio 2012平台,以Revit API 2015为依据,采用C#编程语言以及Microsoft .NET Framework 4.5和Revit 2014系列软件.

3开发思路

3.1参数设计

球面网壳的主要几何参数为:矢高H,m;跨度S,m;节点的环数M,个;每环的网格数N,个.对任意节点先按照一定规则进行编号Pk i(Xk i,Yk i,Zk),其中i和k都为整数,k为网格环数的序号,i则代表第k个网格环中的各节点顺序;然后根据参数确定节点的坐标位置[8-9],见图4.

3.2功能实现

开发的主要工作为网壳模型的创建和窗体界面数据的绑定.网壳模型创建的编写思路如下.

第一步,生成三维点P(x,y,z).根据界面输入参数,调用函数Math.Sin()和Math.Cos().由于球面网壳结构各个节点分布具有一定规律性,此过程需要调用2次嵌套循环.

第二步,创建点点连接,涉及到纬向连接、纵向连接和斜肋连接.首先创建线的集合List curves = new List(),利用上一步生成的P(x,y,z),通过函数 curves.Add()实现各个节点的连接.

第三步,创建整体模型.调用类Creatcure中方法public static ListDrawModelCurves (Document revitDoc, List curves, Transform Trf = null)实现网壳整体的创建.

窗体界面主要实现用户界面输入数据与后台网格计算数据参数的绑定.完成核心代码的编写后,实现IExternal Command接口,重载Execute()方法.Execute()调用方法如下.

try

{

Form1 mainwindow = new Form1();

mainwindow.Show();

}

catch (Exception ex)

{

message = ex.Message;

return Result.Failed;

}

4程序运用

程序的设置界面见图5.利用本程序可以实现快速生成空间网格结构模型,真正实现可想即可现的设计理念.用户通过“附加模块”命令加载本程序,设置参数值,点击“生成”,完成结构的快速创建.系统参数设置中的跨度、矢高单位为“米”,环数即径向杆件数和每环的网格数即纬向杆件数单位为“个”.勾选添加斜杆生成施威德勒型球面网壳,反之则为肋环型球面网壳.

所有参数值必须经过计算确定,满足矢跨比和稳定性等各项设计规范.例如JGJ 7—2010《空间网格结构技术规程》3.3.1规定,球面网壳的矢跨比不宜小于1/7,单层球面网壳的跨度(平面直径)不宜大于80 m[10].因此,当输入跨度为50,矢高为7时会弹出警示,见图6.

5结束语

本文以球面网格结构为例,分析目前构件级别建模中存在的问题,结合目前参数化建模技术的应用,提出面向属性的参数化级建模思路.利用Revit API技术,研发通过界面参数实现快速创建网格结构的程序.该程序不仅可以实现施威德勒型和肋环型2种类型网壳的创建,同时还可以实时监测参数是否满足规范要求.使用本程序,专业建模师可以提高建模效率,跨专业人员也可以根据需求快速建模.本文研发思想,可为Revit在其他方面的二次开发提供借鉴.参考文献:

[1]何关培. “BIM”究竟是什么?[J]. 土木建筑工程信息技术, 2010, 2(3): 111-117.

HE G P. What is “ BIM ”[J]. Journal of Information Technology in Civil Engineering and Architecture, 2010, 2(3): 111-117.

[2]马智亮, 刘世龙, 张东东, 等. 基于 BIM 的毛石装饰墙虚拟砌筑系统研制[J]. 土木建筑工程信息技术, 2015, 7(2): 9-13. DOI: 10.3969/j.issn.1674-7461.2015.02.002.

MA Z L, LIU S L, ZHANG D D, et al. BIM-based virtual building system development for rubble walls[J]. Journal of Information Technology in Civil Engineering and Architecture, 2015, 7(2): 9-13. DOI: 10.3969/j.issn.1674-7461.2015.02.002.

[3]胡笳, 谢步瀛, 周志浩, 等. 生土结构住宅建筑CAD软件开发[J]. 计算机辅助工程, 2011, 20(3): 60-63. DOI: 10.3969/j.issn.1006-0871.2011.03.011.

HU J, XIE B Y, ZHOU Z H, et al. Development of CAD software for raw-soil structure residence building[J]. Computer Aided Engineering, 2011, 20(3) : 60-63. DOI: 10.3969/j.issn.1006-0871.2011.03.011.

[4]廖小烽, 王君峰. Revit 2013/2014建筑设计火星课堂[M]. 北京: 人民邮电出版社, 2013: 1-20.

[5]薛忠华, 谢步瀛. Revit API在空间网格结构参数化建模中的应用[J]. 计算机辅助工程, 2013, 22(1): 58-63. DOI: 10.3969/j.issn.1006-0871.2013.01.014.

XUE Z H, XIE B Y. Application of Revit API in parametrization modeling of spatial grid structures[J]. Compuert Aided Engineering, 2013, 22(1): 58-63. DOI: 10.3969/j.issn.1006-0871.2013.01.014.

[6]吝江峰, 徐鹏左, 威龙. 基于Revit在水利工程中常规注释、标识二次开发[J]. 河南科技, 2015(3): 64-67. DOI: 10.3969/j.issn.1003-5168.2015.03.022.

LIN J F, XU P Z , WEI L. Second development of general comments and identifies in water conservancy engineering based on Revit[J]. Journal of Henan Science and Technology, 2015(3): 64-67. DOI: 10.3969/j.issn.1003-5168.2015.03.022.

[7]Autodesk Asia Pte. Ltd.. Autodesk REVIT二次开发教程[M]. 上海: 同济大学出版社, 2015: 1-28.

[8]陈志华, 刘红波, 周婷, 等. 空间钢结构APDL 参数化计算与分析[M]. 北京: 中国水利水电出版社, 2009: 133 -137.

[9]龚景海, 邱国志. 空间结构计算机辅助设计[M]. 北京: 中国建筑工业出版社, 2002: 155-158.

[10]空间网格结构技术规程: JGJ 7—2010[S].

(编辑于杰)

猜你喜欢
建筑信息模型
BIM技术在某办公建筑机电工程深化设计中的应用
浅谈BIM技术机电工程综合排布应用
BIM在设计企业的应用经验
特高压换流站工程建设利用信息化提升管控能力研究
浅谈BIM产业链项目在互联网时代的应用研究
信息技术在工程造价计算与管理中的应用
轨道交通工程Revit族库系统设计与开发
轨道交通工程Revit快速建模工具集开发
浅析建筑信息模型发展与其在设计中的应用
建筑信息模型与数字化建造