数据库|基础之处见优化——基于Revit的涵洞参数化自动建模研究
文章图片
【数据库|基础之处见优化——基于Revit的涵洞参数化自动建模研究】
文章图片
文章图片
文章图片
文章图片
BIM技术作为建筑行业数字化的排头兵 , 受到了越来越多的关注 。 在交通行业 , 模型作为信息的载体 , 是实现数字化的首要前提 , 目前涵洞的BIM建模基本上都是通过手动完成 , 这种手动模式无法适应涵洞高效、精确的建模需求 , 而且不能满足项目建设全生命周期的管理需要 , 为了改变这一现状 , 本文提出一种基于Revit的涵洞参数化自动建模方法 。
涵洞标准族样板的建立
首先在Revit中建立参数驱动的标准涵洞族样板;接着在Revit中使用C#进行二次开发 , 实现涵洞的参数化建模;最后通过数据库技术 , 以模型作为载体 , 通过链接数据库的方式 , 实现涵洞的信息化 , 为项目建设全生命周期的管理打下坚实基础 。
涵洞参数化自动建模技术路线
族的作用
作为Revit模型的重要载体 , 是建立模型的基本图素 。 族的作用不仅仅是以不同族拼接建立模型 , 还在于族可以通过参数值的调整 , 形成不同族的类型实例 , 这将极大地拓展各类族的适用范围 , 并方便设计师高效精确地进行参数化设计 。 对Revit族进行自定义参数化 , 将避免用户在使用不同尺寸参数的同一族时的重复建族 , 而是可以直接通过调整相关参数达到同样效果 。 这将很大程度地将设计师从繁复的设计中解放出来 , 提高设计效率 , 改善用户体验 。 应用涵洞标准族 , 可以实现对常见相关类型的涵洞 , 包括单双基础、盖板涵、圆管涵及跌水井、挡土墙等附属设施进行参数化设计 , 并可以实现对常见类型进行参数化转换 。
整体模型族的参数驱动
通过对涵洞基础族的参数进行数字化驱动 , 通过修改模型开关命名参数 , 就能实现多种涵洞基础的变化 , 如表1所示 。
单个构件族的参数驱动
通过对八字墙尺寸参数的设置 , 就可以驱动八字墙尺寸的参数化改变 。
涵洞八字墙族及尺寸参数
基于Revit的二次开发参数化建模实现
技术选型
Revit提供了一套完善的API来帮助用户进行开发 , 目前在Revit中开发有两种方式 , 第一种方式是通过Dynamo中可视化节点编程来实现 , 第二种方式是通过C#直接调用Revit Api进行开发 。 本文采用的是第二种方式 , 因为较第一种方式而言 , 直接调用Revit提供的Api接口 , 在开发上更为灵活 , 程序上更容易调试 , 并且通过C#可以很方便地链接数据库来对模型数据进行管理 。
参数化自动建模基本思路
参数化自动建模思路如图所示:
1.提取路线数据及构件参数形成建模所需表格;
2.生成2D、3D设计线 , 并且计算出构件的位置以及旋转角度;
3.根据上一步中计算出来的位置值、建模表格中构件的尺寸参数和行业规范编码参数等 , 对标准族库进行赋值;
4.将整个过程中产生的关键数据写入数据库 。
程序架构
参数化自动建模程序采用了三层架构的方式过三层架构可以减少各个层之间的耦合方便程序管理、拓展以及维护 。
(1)界面层
整体界面采用WPF技术 , 子窗体通过导航技术实现 , 和Revit Api有关的操作通过在按钮中调用外部事件实现 。
主程序界面
(2)业务逻辑层
业务逻辑层主要包括:根据行业标准《公路工程设计信息模型应用标准》创建涵洞信息数据库、打开Excel表格生成涵洞模型、唯一标志符生成、将相关属性写入数据库、查看图纸五大模块 。 每一层都是独立的封装 , 方便了主程序的调用 , 减少了程序之间的耦合性 。
行业规范编码
涵身属性信息
在将《公路工程设计信息模型应用标准》中的编码 , 转化为数据库中的编码数据库时 , 采用了面向抽象编程的思路 , 在行业规范编码整体格式不变的情况下 , 如果内容变了 , 无需改变代码 , 直接一键同步到数据库中 。 通过打开填写好的Excel表格 , 能够快速生成模型 , 这里采用了多线程技术 , 减少了几何运算所花费的时间 , 并通过日志系统 , 可以快速发现Excel表格填写中的错误;此外Excel表格还支持多个涵洞数据填入 , 这样可以实现模型的批量生成 , 进一步提高了建模效率 。 这里的唯一标志在模型的每个构件上都会有 , 数据库中对应的数据也存在 , 这样就实现了数模分离 , 通过数据库可以不断扩展数字化信息 。 在相关属性写入数据库时 , 不仅写入了模型的几何信息 , 还包含了行业标准编码等建设全生命周期的管理需要的相关信息 。 通过图纸展示功能 , 能同步查看原图纸 , 及时和现有模型进行比对 , 快速查错 。
(3)数据库访问层
数据库访问层 , 主要包括行业规范编码访问层 , 以及模型属性访问层 。 通过SQLHelper类的使用 , 以及基本业务增删改查的封装 , 大大简化了原有的SQL访问技术 , 让写代码的人更专注于业务的实现 。
(4)模型层
模型层由洞口构件、洞身构件、基础构件组成 , 依据行业标准《公路工程设计信息模型应用标准》制定 , 成为界面层、业务逻辑层、数据库访问层的连接纽带 。 在Net技术下 , 数据库模型和类模型的生成上 , 主要有Code First技术与DataBase First技术 , 不太适合原始数是Excel表格且经常变化的情形 。 基于此 , 笔者采用C#开发了一套Excel First技术 , 能够一键基于大量原始Excel模型表格成对应的数据库模型和类文件 。 Excel表格如果改了 , 只需一键即可同步到数据库模型和类文件中 。
通过以上步骤就能快速、准确地生成常见的圆管涵模型、盖板涵模型以及箱涵模型 。
圆管涵
盖板涵
箱涵
思考与展望
目前使用Revit二次开发涵洞建模程序时 , 常规的涵洞模型都能快速地生成 。 对于异形结构 , 由于Revit本身没有提供很好的族技术支持 , 实现起来较为困难 , 需要进一步深入研究 。
本文刊载 /《桥梁 · BIM视界》杂志 2020年 第2期 总第13期
作者 /胡唯哲 朱明 肖春红
作者单位 / 四川省交通勘察设计研究院有限公司BIM中心
推荐阅读
- 科技日报|功能性玉米被端上餐桌 这个数据库帮了大忙
- 别再学习框架了,看看这些让你起飞的计算机基础知识
- 电竞|TS荣获世冠赛桂冠,主播天赐一语道破,TS夺冠关键之处
- 科大讯飞|Kubernetes如何改变美团的云基础设施?
- 芯片|全面解读我国在基础关键领域与国外的差距
- 王者荣耀|王者荣耀:位移多伤害高,上官婉儿伤害正确理解,基础连招教学
- 数据库|SQLite 3.33.0 发布,世界上使用量最大的数据库引擎
- 数据库|功能性玉米被端上餐桌 这个数据库帮了大忙
- 赵薇机场搭真清爽,穿基础款T恤配短裤休闲时尚,44岁气质很大气
- 工会心理咨询师基础培训班线上开课