X
返回顶部
当前位置: 首页> BIM资讯> BIM技术

BIM技术解析:基于达索CAA架构的混凝土连续梁桥主体结构BIM建模工具开发

发布:中文网小编3号 浏览:1546人 分享
发布于:2020-07-20 10:31

image.png

    文章来源:铁路BIM联盟

    介绍一种全新的预应力混凝土连续梁桥主体结构建模工具,该工具使用达索/组件应用架构(CAA)二次开发语言实现,嵌入到达索软件内部,通过用户定义特征避免了工程模板的复杂内部逻辑结构,且拥有便利的用户界面输入窗口和表格数据输入模式

    借助该工具进行BIM设计同样遵循“骨架-模板”的建模思想,其骨架同样是与连续梁端部相对应的坐标系群,而模板是经过CAA二次开发的用户定义特征。实例化出来的各节段模型以零件(Part)形式存在,与坐标系保持关联,当坐标系变化时,节段大小和位置同步更新。

    达索CAA架构

    为了方便进行产品扩展和客户定制开发,DassaultSystemes提供了一种基于组件的定制开发机制,即CAA(componentappljcationarchitecture)。

    其采用面向对象的程序设计思想,基于COM和OLE技术,使CAA开发的程序代码更加规范化和标准化,程序模块更加具有独立性和可扩展性。

    CAA架构描述了达索系统内部模块之间的关系。基于CAA架构,客户也可以将定制开发的功能加入到达索系统中。利用CAA实现的客户定制功能,无论从界面风格和操作习惯,都可以达到和达索系统无缝集成的效果。用户非常容易接受和使用。

image.png

    CAA架构

    程序交互界面及操作流程设计

    连续梁设计工具的人机交互界面采用达索/CAA语言二次开发,直接嵌入到达索软件内部。

image.png

    全桥装配用户交互界面

    它具备以下特点:

    连续梁主体结构全桥装配功能嵌入到达索装配设计(AssemblyDesign)模块中,连续梁节段编辑功能嵌入到达索零件设计(PartDesgn)模块中

    设计参数采用表格输入和对话框输入两种手段同时进行

    作为设计成果的连续梁全桥模型与作为骨架的节段坐标系关联,当节段坐标系位置发生变化时,连续梁模型的空间位置和大小也同步发生变化

    使用其进行连续梁桥主体结构BIM设计时应遵循下图步骤:

image.png

    步骤1:设计准备工作。按照固定格式填充连续梁桥节段信息表格,该表格存储了连续梁各节段的长度、顶底板厚度、梁高等参数。再通过达索程序自带的KnowledgePattern功能,借助EKL语言,读取连续梁节段信息表格中的数据,在几何图形集中生成连续梁节段骨架,并将节段信息表格也放入此几何图形集。

image.png

    连续梁节段信息表格

image.png

    仓库物资清单

    步骤2:选择用于存储连续梁节段骨架的几何图形集。程序会自动识别并读入存储在几何图形集内的骨架坐标系和节段信息表格。

    步骤3:选择用于存储连续梁各节段零件的父级根节点。生成的连续梁节段零件将悬挂在该节点下。

    步骤4:修改交互界面中的“其他参数值”,包括断面尺寸参数,例如梁顶宽、底宽、横向排水坡坡率等,这些几何参数对于所有连续梁节段来说都是相同的,因此可以在一个统一的界面中修改。程序给出了断面尺寸参数的默认值,用户可在此基础上修改。“其他参数值”还包括坐标系的前缀,因为对于不同的用户来说,其通过EKL语言生成的节段坐标系名称前缀可能各不相同,为了便于对坐标系的识别从而与节段信息表格的第一列对号入座,在此处抽取其前缀用以过滤出有用的编号信息。

    步骤5:生成连续梁全桥主体结构模型。当所有必需的连续梁生成步骤均完成时,对话框的OK按钮即被激活,点击此按钮后生成全桥模型。

image.png

    全桥三维模型

    步骤6:修改连续梁节段模型。在结构树中双击特征节点或在模型窗口中双击模型,即可打开如节段模型修改窗口,此窗口能够根据用户个性化需求修改节段尺寸参数和端部坐标系。

