职场文秘网

首页 > 心得体会 > 学习材料 / 正文

基于CATIA,二次开发的拱坝施工单元建模及属性提取

2023-03-03 08:55:14

刘 全,游 川,王浩

(武汉大学水资源与水电工程科学国家重点实验室,湖北武汉 430072)

十四五规划以来,我国大力推动水利现代化建设,水利现代化的基本标志和重要内容是水利工程信息化。水利工程信息化需要以数字孪生技术为基础应用架构,将智能化、信息化技术应用于传统的水电工程设计和施工管理过程中[1],解决传统设计施工过程中效率低、信息互馈过程繁琐、智能化建造水平不高等问题[2]。水电工程设计和施工管理需要大坝施工单元信息(如:混凝土浇筑仓、土石坝填筑层等的空间和体形控制参数)来控制与指导工程施工。大坝施工单元是工程建设管理的数据基础,可视为坝体空间的微分元,同时也是大坝BIM 的基本单元。对于大型工程高坝而言施工单元数量多、不规则,且需随水工设计和施工方案调整和更新,须采用信息化、自动化处理手段以保证工作周期。

坝体施工单元信息化是当前工程智能化研究的热点问题,5D BIM、PDM(产品数据管理)、虚拟仿真等信息化技术近年已成功应用于工程领域。如Lu等采用5D BIM 系统进行单一工程的现金流分析[3]。Namchul 提出了一种能够支持工程变更分析的PDM数据库[4]。王仁超等提出在IFC基础上构建基于BIM的混凝土坝施工仿真信息模型的方法[5]。这些研究集中于以坝体施工单元模型为数据基础载体实现工程设计和施工管理信息化。而在参数化建模方面,主要借助Autodesk、Bentley 和Dassault 等平台提供的设计软件,构建坝体施工单元与提取其属性参数,实现参数化建模和自动化的参数提取任务。如伍鹤皋等[10]开发了基于CATIA 二次开发的球形钢岔管辅助设计系统,罗通[11]等构建了自动化的渠道三维设计应用程序。楼涛[12]等提出一种基于3DEXPERIENCE 平台的拱坝结构快速建模方法,尹习双[13]等讨论了基于CATIA 构建混凝土坝的施工单元。然而这些研究缺少对复杂坝体结构信息化建模的研究,尚未形成系统可靠的理论方法。

以拱坝模型为代表的复杂坝体参数建模成为当前亟需解决的重难点问题。拱坝的曲线曲面众多,结构复杂,相较于重力坝与土石坝,需要拱冠曲率、拱端中心角等特征参数,有更高的参数化难度,需要建立一套全新的参数化构建体系与逻辑。因此,本文提出了基于CATIA 二次开发的拱坝施工单元建模及属性提取方法,应用CATIA 二次开发技术以参数化构建拱坝三维模型,剖切三维模型后得到施工单元,提取施工单元轮廓几何特征,采集控制点坐标,并确定其空间属性。同时,通过改变建模与剖切的参数可将本文方法的应用范围推广至其他坝型,具有优良的工程适应性。

目前,混凝土拱坝施工一般采用通仓浇筑,不设置纵缝。横缝将坝体划分为若干坝段,分开浇筑。坝段内的浇筑升层多为1~3 m,也有特殊部位浇筑高度达到4.5 m。因此,为了拱坝施工单元建模及属性提取任务,拱坝的施工单元可依据横缝及浇筑仓的施工分层划分来建立。划分好施工单元后,再在CAD平台中提取施工单元模型的几何参数及属性。施工单元模型的几何参数包括施工单元的底面积与体积,相关属性参数主要是施工单元的角点坐标以及彼此的相对位置。

拱坝施工单元构建及属性提取的流程图如图1 所示,图1中左列为每一步的操作,右列为对应操作得到的结果。

图1 施工单元构建及属性提取流程图Fig.1 Construction unit construction and attribute extraction flowchart

上述流程中,关键问题有两个:①拱坝体形分析以提取拱坝体形参数;
②如何采取参数化建模技术高效准确地完成属性参数的提取。

1.1 坝体体形分析

拱坝坝体施工单元的构建不同于混凝土重力坝或土石坝[14],重力坝与土石坝的施工单元多为形状规则的几何体。而拱坝由不规则曲面构成,需要通过分析拱坝的整体体形,构建高精度的拱坝三维模型。

