APP下载

CATLA二次开发技术在三维重力坝稳定应力计算中的应用概述

2020-09-16厉海元

科学与信息化 2020年14期

厉海元

摘要:随着三维工程设计平台的逐渐成熟,二维工程设计向三维工程设计的步伐正在加快,行业内对三维的需求也更加强烈。CATIA作为一款强大的三维设计软件,已广泛应用于航空、机械等行业,近年来也受到水电行业的重视。本文采用CATIA作为设计平台,以c++为开发语言,利用cAA开发技术,参数化实现重力坝模型识别及多工况荷载的自动生成和提取,依据重力坝稳定计算规范完成重力稳定应力计算。

关键词:三维工程;二维工程;CATIA

1环境

CATIA是法国Dassault system公司的CAD/CAE/CAM一体化软件,居世界CAD/CAE/CAM领域的领导地位,广泛应用于航空航天、汽车制造、造船、机械制造、电子、电器、消费品行业,它的集成解决方案覆盖所有的产品设计与制造领域,其特有的DMU电子样子模块功能及混合建模技术更是推动着企业竞争力和生产力的提高。

CATIA通过两种方式与外部程序通信:进程内应用程序(In Process Applieation)方式和进程外应用程序(out ProcessApplication)方式。对CATIA进行二次开发一共有四种方式:Automation API,Knowledge ware,Interactive User DefinedFeature和CAAV5 C++AndJavaAPI。

三维重力坝稳定应力计算采用进程内的CAA V5 c++And Java API方式进行开发,即CAA(Component ApplicationArchitecture),语言选择c++,定制功能与原系统的完美集成。开发环境选择快速应用研发环境Rapid Application DevelopmentEnvironment(RADE),RADE是一个可视化的集成开发环境,它提供完整的编程工具组。RADEl?2Microsoft Visual Studio为载体,开发工具完全集成在了vc++环境中,并且提供了一个CAA框架程序编译器。可以说CATIA CAA RADE是目前所有高端CAD/CAM开发环境中最为复杂、同时也是功能最为强大的一个。

三维重力坝稳定应力计算最终选择CATIA V5R21为平台,采用c++CAA V5、基于Microsoft Visual Studio 2008的RADE作为开发环境。

2参数化模型

模型作为计算的基础输入元素,市面也有各种不同的三维软件能够完成重力坝模块的创建。但由于设计人员对各类三维建模软件的熟悉程度、习惯等各不相同,为满足不同群体的需求,软件提供两种模型的建立方式:第一种为自由创建或第三方软件创建导入,这种方式可以很好地兼容旧的重力坝模型,尊重用户使用习惯,快速完成模型的建立;第二种为参数化自动创建,通过提供坝顶宽度、坝顶高程、坝底高程、上下游坡比、上下游牛腿等参数,软件自动创建三维重力坝实体模型,这种模式适合标准规则的重力坝,通知参数的输入即可完成模块的建立,当相关设计方案修改时,只需修改相应的模型参数就可以快速完成模型的调整,加快了方案调整之后模型修改。

2.1获取容器

CATIA是一个平台软件,适用于多种行业及专业,各相应专业需要选择适合于自己工作的工作台。重力坝计算以模块为主,选择了零件工作台,后续模型的创建及相关参数设计都以零件工作台为基础。软件为了完成模型的自动创建,必须先通过CATFrmEditor::GetCurrentEditor()->GetDocument(、)获取当前文档,然后找到模型的存放位置,即通过CATInit接口获取CATIPrtContainer容器。与零件体相关模型、参数、配置等内容都存储于容器中,可简单理解为对模块操作的总入口,只有获取到这接口可以完成后续的参数设置及模块生成。

2.2创建存储参数

为了保障系统的兼容性,软件将参数存储和管理与CATIA平台的参数管理完美结合,可以运用平台原生的参数管理功能遵照一定的命名规则配置模型参数。为了更好管理重力坝计算相关参数,依据CAA提供的基础对话框(cATDlgDialog),并借助于CATIDescendants接口,从CATIPrtContainer获取到CATICkeParmFactoryT厂,将参数逐个存储于零件体模型中,定制化开发了重力坝模型参数及稳定应力计算参数,集中管理所有参数,对话框能与CATIA平台完美集成,确保软件与平台的高度集成与一致,又定制化提供专业可视化交互界面,让专业知识与平台软件融为一体。

2.3生成草图