image.png

    节段模型修改窗口

    实现语言及模块设计

    CAA二次开发策略与思路

    特征(feature)是达索操作界面向用户开放的基本元素,由于连续梁节段模型的特殊性,达索并未提供一个具有代表性的特征。目前,大多数情况下,连续梁节段几何模型都是通过对已有特征进行复杂数学运算得到的,通过此方法得到的几何模型由于包含复杂数学运算,使用效率低下,同时由于其开放性,各个使用环节的用户都可对其进行修改,不利于传递过程中的数据稳定,因此需要建立用户定义特征。

    达索向用户开放3种CAA建模工具:几何建模工具(GeometryModeler)、特征建模工具(FeatureModeler)和物理建模工具(MechanicalModeler)。3种建模工具在用户定义特征的创建和使用过程中起着重要作用。

image.png

    达索提供的8个可派生基类存储在2个特征目录文件(catalogfile),即MechMod.feat和CATHybridShape.feat,这些可派生基类适用于不同类型的特征。当用户需要创建自定义特征时,可根据自身情况选择与期望功能相适应的基类,再通过特征建模工具建立用户需要的特征抽象基类,此抽象基类仅包含对特征属性的声明。

    物理建模工具的作用就是实例化此特征抽象基类,对特征属性定义,变成一个具体类,也就是一个特征对象。几何建模工具能够根据特征对象的属性值生成可视的拓扑结果,其结果在CAA语言中表示为CATBody接口。

    模块设计

    Dassault/CAA是基于COM技术进行组织开发的,因此将该设计工具划分为3个模块来实现其功能,分别为界面模块(UserInterfaceModulus)、节段拓扑模块(TopologicalModulus)和特征模块(FeatureModulus)。

image.png

    界面模块

    界面模块用于用户界面交互功能的实现,分为创建工具条和创建用户交互窗口两部分。

    工具条采用Add-in的方式添加,由于全桥装配功能和节段编辑功能分别嵌入到装配设计(AssemblyDesign)模块和零件设计(PartDesgn)模块中,因此,分别实现CATIAssyWorkBenchAddin和CATIPrtCfgAddin两个接口。

    首先创建用户交互窗口Dialog文件,再通过对CATMmrPanelStateCmd类的派生,重载GiveMyPanel方法,使派生类与用户交互对话窗口Dialog文件关联。重载BuildGraph方法,完成传统交互窗口无法实现的对话流程操作。

    BuildGraph方法通过命令状态(CommandState)和代理(Agent)两个关键元素来实现用户与界面的交互响应。代理分为两种:CATDialogAgent代理用来获取界面控件响应;CATFeatureImportAgent继承自CATDialogAgent,专门用来获取特征。每个命令状态中存储了若干个代理,CAA对某一代理所接受的用户操作进行判别,决定是否执行不同命令状态之间的转换。

    特征模块

    连续梁节段作为一个具有独立几何形状的实体,需要派生自达索提供的MechanicalFormFeature基类,并为其指定属性。特征属性按照类型分为开始坐标系和终止坐标系两种,此属性值本身也是特征。节段各几何尺寸属于数值类型的属性,通过特征建模工具能够得到该特征的抽象基类,此抽象基类仅对特征属性进行了声明。物理建模工具用于定义此抽象基类,简单来说就是需要一个类型接口和一个工厂接口将此抽象基类具体化。

    类型接口(TypeInterface)包含若干个方法,其作用是对特征属性进行定义,使用户借助类型接口能够达到提取特征属性值和对特征属性赋值的目的。

    工厂接口(FactoryInterface)仅包含1个方法,以属性值作为输入参数,实例化得出以类型接口表示的特征结果。

    节段拓扑模块

    节段拓扑模块的作用是将特征模块创建的以内存数据表示的特征结果转化为可视的拓扑造型。

    通过继承CATIFmFeatureBehaviorCustomization接口,并重载此接口的Build方法,在本方法内部运行几何建模工具来生成拓扑造型。

    作为达索内部机制,当系统执行更新()操作时,CATIFmFeatureBehaviorCustomization接口的Build方法自动被激活。作为承担控制建模流程作用的模块,界面模块执行以下流程:成功生成特征结果后,运行更新操作,系统通过Build方法触发节段拓扑模块,从而生成与特征结果相适应的可视化拓扑几何形状。

    节段拓扑形状的生成过程以特征属性值作为输入元素,可通过类型接口提供的方法获取。

    对于混凝土节段,在其长度范围内,线路是有平弯的,而节段的两个端面均竖直,也就是说对于起点坐标系和终点坐标系,y轴在同一个平面内但不平行,z轴均竖直向上。如果直接在两个坐标系上生成拓扑体,会导致某些原本在一个平面上的4个点出现翘曲而产生几何体生成错误。为了防止此类现象的出现,可沿起、终点坐标系连线复制起点坐标系,对于起点坐标系和复制的起点坐标系来说,其y轴是平行的,基于这样两个坐标系生成拓扑体不会导致几何错误,最后使用终点坐标系的xz面切割此体,去除多余部分。