在拱坝的三维建模中,将拱坝看成由参数控制的水平拱圈连续变化而形成的空间壳体结构,故高拱坝体形可由拱圈和拱冠梁断面定义,一般采用拱圈控制方程配合拱圈厚度的方式描述[15-17]。以某抛物线型双曲拱坝为例,其拱圈曲线为抛物线型,如图2所示。

抛物线型拱圈方程为:

式中:x、y为拱圈点的坐标值;
R为拱冠曲率半径,分为Rul、Rur、Rdl、Rdr(分别表示上游左岸、上游右岸、下游左岸、下游右岸的拱冠曲率半径);
φ为(似)中心角,分为φL、φR(同理分别表示左岸与右岸);
O为拱冠曲率中心到坐标原点的坐标值。图2 中:TC为拱冠处的厚度,X为拱端到Y轴的距离,分为XL、XR(对应左岸与右岸)。

图2 抛物线型拱坝水平拱圈描述示意图Fig.2 Schematic diagram of the horizontal arch circle of the parabolic arch dam

拱冠断面决定各层水平拱圈的相对位置,某拱坝的拱冠断面示意图如图3 所示。水平拱圈与拱冠断面的曲率半径、(似)中心角与拱冠厚度等参数一般以坝高为参数,用如式(3)的坝高3次多项式描述。

图3 某抛物线型拱坝拱冠梁断面图(单位:m)Fig.3 A parabolic arch dam arch crown beam cross-sectional view

式中:z表示拱圈平面与坝顶平面的铅直距离;
A、B、C、D为待定系数。

1.2 施工单元属性提取方案分析

以往拱坝坝体施工单元的参数属性的提取技术方案主要有:方程解析法、CAD制图分析法等。

方程解析法需要根据坝高确定拱圈平面,在该拱圈平面内,拱圈与坝体横缝投影的交点坐标即为施工单元的一个角点坐标,其算法复杂,且难以适应各种拱坝参数体系,难以建立普适解法。

CAD 制图分析法为通过分析CAD 二维图档得到施工单元属性的方法,CAD 制图分析法因为截面的平面性与拱坝模型的复杂性难以反映拱坝的三维真实模型,施工单元的构建需要借助多个平面的视图、投影等关系来反映,处理步骤繁琐[13]。

本研究利用数字孪生技术模拟坝体施工单元的虚拟建模场景,不同于以往的方程解析法和CAD 制图分析法主要通过数据本身来模拟分析坝体施工单元的性质,本研究提出的基于CATIA 二次开发的拱坝施工单元建模及属性提取方法通过参数化手段可针对不同拱坝类型建立统一的建模和求解格式,构建了拱坝施工单元的数字孪生建模平台,动态建立映射真实坝体的孪生应用。

CATIA 是法国Dassault System 开发的交互式CAD/CAE/CAM 一体化解决方案。CATIA 平台以其优秀的扩展性与强大的二次可开发能力在水利水电行业内得到了大量的应用[15,16]。CATIA 的二次开发方式主要有3 种:①采用CAA(Component Application Architecture,组件应用架构)C++技术。②使用CATIA 自带的VBA编程环境直接调用Automation API接口驱动CATIA软件。③通过C#等编程语言添加CATIA编程接口,以第三方编程语言调用Automation API。三种技术各有其优缺点。

CAA C++是CATIA 的一整套C++函数库,该函数库在CATIA 运行时加载。用户通过安装RADE(Rapid Application Development Environment)模块,用户可以在VC++编程环境下编写程序,与CATIA 通信[17,18]。CAA C++模式可以实现几乎所有CATIA功能,但是C++语言十分繁琐,程序编写困难。

CATIA 自带的基于Automation API的VBA 编程环境过于简化,难以实现CATIA 的某些功能[22]。因此上述两种实现方式都不是很适合。

由于C#语言在编程语法层面上较C++语言更为简洁明了,且实现能力与C++开发几乎无差异,因此如果采用C#语言引入COM组件进行开发,会有如下优势:

(1)C#语言具有在Windows 平台上十分优秀的桌面框架,可更好地实现软件的可视化界面。

(2)C#语言的代码结构简洁,条理清晰,通过对CATIA 宏生成代码进行少许修改即可运行。

(3)相较于其他两种开发方式,C#语言具有更多的第三方代码库,方便项目的开发和代码的重用。

经过综合对比,采用结合C#语言和Automation API 接口作为本文问题解决方案的技术栈。

3.1 软件架构