在完成模型参数的创建与保存之后,需要根据参数生成一个重力坝截面,在以零件体为载体的模型中,都必须创建一个草图,在草图中完成截面图形的生成,用程序具体实现步骤如下:

(1)从cATIPrtcontainer容器中獲取机械根工厂(cATIMe chanicalRootFactory),然后使用CreateOrderedGeometricalSet函数创建有序几何图形集(CATIMmiOrderedGeometricalSet)。

(2)从CATIPrtContainer容器中获取草图工厂(CATISketchFactory),然后使用CreateSketch函数创建一个草图(CATISketch)。

(3)获取草图(CATISketch)接口获取到二维图形工厂(CATl2DWFFactory),使用CreateConstraint创建重力坝控制点。

(4)获取草图(CATISketch)接口获取到二维图形工厂(CATl2DWFFactory),使用CreateLine创建连接线,将所有控制点顺序连接,构成一个封闭的区域。

2.4拉伸模型

模型生成的最后一步就是根据创建的草图,使用拉伸的方法将草图拉伸成一个模型,在CATIA平台中,主要是利用前一步所生成的草图(cATISketch),拉伸成凸台,软件具体实现步骤如下:

(1)从零件容器(CATIPrtContainer)获取零件工厂(CATIPrtFactory),

(2)调用CreatePad创建一个凸台。

(3)通过参数服务(cAACkeParms ervice)的CreateRelation函数创建相关参数的关联。

(4)通过参数服务(CAACkeParms ervice)的PublisherRelation~布相关联的参数。

(5)获取凸台的CATISpecObject接口,更新重力坝模型。

至此就完成重力模型的创建。

3荷载生成

重力坝稳定应力计算的荷载主要包括坝体、水、土、沙、浪、冰、地震等几大类,在三维软件中为了完成荷载数据的提取,需要将各类荷载根据参数生成一个个三维体,然后提取其体积乘以密度得出相关的荷载量。

重力坝稳定计算为了满足实际工作环境的需要,需要在正常蓄水位、设计洪水位、冰冻工况、校核洪水位、地震工况、完建工况六个工况分别完成相应的荷载的生成与提取。

软件在CATIA的导航树下使有序几何图形集创建六个顶级工况节点分别表示六个工况,然后再分别创建水平荷载,垂直荷载,第三级则是分别创建各类水压力、水压力、淤沙压力、浪压力等,标准荷载的创建由程序通过荷载参数按坝体创建的方式,先创建一个截面草图,然后使用CATIGSMFactory的CreateExtrude函数创建包络体,根据设计需要,也可以在相应节点下创建自定义的荷载。

4稳定、应力计算

本二次开发程序与水工专业提供的重力坝Excel標准计算算稿对接,Excel标准算稿按照《混凝土重力坝设计规范》(DL5108-1999)中稳定、应力的规范计算方法编制。

按导航树对各工况荷载创建情况,系统通过CATIMeasurableVolume接口逐一获取各工况下荷载体的体积,然后根据对不同荷载赋予的重度生成对应的荷载值,填充到Excel算稿对应的位置,并依据右手螺旋定则计算出各方向合力。Excel标准算稿根据《混凝土重力坝设计规范》的要求,提供稳定、应力计算规则以及计算结果判断标准。标准算稿将会根据上述计算出的各方向合力以及重力坝坝基几何属性参数,计算出重力坝在各种工况下的滑动力、坝踵坝趾应力的作用函数值,并与给定的抗力函数值进行比对,自动判断各相应工况下稳定、应力计算结果是否满足规范要求,对于不满足规范要求的计算结果以红色突出显示,只需修改相应计算基本参数或修改重力坝尺寸,然后即可一键重新进行计算,直到满足规范要求为止。

Excel标准算稿按照相关标准编制,生成的计算结果可直接打印,作为正式算稿使用。

5结束语

借助三维设计平台,利用CATIA成熟的二次开发技术,将繁杂的重力坝稳定计算与三维设计完美结合,实现了参数化荷载自动生成,能够直观展现出各荷载的大小,便于对各类荷载的检查与调整,在提高计算效率的同时,保证计算结果的精度;利软件实现计算稿的生成,保证了计算稿的统一规范,给后续校核审查提供有利条件,提高工程整体设计质量。三维重力坝稳定计算也是对当前二维设计向三维设计变革中一次大胆尝试,为后续水电工程设计在三维平台中的设计积累了丰富的经验,对其家的工程类的三维计算、三维工程出图等都有着积极的借鉴意义。