基于直线三维模型剖切方法的研究与应用
2021-08-02刘立峰李尔康
李 梦,刘立峰,李尔康,孙 阳
(中国电建集团西北勘测设计研究院有限公司,西安 710065)
0 引 言
BIM技术的应用每年都在发生变化,随着工程应用实践的不断深入和应用价值的不断显现,BIM应用也从单纯的技术应用走向项目管理、企业管理、甚至应用到项目建设的全链条应用。在项目应用过程中,为了展示三维模型的内部细节,增强三维可视化浏览的直观性与准确性,需要对三维模型剖切处理,有利于观察模型内细部结构。当前,研究者已经提出了多种基于三维模型剖切的方法,比如:秦绪佳等[1]提出了采用平面及多面体对重构模型剖切的立体剪裁算法;陈俊智等[2]提出利用OpenGL中的附加裁剪面实现平面切割;周翠英等[3]和郭圣文[4]实现了对三维模型任意方向的平面切割,但不能任意方式切割;王成龙等[5]和陈学工[6]等提出了基于三维模型任意角度剖切算法,实现了基于平面的任意角度剖切;代欣位等[7]提出基于动态四叉树索引的三维地质模型组合剖切算法;曹丽[8]等对四面体、六面体数据结构模型分别进行剖切算法设计和功能实现;崔兆东[9]等提出1种基于地质横剖面轮廓线的归一化三维地质体模型重构方法,对基于隧道横断面的三维建模及隧道与地质模型合并过程中的模型切割、分层。以上研究者提出的方法大多基于多面体、平面,对于模型结构复杂、布置走向非正南正北等不能快速有效找到合适的多面体、平面对模型进行剖切,很难高效得到预期的模型剖切面。
目前,市场上主流BIM设计软件及应用平台都是通过平面(XY、XZ、YZ)、六面体剖切盒等方式来对BIM三维模型进行剖切,基本上都是基于选定平面生成剖切面来对三维模型进行剖切,并且默认的平面与大地坐标系的X、Y、Z方向一致,大土木工程行业模型布置走向基本均为非正南正北布置(方向与大地坐标系X、Y方向一致),采用当前已有的基于平面的剖切方法,需要对剖切面进行反复调整,才能达到预期效果,满足工程实际应用需要。本文以三维模型中的构件外轮廓线为基础,提出1种基于直线的三维模型剖切方法,该方法适用于任意布置走向的三维模型剖切,可高效、精准达到预期剖切效果,并以某工程挡水建筑物为例,详细介绍具体实现过程,与传统剖切方法进行对比分析,展示本方法的优越性。
1 模型轻量化转换
当前BIM相关工程应用主流技术基本都是基于Web端实现,因此,进入Web端系统的模型数据必须是经过模型轻量化转换工具处理后的轻量化三维设计模型数据信息,需要开发模型轻量化转换工具,将三维设计软件设计成果数据转换为统一的轻量化数据格式,并且可以将模型的几何型体数据、非几何数据信息、模型组织结构等信息一并转换到轻量化模型中,笔者已开发了支持当前主流的三维设计软件平台模型轻量化转换工具1套,支持达索的CATIA、欧特克的Revit系列、奔特利的MicroStation,AVEVA的PDMS、西门子的UG等数据格式模型轻量化转换,模型轻量化转换工具见图1。利用模型轻量化工具将三维设计模型转换为轻量化数据格式,上传到Web端系统,在Web端系统中可浏览查看模型组织结构以及模型属性信息,在模型结构树上选择或者在模型构件上选择,均能浏览该模型构件的属性信息以及与该模型构件关联的文档信息,并且支持文档在线打开浏览,有助于进一步了解该部位模型相关的数据信息,利用开发的模型轻量化转换工具将某工程挡水建筑物三维设计模型转换轻量化格式,并上传Web端系统,见图2。
图1 模型轻量化转换工具图
图2 某工程挡水建筑物轻量化模型图
2 剖切方法设计
笔者在React框架下,采用WebGL技术在HTML5页面上开发了基于轻量化模型的直线剖切方法,建成了Web端系统平台。
剖切方法设计的逻辑链条较长,且环环相扣,其逻辑关系见图3,剖切方法执行以下主要步骤:
图3 剖切方法流程图
(1) 三维设计模型轻量化转换,将利用三维设计软件制作的三维设计模型,利用本文开发的模型轻量化转换工具对三维设计模型进行轻量化转换,可以将不同三维设计软件制作的三维设计成果转换为统一的数据格式,实现多数据格式设计成果的集成融合应用。
(2) 将转换后的三维轻量化模型上传到本文开发Web端系统平台。
(3) 在Web端系统平台中打开三维轻量化模型,在模型上移动鼠标,Web端系统根据预设算法,自动计算鼠标与模型中轮廓直线之间的距离,即鼠标距模型中直线中心点之间的距离。
(4) 设定阈值,Web系统设置的阈值为显示器分辨率×0.02×0.5像素,系统自动捕捉选定鼠标与模型中直线之间的距离小于阈值的任意一条直线,来生成法平面对轻量化模型进行剖切。
(5) 根据选定直线的法向量和选定直线的中心点创建法平面,Web系统选定的任一条直线后,将沿选定直线重新绘制一条与选定直线相同的直线,以绘制的直线创建直线的法平面。
(6) Web系统根据法平面对轻量化模型进行剖切,剖切后系统自动隐藏法平面,得到轻量化模型的内部结构剖切面,实现对三维模型的剖切。
3 剖切方法效果对比与分析
以某工程挡水建筑物为例对传统剖切方法与本文提出的剖切方法效果进行对比分析,挡水建筑物轴线布置方向为南偏西22.02°,工程应用中经常会用到沿挡水建筑物轴线生成的剖切面,进一步分析挡水建筑物内部结构。目前,市场上主流BIM设计软件及应用平台的剖切效果见图4,传统的剖切方法是基于平面生成剖切面,在水电工程建筑物造型复杂情况下,很难找到与挡水建筑物轴线相垂直的平面来生成剖切面,并且传统BIM设计软件及应用平台所生成的剖切面、剖切盒自动与大地坐标系的正南正北方向相平行或相垂直。因此,需要反复调整剖切面的角度来实现预期剖切效果,并且也不一定精准实现与挡水建筑物轴线相垂直的剖切面来剖切挡水建筑物。运用本文提出的基于直线的三维模型剖切方法见图5,在挡水建筑物三维模型中很容易找到与挡水建筑物轴线相平行的轮廓线来生成与之垂直的法平面对三维模型进行剖切,可以一次性高效、精准地生成与挡水建筑物轴线相垂直的平面对挡水建筑物进行剖切。在大型土木工程行业,类似于水电工程挡水建筑物布置非正南正北(采用大地坐标系)的建筑比比皆是,采用本文提出的基于直线法平面的三维模型剖切方法,有效解决了现有三维模型剖切技术对于模型布置非正南正北的模型剖切需要反复调整的问题,同时适用于任意模型布置走向的剖切应用,提高了模型剖切效率和准确率,同时提升,BIM技术应用工作的便捷性。
图4 传统的剖切效果图
图5 基于直线的三维模型剖切图
4 结 语
本文针对三维轻量化模型,提出了1种基于直线的三维模型剖切方法。该方法不仅实现了基于三维模型任意直线法平面的剖切,同时实现了对三维模型进行多个剖切面的联合剖切,适用于任意布置走向的三维模型剖切,增强了工程实际应用的实用性和灵活性;该方法不仅简单、高效、精准、适用性强,而且精准地描述了模型的剖切面。通过实际工程项目验证了该方法的有效性、便捷性。