在编程软件Visual Studio中通过添加COM组件库引用搭建基于C#语言的CATIA 二次开发环境,通过调用Automation API接口构建自定义的应用程序,软件的架构如图4。

图4 基于Automation API的软件架构图Fig.4 Software architecture diagram based on Automation API

3.2 程序逻辑处理

基于CATIA 二次开发的拱坝施工单元参数化建模及属性参数提取软件的程序总体逻辑处理模块如图5。具体的业务逻辑可分为3个阶段:分层拱圈与拱坝实体建模、施工单元的构建与几何参数提取、坝体施工单元角点坐标提取,分别说明如下。

图5 基于CATIA的坝体模型切割程序模块Fig.5 CATIA-based dam model cutting program module

(1)分层拱圈与拱坝实体建模。对于不同线型拱圈的双曲拱坝,在拱坝的各控制高程绘制不同拱圈时需要通过Factory2D平面工厂类调用CATIA 有关平面的绘制方法以绘制抛物线、双曲线、椭圆等不同的线型,同时为达到批量生成的目的,还需要设计好绘制程序在拱圈控制高程发生变化时的运行逻辑。

在拱圈平面上绘制好抛物线、双曲线或椭圆等拱圈线后,通过CreateLine(创建直线)命令以直线连接上下游拱圈的端点,以AddNewJoin(接合)命令将直线与拱圈线拼接成一个整体,成为一个闭合线框后即可作为Loft(多截面实体)的闭合截面(在CATIA 中以Loft 类型表示三维实体),多个高程上的闭合截面放样即可生成拱坝实体模型。

在此基础上,通过ShapeFactory 实体工厂类调用CATIA 有关实体的操作方法以创建拱坝三维实体。

首先通过CreateReferenceFromObject(以目标对象创建参考对象)命令定义拼接后的各高程截面为Reference 对象,(CATIA在通过已有的元素创建新的元素时,为避免新旧元素彼此耦合,需要创建Reference 对象,以Reference 对象为桥梁创建新的元素,这样在对新创建的元素进行操作时不会影响到原有的元素)然后通过AddNewLoft(创建实体)命令创建新的三维实体(即拱坝实体Loft),最后以AddSectionToLoft(添加截面到体)命令向Loft 中添加Reference 参考截面,即可完成多截面实体放样生成拱坝三维模型。

(2)施工单元的构建与几何参数(底面积与体积)提取。对大坝实体模型进行实体切割操作以构建施工单元的三维模型,然后在该三维模型对象上调用GetMeasureable 方法得到施工单元的表面积和体积等几何参数。在进行上述的切割操作时,可通过调用SaveAs(另存为)方法将过程中产生的半成品模型保存到文件,比如大坝实体的模型,及切割而成的单个坝段的模型。后续程序在用到半成品模型时,可以直接调用Open(打开)方法直接读取中间文件,提高文件的复用性。避免重复新建模型和分割坝段的操作,提高程序的运行效率,增强程序运行的稳定性。

在建立好坝体三维模型和坝段参考线拉伸的平面后,调用ShapeFactory 实体工厂类中的AddNewSplit 方法,即可依次将坝体模型实体切割为单个坝段。调用AddNewSplit 方法时,需要注意根据保留部分与切平面的位置关系设定大坝保留与切除的部分。

针对单个坝段,可先根据施工单元的顶部高程和底部高程,创建两个参考平面,相继调用两次AddNewSplit 方法,即可将单个坝段切割为一个的施工单元,最后调用GetMeasurable 方法即可求得施工单元的底面积与体积。

为实现算法的参数化,可将建模所需的拱坝体形、坝段分缝、施工分缝等特征参数保存在参数文件中。

(3)坝体施工单元角点坐标提取。在实际拱坝工程中,需要根据设计方案提供的横缝布置规则将坝体分割为各个坝段,单个坝段又根据水平施工缝的布置方案明确施工浇筑升程,因此可依据横缝及浇筑仓得到施工单元。

拱坝三维实体模型建立后,模拟横缝建立横向分割面以切割拱坝模型得到坝段模型,针对各个坝段模拟水平施工缝建立水平分割面得到施工单元模型。因为CATIA 三维模型对象的复杂性,模型没有自明的三维拓扑关系(三维模型只有边界点的概念,不是所有的边界点均是施工单元的角点),很难通过API 取得其角点坐标(空间概念难以指明),所以采用根据分缝参数模拟坝段与水平施工缝的相交情况得到施工单元的角点坐标(两者的交点即为坝块的角点坐标)的方法。

