基于Revit二次开发的多面体参数化建模
2020-04-07
(大连理工大学 建设工程学部,大连 116024)
引言
类Weaire-Phelan多面体(简称类WP多面体)是由Weaire-Phelan多面体气泡单元衍生、改良而成的一类多面体[1]。其数学理论起源是Kelvin问题:将无限空间划分为具有一定界面面积的等体积单元(或其组合),什么样的划分方式能够使得界面面积取最小值。Weaire-Phelan气泡对应的空间分割方案是目前已知的Kelvin问题的最优解[2]。该数学理论在结构设计上最经典的应用就是国家游泳中心“水立方”的多面体空间刚架结构。
图1 国家游泳中心“水立方”
BIM技术不仅用于解决项目中智能分工与协同、异形体设计、建筑分析、可视化、精细化等二维设计难以解决的困难,而且使项目管理逐步形成新的管理体系[3-5]。Revit作为BIM技术的重要平台,近年来在二次曲面网壳结构、斜拉桥和单层工业厂房的参数化设计,识别构件点云数据,自动化计算窗户热物理特性,PKPM接口等方向均有研究进展[6-11]。但从现有资料来看,基于Revit开发的建模方法并没有涉及类WP多面体空间结构这一经典类型。该空间结构独特的“嵌填”式[12]的建模思路极大的区别于当下大多数模型软件“搭积木”式的建模方法。
文献[1]研究了组成类WP多面体的两种基本单元,完成了基本12面体和基本14面体的图形解析和数学解析,确定了基本多面体的形状控制参数,分析了形状控制参数与多面体边长的数学相关特性,规范了形状控制参数的合理取值范围,为多面体的参数化三维建模程序奠定了基础。文献[12]提出了类WP多面体基于AutoCAD的建模方法,并提供了多面体基本组合的建模思路。本文在分析这些研究成果的基础上,利用Revit提供的API函数,完成类WP多面体基本单元和基本组合的建模程序插件,实现基本单元和基本组合的参数化选型和可视化建模功能,以提高类WP多面体结构选型时的工作效率。
1 基于Revit的多面体建模开发
本文基于Revit 2018及Revit 2018.2 SDK,选择Visual Studio Community 2017为平台,编译程序目标框架选用.NET Framework 4.6,在Windows7(x64)版本系统下,使用C#(6.0版本)编程语言完成程序编写和编译。主要工作包含两部分内容:多面体基本单元的建模和多面体基本组合的建模。
1.1 总体架构
在数学理论、建模方法和编程技术的支撑下,首先设计和编制基本单元和基本组合的数据处理模块,根据输入参数计算生成点、线、面等数据,然后交由建模模块在Revit视图界面中生成可视化模型。总体架构如图2所示。
图3 开发调试界面
图2 总体架构
1.2 程序开发
程序开发工作主要包括以下几个方面[13]。
①在Visual C#中新建一个类库,通过添加RevitAPI接口并引用Autodesk.Revit的命名空间,指定事物模式和模型更新模式,从ExternalCommand接口实现新建类。
②对Execute方法重载,在Visual C#中新建窗体创建可视化界面并进行参数的传入;
③参数修改,若程序执行结果不满足设计要求,则需要重新修改参数
④生成多面体模型。
利用API为Revit编写建模插件的开发调试界面如图3所示。
2 多面体基本单元建模
2.1 类WP多面体的形状控制参数
2.1.1 类WP多面体基本单元
类WP多面体由两种基本多面体组合而成,一种是12面体(所有面均为5边形),一种是14面体(12个面为5边形, 2个面为6边形)。
基本12面体由12个全等的5边形组成。这些5边形并不是正5边形,而是等腰5边形,也即它有两种边长,其中4条边长度相等。
基本14面体由12个5边形和2个相互平行的6边形组成。这些5边形中,有4个与基本12面体的5边形一致,其余8个则相互一致属于另外一种5边形,也即基本14面体包含3种平面多边形。
2.1.2 提取形状控制参数
在边长为4的晶格立方体中,取基本12面体的体心为坐标原点,基本12面体单元的20个顶点坐标如下: