基于NX二次开发的参数化建模方法在优化设计中的应用

引言

  随着CAD和CAE技术发展及应用更加广泛和深入,在进行工程设计时,人们希望在设计阶段就能够对设计对象的性能有深入了解,并在此基础上进行优化。特别是在航空飞行器的结构和气动外形的设计方面,设计人员常常通过结构有限元和计算流体力学(CFD)等数值仿真方法进行分析。以获得精确可信的结果,进而对设计方案进行优化。

  建立分析对象的几何模型,是进行结构有限元和气动CFD数值计算的基础。由于优化需要对若干设计点进行分析,若对每个设计点单独建立几何模型,则会导致巨大的工作量。优化过程也无法流畅地进行下去,因此需要采用参数化建模方法。优化设计时,参数化建模时应当满足如下要求:

  1)模型由设计参数驱动,通过改变参数改变几何模型;

  2)能从外界(文件或数据库)获取设计参数,以及向外界输出几何模型和参数:

  3)可以方便地被优化流程调用,生成新几何模型的过程简单,可以脱离人机交互自动执行,且对其他程序依赖性低,能够独立运行。

  当前进行参数化几何建模主要有两种方式。一种是利用商用CAD软件对参数化建模的支持,直接建市设计对象的参数化模型,利用电子表格等方式对参数进行管理㈣,或在此基础上进行二次开发。封装中间步骤,使得建模过程更为方便㈣。但这种方式的缺点是无法脱离CAD软件环境,所有操作都需在界面下进行。并且由于优化过程中,模型会随设计参数的变化而不断更新。这不但需要占用大量系统资源和运行时间,而且通常情况下还需要人机交互,难以实现流程自动化。

  另外一种方式是利用诸如MSC,Patran、Gambit等前处理工具,通过编写脚本进行参数化几何建模,或直接建立有限元模型。这种方式可以实现流程自动化,但也有其固有缺陷。一方面,前处理工具的人机界面不够友好,设计人员在初次建模时需要耗费相当的精力在坐标计算、菜单选择等与设计相关度不高的操作上。弱化了对设计对象本身特征的处理;另一方面,在面对外形复杂的几何对象时,前处理工具在建模时就显得无能为力了。

  此外,上述两种方式都是针对具体的设计对象而进行的,在面对不同拓扑结构的设计对象时,就需要开发不同的程序或编写新的脚本,不具备通用性。面对这些不足,本文提出利用UG提供的UG/Open API接口进行二次开发,以获得可以根据输入参数更新任意参数化几何模型。具有通用性的程序,该程序可以脱离UG环境独立运行。能够与数值仿真软件无缝链接并被第三方优化平台所集成。

  1 UG/Open API开发模式

  UG/Open API是一个允许用户访问并影响UG对象模型的程序集,它支持C/C++语言,使得API程序可以方便地用到C++程序中,并利用强大的VC++集成环境进行编译。这样,就可以充分地发挥出VC强大的功能并利用包括MFC类库在内的丰富资源,优质高效地进行程序开发。

  根据程序运行环境的不同,UG/Open API程序可分为外部模式和内部模式。外部模式的程序可以脱离UG环境,在操作系统下单独运行,运行的结果通常不能在UG图形界面中显示,也无用户交互界面。内部模式的程序只能在UG环境下运行,用VC将应用程序编译链接生成动态链接库文件。供UG启动时加载,再通过用户菜单调用。

  要将参数化建模过程嵌入到优化流程中。就应当尽量避免对UG环境的依赖。让更新程序独立运行。由于UG/OpenAPI外部模式下的程序可直接编译生成可执行文件。而内部模式仍然需要UG环境的支持,因此UG/Open API的外部程序模式是满足本文要求的开发方式。

  2 基本思想和流程

  本文的基于UG二次开发的参数化建模过程,其基本思路包括如下两个步骤。

  1)创建设计对象几何模型的模板。根据设计对象的特点,在UG环境下创建一个由参数驱动的模型,它包含了基本设计意图和设计对象的拓扑特征,并用表达式将参数关联起来。同时,考虑到在一些优化任务中,分析过程不但需要几何模型供数值计算使用,还要用到诸如表面积、体积等几何特征参数以及质量、转动惯量等质量特性参数。通过测量来定义额外的表达式以对应必要的几何特征和质量特性参数。再将这个模型保存起来作为模板。

  2)根据给定参数,在模板基础上生成新的模型。通过二次开发,编辑模板文件中的表达式参数值,然后驱动系统生成新的模型,并输出几何特征参数和质量特性参数。

  按照上述思想。采用UG/Open API外部模式结合MFC进行开发参数化模型更新程序PMUP—UG(Parametric ModelUpdate Program for UG)。程序设定为两种运行模式:初始化配置模式和更新模式。   

 

  PMUP—UG运行时默认为配置模式,在该模式下。PMUP—UG由对话框方式出现。让用户选择模板文件以及配置输入和输出变量,如图2所示。使用者选择模板文件后,程序自动获取模型中包含的表达式,并通过对话框显示给使用者,使用者从中选取作为设计变量和输出变量的参数,程序将其分别保存在两个文件中。由参数牛成新模型时,首先给设计变量文件中相应的变量赋值,再通过命令行方式附加参数启动PMUP—UG的更新模式。在更新模式下,PMUP—UG从保存设计变量的文件中获取参数,据此修改表达式并重建模型。然后计算需要输出的参数并保存于文件中。更新模式为后台运行,无对话框和人机交互,可方便地被iSight等第三方优化平台集成。

  

  3 应用实例

  为了说明本文提出的参数化建模方法及PMUP—UG程序在优化任务中的可行性和有效性,本文利用一个实例来进行验证。如图3所示的工字截面悬臂梁结构,对其截面形状进行优化。使得该结构在满足强度和刚度要求的情况下所用材料最少。结构材料为某型钢,弹性模鼍为210GPa,泊松比为0.3,屈服强度350MPa,梁的长度为1000mm,自由端承受一大小为2000N,方向与纵轴成30度夹角向下的载荷。问题要求对梁截面参数形WU、HU、WW、HW、WS和HS进行优化,使得结构体积最小(即所用材料最少),同时最大等效应力小于材料的屈服强度,结构最大变形位移量小于5mm。

  1)在UG环境中建立该工字截面梁的三维实体模型,定义约束截面尺寸的表达式变量,并通过测量定义实体的体积变量,然后保存为文件。

  2)启动PMUP-UG程序的配置模式。打开1)中保存的文件,选择对应截面尺寸的表达式为输入变量,选择对应体积的表达式为输出变量。

  

 

  3)优化任务将截面尺寸参数输入到设计变量文件,并调用PMUP-UG的更新模式,生成新的几何模型并将模型的体积保存在输出参数文件中。

  4)优化任务调用MSC.Patran。利用PCL文件自动导入几何模型,划分网格、添加约束及载荷,并调用MSC.Nastran进行计算,然后输入计算得到的最大应力和最大变形位移。

  5)将模型的体积、最大位移和最大变形位移的值返回给优化器,优化器根据寻优算法的收敛准则对设计结果进行判断,若未达到最优,则生成一组新的尺寸参数,转到3),若已达到最优,则结束优化,输出结果。

  本文使用iSight优化平台集成PMUP—UG和MSC.Patran实现该优化流程,优化前后梁结构的各项数据。结果显示。优化过程执行后获得了满意的结果。说明PMUP—UG程序可以顺利地集成在第三方优化平台中并根据输入参数生成对应的几何模型。从任务流程中可以看出,在优化迭代过程中。UG环境下创建几何模型模板文件和配置PMUP-UG程序的操作只需执行一次,且有限元分析所需要的几何模型由PMUP—UG程序的更新模式自动生成。因此,对于优化流程来说。PMUP—UG程序的更新模式是一个相对封闭的过程。可以看作一个将设计参数作为输入、几何模型和几何参数作为输出的黑箱,被优化任务所调用。

    4 结论

  本文介绍了一种利用UG/Open API外部模式结合MFC进行二次开发来进行参数化建模的方法。并据此开发了PMUP-UG程序供需要几何模型参与的优化过程使用。实例表明,PMUP—UG程序可以方便地被第三方优化平台所集成,能够满足优化过程对参数化建模的要求。

  需要说明的是。实例中给出的梁结构几何模型较为简单,可以直接在MSC.Patran等前处理工具模型中建模,也可以通过定义梁单元属性的方式来定义截面形状。但该实例足以证明本文所采用方法的可行性和有效性。相比基于CAD环境的参数化建模方式和前处理工具来说。本文方法和PMUP—UG程序拥有如下优点。

  1)前处理工具在面对结构复杂,模型中存在大量曲线、曲面以及有离散变量的几何模型时存在困难。而PMUP—UG程序是通过参数来更新模板生成对应的几何模型。模板的创建依托UG的强大建模能力,不受模型本身复杂程度影响。

  2)尽管一些CAD建模软件可以通过脚本或者宏实现自动更新模型的功能。但需要启动建模环境而占用大量的系统资源,导致执行效率较低,这在需要多次迭代的优化流程中无疑是不利的。而PMUP-UG程序的更新模式完全脱离人机交互,脱离CAD环境在后台自动运行。占用系统资源较少。

  3)PMUP—UG的输入/输出参数以文本文件方式传递,可根据需要稍做更改与数据库进行数据交互。使其成为更高级CAE系统或多学科设计优化(MDO)体系中的一个模块。

  4)该方法在UG环境下创建几何模型的模板,不同拓扑结构的设计对象,其几何模型对PMUP-UG程序来说仅仅是表达式的数量和名称有所区别。因此,与部分类似应用的研究成果相比,该方法和PMUP-UG程序更具通用性。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空