基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

三维设计技术是当前计算机辅助设计的发展趋势,在机械、建筑、化工、石油等设计行业已得到较为成功的应用,并成为市场竞争的重要工具[1-2]。中国铁路总公司提出,要建立以 BIM 为主要技术框架,以铁路工程全生命周期管理为目标的工程信息化平台和应用模式,确立了 BIM 技术在铁路设计中的地位。

模型是信息的载体,而三维建模又是 BIM 技术的基础和难点。桥梁工程中常用的三维 BIM 软件包括泰克拉、达索系统、奔特力,3 种软件系统各有所长。泰克拉软件擅长处理钢结构的复杂节点构造,在钢筋混凝土结构的二维出图和钢筋数量统计方面也很有优势,但是这种优势仅局限于小规模的桥梁工程,对于有复杂造型的桥梁或长大桥梁适应性差;

达索系统软件源于机械航空领域,因此对于有复杂造型要求的工程结构非常适用,并且其服务器工作模式能够适应桥梁工程的庞大数据量,但是该软件在钢筋设计方面尚有待加强;奔特力除了是一个软件平台以外,还包含了很多桥梁工程专业设计工具,其虽然为桥梁工程 BIM 应用提供了便利,但是由于无法全面考虑国内规范标准和设计习惯,也无法覆盖某些关键设计过程。

目前基于达索系统软件的 BIM 设计大多采用“骨架-模板”的建模思想[3]。“骨架”为与连续梁端部相对应的坐标系群,连续梁节段为工程模板(Engineering Template) ,实例化过程采用达索系统action 功能。此方法虽然能够实现批量建模,但是由于工程模板的复杂内部逻辑结构,导致实例化效率低下;同时由于复杂内部逻辑对各个环节的使用者均开放,也不利于传递过程中的数据稳定。

本文介绍一种全新的预应力混凝土连续梁桥主体结构建模工具,该工具使用达索系统/组件应用架构(component appljcation architecture,CAA)二次开发语言实现,嵌入到达索系统软件内部,通过用户定义特征避免了工程模板的复杂内部逻辑结构,从而确保数据的稳定传递和建模效率的提高[4]。便利的用户界面输入窗口和表格数据输入模式更易于被普通设计人员接受,有利于 BIM 技术的推广应用。

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

01

达索系统CAA架构

DassaultSystemes 作为一款优秀的 BIM 设计软件,在许多领域得到了广泛的应用,尤其在航空业,90%以上企业使用该软件进行结构设计。

为了方便进行产品扩展和客户定制开发, DassaultSystemes 提供了一种基于组件的定制开发机制,即 CAA。其采用面向对象的程序设计(
object-oriented-programming, OOP) 思想,基于COM 和 OLE 技术,使 CAA 开发的程序代码更加规范化和标准化,程序模块更加具有独立性和可扩展性。如图 1 所示,CAA 架构描述了达索系统内部模块之间的关系。

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

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图1 CAA架构

02

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

图 2 是根据连续梁桥主体结构设计过程的需要而设计出的用户交互界面。该人机交互的连续梁设计工具采用达索系统/CAA 语言二次开发,直接嵌入到达索系统软件内部[6]。其具备以个特点:

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

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

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

该设计工具的操作流程如图 3 所示,使用其进行连续梁桥主体结构 BIM 设计时应遵循以下步骤:

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图2 全桥装配用户交互界面

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

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图3 操作流程设计

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图4 连续梁节段信息表格

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

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

步骤 4. 修改交互界面中的“其他参数值”,包括断面尺寸参数,例如梁顶宽、底宽、横向排水坡坡率等,这些几何参数对于所有连续梁节段来说都是相同的,因此可以在一个统一的界面中修改。

程序给出了断面尺寸参数的默认值,用户可在此基础上修改。“其他参数值”还包括坐标系的前缀,因为对于不同的用户来说,其通过 EKL 语言生成的节段坐标系名称前缀可能各不相同,为了便于对坐标系的识别从而与节段信息表格的第一列对号入座,在此处抽取其前缀用以过滤出有用的编号信息。

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

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图5 全桥三维模型

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

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图6 节段模型修改窗口

03

实现语言及模块设计

3.1 CAA 二次开发策略与思路

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

达索系统向用户开放 3 种 CAA 建模工具(Representation Modeler) :

几何建模工具(GeometryModeler)

特征建模工具(FeatureModeler)

物理建模工具(MechanicalModeler)

这 3 种建模工具在用户定义特征的创建和使用过程中起着重要作用,如图 7 所示

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图7 CAA 建模流程

达索系统提供的 8 个可派生基类存储在两个特征目录文件(catalog file) 中,即 MechMod.feat 和CATHybridShape.feat,这些可派生基类适用于不同类型的特征。

当用户需要创建自定义特征时,可根据自身情况选择与期望功能相适应的基类,再通过特征建模工具建立用户需要的特征抽象基类,此抽象基类仅包含对特征属性的声明。物理建模工具的作用就是实例化此特征抽象基类,对特征属性定义,变成一个具体类,也就是一个特征对象。几何建模工具能够根据特征对象的属性值生成可视的拓扑结果,其结果在 CAA 语言中表示为 CATBody 接口。

3.2 模块设计

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

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图8 模块设计

3.3 界面模块

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

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

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

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

3.4 特征模块

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

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

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

3.5 节段拓扑模块

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

通过继承


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

作为达索系统内部机制,当系统执行更新(Update)

操作时,


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

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

对于混凝土节段,在其长度范围内,线路是有平弯的,而节段的两个端面均竖直,也就是说对于起点坐标系和终点坐标系,y 轴在同一个平面内但不平行,z 轴均竖直向上。如果直接在两个坐标系上生成拓扑体,会导致某些原本在一个平面上的 4 个点出现翘曲而产生几何体生成错误。

为了防止此类现象的出现,可沿起、终点坐标系连线复制起点坐标系,对于起点坐标系和复制的起点坐标系来说,其 y 轴是平行的,基于这样两个坐标系生成拓扑体不会导致几何错误,最后使用终点坐标系的 xz 面切割此体,去除多余部分(图 9)。

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图9 节段生成过程

由外圈和内圈组成空心的连续梁截面,分别用 9 和 11 个关键点表示(图 10)。坐标系原点和方向向量可通过 CAT Math Axis 类的 Get Origin、

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

基于达索系统平台 CAA 架构的 BIM 建模工具开发(转)

图10 连续梁截面关键点

拓扑层内部操作多次用到达索系统 Topological Operator 功 能 , 具 体 涉 及 到 的 接 口 有CATICGMPowerFill 、 CATICGMHybAssemble 、CATICGMCloseOperator、CATICGMDynBoolean、CATICGMDynFillet 和 CATICGMDynSplit。

其均派生于 CATICGMTopOperator,在使用过程中作为临时对象,当生成拓扑结果后再将这些接口释放。拓扑层内部操作过程如下:

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

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

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

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

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

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

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

04

结束语

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

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

来源:CATIA云课堂

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月2日
下一篇 2020年6月2日

相关推荐