思路总览
先看看预期成果:
1、创建网架杆件和球体
外形:使用自适应构件创建杆件,和球体。自适应构件的端头的:套管、螺杆、锥头采用基于面的专用族,嵌套使用。
数据:各个嵌套族相关结构计算参数实例化,最后暴露在一个命名为XXX杆件的族内容,参数化控制内容:杆径,端头长度……等
2、获取异形杆件定位数据
源数据:在Rhino中获取,开发接口Rhinocomman。
存储:SQL,采用表格存储,表格设计:节点表,杆件信息表,杆件结构信息采用图层和命名管理。
数据联动方式:实体的构件点(球节点),线(杆件)采用UUID唯一标示,数据关联采用两点成直线的几何拓扑关系标记杆端点号。
3、生成杆件信息
软件:Revit2016
开发工具:VS2015
(做着做着 发现这个程序内容很长我就把它分开做吧,做成一个系列文章)
异形网架的BIM展示程序
文章1:自适应球节点族的制作
文章2:自适应杆件的制作
文章3:数据库的搭建
文章4:Rhino数据的获取
文章5:Revit开发实现
建立参数化的杆件和球体
自适应杆件
套管
………………待完善
锥形头
………………待完善
螺杆
………………待完善
自适应球
………………待完善
获取异形网架的定位数据
数据源
数据源的获取:
Rhinocomman 程序:
存储内容与方式
SQL 存储
存储采用 点(球节点),线(杆件存储)
点(Nodedetail):ID(默认行);number(点编号);Label(点标签);PointID(Rhino Point UUID) X ;Y ;Z ;updateData(点录入时间)
线(Beamdetail):ID(默认行);number(梁编号);Label(梁标签);Secationname(截面名称)………………
拓扑关系:以点的 number 为连接,获取线的起始点之后,找到点的编号存储在Beamdetail内,形成简单的拓扑关系。
创建转换程序
UI截面设计:
梁数据存储 杆件的信息,节点数据存储节点信息,预计会增加,截面调整 tabpage。通过生成按钮一键生成网架。
参数的读取
开发工具:VS2015,插件DevExpress 15.2 Datagrid 控件,(如UI所示已经获取到数据库数据)。