首先根据坝体分缝参数和高程信息,以坝顶高程为控制平面,通过CreateLine 方法可以生成一系列坝段分割参考线(即横缝),然后在各个草图中根据坝体总高程,通过AddNewExtrude(创建新拉伸)方法将坝段分割参考线拉伸成平面,确保平面完全切割了坝体。通过AddNewHybridSplit(创建新分割曲面)命令将拉伸形成的平面依次与坝体作分割操作。

然后在水平施工缝的参考平面上通过CreateClosedCircle(创建闭合圆)和AddNewFill(填充平面)命令在高程平面上创建水平施工缝平面。通过AddNewIntersection(相交)命令即可求得水平施工缝平面与相应坝段曲面的交线,最后调用GetMeasurable(测量)方法即可求得交点坐标。

某拱坝拱冠梁上、下游坝面曲线、拱冠梁厚、拱冠处曲率半径及(拟)中心角等坝体体形参数用坝高的3 次多项式函数拟合[23]。坝体体形参数见表1。其中:AZ为拱冠梁上游面的y坐标,m;
TC为拱冠梁的厚度,m;
Rul为上游左岸拱圈拱冠梁中心处的曲率半径、Rur为上游右岸、Rdl为下游左岸、Rdr为下游右岸,m;
φL为左拱端的(似)中心角;
φR为右拱端的(似)中心角。

表1 拱坝体形参数的插值系数Tab.1 The interpolation coefficient for the arch dam body shape parameter

坝体分缝参数见表2。其中:b为分缝参考线在Y轴上的截距;
θ为分缝参考线与X轴正向的角度;
k为分缝参考线的斜率。

表2 拱坝坝体分缝位置参数(示例)Tab.2 Position parameters of the slit of the arch dam body

4.1 拱坝参数化建模

本工程拱坝为抛物线型双曲拱坝,于是在绘制拱坝拱圈时,以控制高程为基准,通过AddNewPlaneOffsetPt(通过偏移创建平面)方法可以生成一系列不同高程的草图参考平面,然后在各个草图中根据顶点坐标、抛物线轴线矢量、焦点距离,通过CreateParabola(创建抛物线)方法就能够准确生成抛物线,以起始位置和终止位置截取所需要的抛物线段。

给定模型特征参数,以C#程序通过Automation API 调用CATIA 主体,可以快速得到拱坝骨架的三维模型。构建好拱坝的各层拱圈模型后,即可通过多截面生成拱坝实体,拱坝的各个高程控制拱圈与实体模型如图6。

图6 拱坝骨架与实体模型Fig.6 Arch dam skeleton and solid model

4.2 坝体施工单元角点坐标提取

根据第3 节的程序逻辑,坝体施工单元角点坐标提取的各步骤效果如图7所示。先根据坝体横缝模型参数将坝体划分为多个坝段,然后根据水平施工缝的高程创建参考平面,坝段的分割曲线与参考平面的交点即为施工单元角点坐标。施工单元的角点坐标如表3所示。

表3 施工单元角点坐标(示例)mTab.3 Example of corner point coordinates for construction units

图7 施工单元角点坐标提取过程示意图Fig.7 Schematic diagram of the extraction process of angular coordinates of construction units

4.3 施工单元的构建与几何参数提取

根据第3 节的程序逻辑,施工单元的构建需要剖切坝体模型实体,剖切而成的单个施工单元与所有施工单元组成的整个坝体模型对比如图8所示。提取得到的施工单元的几何参数如表4所示。

表4 施工单元几何参数(示例)Tab.4 Example of construction units geometry parameters

图8 单个施工单元与坝体模型对比图Fig.8 Comparison of individual construction units with dam model

4.4 案例分析

(1)数据处理的规模与效率。本工程案例拱坝最大坝高217.00 m,拱冠顶厚11.00 m,拱冠底厚45.00 m,顶拱上游面弧长584.29 m,可构建0.5 m 升层施工单元6 971 个。如果采用人工进行坝体模型剖切得到施工单元并获取参数,可能需要花费数周时间,效率低、处理周期长,且人工在剖切模型和数据处理时,很难保证数据准确性。而本研究研发的程序在2 个小时内可建立包括模型参数、建模中间变量或模型中间文件数以万计,程序只占用15MB 左右的内存,得到118 507 条施工单元的数据,生成1.75 GB 的模型文件。因此本研究提出的基于CATIA 二次开发的施工单元构建及属性参数提取方法大大缩短了拱坝施工单元构建的时间、提高了建模与属性参数提取的效率,而且研发的程序占用计算机资源少、可靠性强,可稳定运行,实用价值高。