image.png

    节段生成过程

    由外圈和内圈组成空心的连续梁截面,分别用9和11个关键点表示。

image.png

    连续梁截面关键点

    坐标系原点和方向向量可通过CATMathAxis类的GetOrigin、GetDirections方法获取,有了原点及方向,内外圈各关键点坐标可由数值型特征属性值经过简单数学运算得到,再通过CATCGMTopPointXYZ函数生成拓扑点。经过这些步骤,就完成了从数学层到拓扑层的过渡,再通过拓扑点、线、面、体的逐层晋级生成最终拓扑形状。

    拓扑层内部操作多次用到达索TopologicalOperator功能,具体涉及接口有CATICGMPowerFill、CATICGMHybAssemble、CATICGMCloseOperator、CATICGMDynBoolean、CATICGMDynFillet和CATICGMDynSplit。其均派生于CATICGMTopOperator,在使用过程中作为临时对象,当生成拓扑结果后再将接口释放。拓扑层内部操作过程如下:

    步骤1:使用CATCGMTopLineFromPoints函数,以拓扑点作为输入参数,分别将内圈、外圈相邻关键点连接成线;分别将内圈、外圈具有相同编号的起、终坐标系关键点连接成线。

    步骤2:使用CATICGMPowerFill接口,以步骤1生成的线作为输入参数,将4个首尾相接的线所围空间填充成面。

    步骤3:使用CATICGMHybAssemble接口,以步骤2生成的面作为输入参数,分别将位于外圈和内圈的离散面结合成整体。

    步骤4:使用CATICGMCloseOperator接口,以步骤3生成的结合后的面作为输入参数,分别通过外圈面和内圈面所限制的空间范围生成拓扑体。

    步骤5:使用CATICGMDynBoolean接口,将步骤4生成的外圈体和内圈体进行布尔相减运算,扣除连续梁内部空心部分。

    步骤6:使用GetEdgeFromEndPositions函数,通过端点位置获取连续梁节段中需要倒角的边(CATEdge),使用CATICGMDynFillet接口执行倒角操作。

    步骤7:使用CATICGMDynSplit接口,以终点坐标系的yz平面和步骤6生成的拓扑体为输入参数进行切割,去掉终点坐标系和复制的起点坐标系之间的部分,形成最终拓扑体。

    以预应力混凝土连续梁桥主体结构为背景,分析了以工程模板和Action功能为基础的BIM建模方法的局限性,并介绍了达索/CAA系统架构,开发出一种基于CAA二次开发的预应力混凝土连续梁桥主体结构BIM建模工具。

    该BIM建模工具嵌入到达索系统内部,以用户界面对话框和Excel表格作为数据输入媒介。在模块设计方面,通过界面模块、特征模块、节段拓扑模块,使用户定义特征从虚拟的可派生基类逐步具体化成为可视的拓扑形状,并最终组装成全桥模型。

    本文介绍的开发过程也为基于达索/CAA二次开发的BIM研究提供了基本思路和方法。

    内容来源

    铁路BIM联盟成员单位——中国铁路设计集团有限公司

    齐成龙.

    基于达索平台CAA架构的混凝土连续梁桥主体结构BIM建模工具开发.图学学报.


BIM技术是未来的趋势,学习、了解掌握更多BIM前言技术是大势所趋,欢迎更多BIMer加入BIM中文网大家庭(http://www.wanbim.com),一起共同探讨学习BIM技术,了解BIM应用!