(2)模型的重用技术。同一坝段中只需要根据施工单元的底部高程和浇筑升层划分拱坝施工单元,也就是说,同坝段施工单元模型都源自该坝段的模型。从提高模型复用性的技术角度,在剖分得到施工单元模型时,会反复用到所处坝段的模型。如果不能复用坝段模型,那么每次在构建施工单元模型时需要重新构建整个大坝的模型并重新剖切,会产生大量重复的中间步骤,编辑历史会保存在CATIA 的编辑堆栈中,大大降低处理效率,浪费大量计算资源,使程序运行时间成倍增加。进一步的,在CATIA 中保留过多的模型编辑历史,将直接影响程序的稳定性。未重用坝段模型的情况下,程序运行4 h 即会由于编辑堆栈溢出导致程序崩溃,重启程序后,程序总运行时间将长达14 h。

(3)本方法的参数化和适应性。本研究提出的方法是参数化的,改变建模参数,包括拱冠处的曲率、控制高程、(似)中心角的角度等,即可建立相应的其他抛物线型双曲拱坝模型。本文的工程案例中虽然给出的是抛物线型双曲拱坝,但是即使是其他曲线的拱坝坝体,在建模和坝体施工单元的构建逻辑上也是大同小异的。基于CATIA 出色的曲面建模能力,针对不同线型的拱坝方程,对程序的参数条件进行适当调整即可将本程序推广至其他类型的拱坝。

同时,利用CATIA 平台提供的几何信息提取能力,可以规避各种大坝体形和剖分方式带来的异形几何体提取的方法差异。不论是抛物线,还是椭圆构成的施工单元边界,在CATIA中求取其面积都是一样的。而如果要根据拱圈类型设计其几何信息求取算法,情况会复杂得多。

进一步的,本文提出的施工单元剖分方法也可以在现有大坝模型的基础上单独工作,通过代入预先建立的复杂坝体模型(带孔洞等结构的完整坝体模型或重力坝的三维体形),剖切得到施工单元及其参数。

因此本方法具有优良的工程适应性,可在大多数的施工单元建模过程中应用。

针对水电工程拱坝坝体体形复杂,难以构建坝体施工单元的模型并获取施工单元属性参数等问题,基于CATIA 二次开发,本文提出了参数化的拱坝三维建模及施工单元属性参数快速批量提取的方法。基于CATIA 的Automation API 接口,与C#语言简洁、准确、强类型规范和丰富的库相结合,高效、准确地完成了拱坝拱圈和三维模型的构建;
再通过多截面实体、相交、分割等命令和布尔运算依次构建生成坝体整体和施工单元模型,进而取得施工单元的几何体形参数。本研究可针对拱坝体形、拱坝施工方案与施工进度情况动态更新施工单元模型及其属性参数,极大的提高了传统人工处理的效率,为施工仿真和施工进度管理提供了有力支持。同时也为进一步结合坝体结构进行力学分析,确定拱坝的受力条件与施工进度的合理性提供了基础。本研究成果是大坝BIM 快速建模、施工过程可视化等方面的基础技术。

猜你喜欢 坝段拱坝拱圈 Phytochemicals targeting NF-κB signaling:Potential anti-cancer interventionsJournal of Pharmaceutical Analysis(2022年3期)2022-07-22钢筋混凝土拱桥参数敏感性分析广东土木与建筑(2022年2期)2022-03-11高双曲拱坝碾压混凝土夏季施工实践探究建材发展导向(2021年20期)2021-11-20“冲顶”白鹤滩国企管理(2021年3期)2021-04-16白石水库坝体结构稳定性计算评价中国水能及电气化(2020年11期)2020-12-25整体浇筑堆石混凝土拱坝拱梁分载法分析研究水利学报(2020年10期)2020-12-13兰香沟管桥拱圈施工技术铁道建筑技术(2020年11期)2020-05-22水库加固处理中的帷幕灌浆施工分析中国新技术新产品(2019年5期)2019-05-21基于联合截面的圬工拱桥最小加固层分析筑路机械与施工机械化(2018年6期)2018-08-28水库砌石拱坝安全复核及坝体补强加固防渗处理中国工程咨询(2017年9期)2017-01-31

Tags: 建模   提取   单元  

搜索
网站分类
标签列表