梁结构类型产品的配置开发研究

2021-04-02 00:55侯永涛嵇佳琪
机械设计与制造 2021年3期
关键词:模型库骨架形状

侯永涛,嵇佳琪

(江苏大学机械工程学院,江苏 镇江 212013)

1 引言

产品配置是指对预先定义的可配置产品的组件进行组合,满足个性化客户需求,完成产品定制的手段[1]。当前的产品配置多为零部件级,配置起来相对简单,主要是零部件的装配约束;特征级的产品配置研究相对较少,主要原因是特征操作相对零部件的装配约束更加困难。特征级的产品配置不但需要根据KBE(knowledge based engineering)技术建立工程向导确定驱动参数,而且产品模型需要进行参数化设计[2]。目前,对梁结构的配置仍然停留在零部件级的固定配置。以副车架纵梁结构为例,这种固定配置往往无法满足企业对副车架多种型号的需求,常常导致重新建模和重新设计。

知识工程(KBE)就是将经过长期工程考验的产品设计经验、数据、方法进行归纳整理和提炼,使之成为指导产品设计、制造行之有效的规范化设计知识,并与企业的CAD 系统结合,通过CAD 系统的二次开发形成专业化设计工具,其本质就是知识的再利用[3]。通过KBE 技术建立梁结构的模型库,并且库中模型的结构尺寸需要根据客户需求随时调整,这样很容易产生大量重复设计,基于NX 二次开发模块的参数化设计功能可有效解决这种重复设计问题[4-5]。基于KBE 技术,结合CAD 软件NX 的二次开发模块,将梁结构的配置过程以向导形式固化,完成梁结构的专业化配置工具。配置过程中,不断重复利用模型库中参数化模型,调用不同的参数模型形成不同系列的梁结构,使得梁结构可以从一种配置状态切换到另一种配置状态。

2 基于知识模型库的建立

通过整理梁结构各个部件之间的关系,归纳出设计过程中需要的工程知识,并定义出影响产品性能的工程参数[6]。根据工程知识建立计算产品性能的工程规则,再结合客户需求完成设计过程向导,以此完成工程参数到几何驱动参数的转化。将梁结构进行单元化处理,并设计了一种平稳可靠的方式实现单元模型的几何驱动。根据几何驱动参数完成几何模型,建立梁结构的单元模型库。

2.1 梁结构的单元化

根据产品规格和产品特性按功能将产品划分模块。为了从科学的角度合理地划分模块,需要分析产品的特征和结构,研究产品的结构组成,合并相同或相似的单元,分离不同的单元,最终通过模块化理论统一。

按功能将梁结构产品划分模块并分离为单元,简称为梁单元。每个梁单元拥有两个截面,不同的梁单元拥有不同的截面轮廓。为了建立更全面的库,必须构建不同的截面轮廓包含产品知识。在建立模型库时,该研究使用计算机软件NX9.0 构建3D 模型。

根据梁截面形状的不同,模型库中梁单元的数量,如表1 所示。有时为了满足客户需求,可以添加截面形状。当截面形状数量从n增加到n+1 时,库中梁单元的数量将增加2n+1 个。

表1 梁单元创建矩形Tab.1 Beam Unit Creation Rectangle

2.2 梁结构的控制方法

通过总结产品设计知识,利用KBE 技术形成知识库。在设计和计算过程中,使用已分类的参数来调用知识库中的相应知识和方法来完成设计和计算。在计算过程中,设计人员可以通过产品的关键参数来表示设计知识。

图1 两点之间的路径Fig.1 Path between Two Points

以梁单元为例,在工作坐标系下创建两个基准坐标系(CSYS)分别控制梁单元的两个截面的空间自由度。每个基准坐标系包含一个基准点、三个基准平面和三条基准轴。坐标系的基准点位于截面的中心位置,依靠基准坐标系的旋转平移控制截面的6 个自由度。接着,以一种稳定平滑的方法连接两个坐标系的基准点。具体效果,如图1 所示。

这种方法使梁单元两个截面之间平滑过渡,连接的曲线将引导模型的中心轨迹。具体方法示意,如图2 所示。P1 和P2 点是基准坐标系的基准点,位于截面中心。P1-2、P2-2 和Pm的位置通过K1、K2、K3、K4 这四个参数变量来控制。为了方便计算,K1=K2=K3=K4=0.5,这时P1-2、P2-2 和Pm分别位于线段L1、L2 和Lm的中点处。圆弧半径的值依靠a1、a2、b1、b2、α、β 这 6 个参数确定。以R1 为例:

图2 路径计算Fig.2 Path Calculation

图3 多变的梁单元的变形Fig.3 Variation of the Variable Beam Element

图4 梁结构的多样性变形Fig.4 Variety Deformation of the Beam Structure

使用这种方法P1 和P2 之间的路径,经过P1-2、P2-2、Pm平稳过渡。随着基准坐标系自由度和KR1等参数的变化,路径将产生大量可能性。结合梁单元截面轮廓的多样性,使得梁单元的可变性充足。具体效果展示,如图3 所示。多变的梁单元为梁结构的多样性提供了基础。将不同的梁单元通过相同的截面连接,经过多次连接得到需要的梁结构。梁结构中的梁单元与相邻的梁单元相互影响,如果改变其中一个梁单元的截面形状参数或截面自由度,那么相邻梁单元也要产生相应变化。通过控制梁单元,也间接控制了梁结构。梁结构的多样性具体效果,如图4 所示。

3 基于KBE 技术的NX 二次开发

基于KBE 技术结合NX 软件,通过NX/Open API 定制菜单和对话框,完成用户界面;并在对话框和模型库之间建立驱动、调用等关系,完成CAD 系统与几何模型库的连接。最终,以插件的形式供用户在NX 环境中通过用户界面进行调用,完成梁结构类型产品的专业设计。其具体的开发框架,如图5 所示。

图5 基于KBE 的开发框架Fig.5 KBE-Based Development Framework

3.1 用户界面开发

通过编辑NX 中的Menu script 文件进行菜单设计。首先,新建文本文件,将其扩展名改为*.men,并完成菜单脚本文件的编写。接着,将其保存于开发目录的Startup 文件下,完成协调于NX的菜单界面开发[7]。NX 启动后,系统会自动加载用户指定开发目录下的菜单文件,根据脚本程序在NX 指定位置显示菜单,如图6所示。

图6 配置菜单Fig.6 Configuration Menu

利用NX/Open 的Block UI Styler 定制用户对话框。打开块UI 样式编辑器模块,在设计对话框中添加向导、截面形状选择、截面自由度配置、截面形状参数配置等控件,调整其相对位置,并添加对应的位图文件。其具体效果在第四章开发实例中展示。

3.2 系统的实现

以NX 9.0 软件和VS2012 编译器为开发平台。将"NX 安装路径 UGOPENvs files”下的 VC、VC#、VB 三个文件夹复制到VS2012 的安装目录下;在VS2012 中新建一个NX9 Open Wizard模板项目;将Block UI Styler 生成的*.hpp 和*.cpp 文件替换掉模板项目中的头文件和源文件,编写相应地主函数和回调函数,生成动态链接库文件(*.dll),将其放置于应用程序目录下供菜单项调用[8]。系统的主要实现流程,如图7 所示。在系统实现过程中,NX9 Open Wizard 模板项目利用NX/Open API 与几何模型库之间建立了驱动、调用等关系。以此几何模型库通过模板项目与CAD系统完成了连接。使得客户在NX 独立环境中,通过用户界面就可以进行梁单元的调用、组合、更新和生成,最终完成梁结构模型。

图7 系统实现流程Fig.7 System Implementation Process

4 开发实例

以某小型轿车副车架纵梁为例,在NX 中进行联合配置开发,其配置过程具有高度的灵活性和稳定性。配置过程主要由四部分组成:(1)梁骨架配置(2)梁截面选择配置(3)梁截面自由度配置(4)梁截面形状参数配置。配置流程图,如图8 所示。

图8 梁结构配置流程Fig.8 Beam Structure Configuration Process

4.1 梁骨架配置

根据梁部件与相邻部件的关系,按功能划分模块,然后确定其骨架。该骨架包含了梁组件在三维空间中的位置信息。实例中将梁分成5 个模块为例,需要6 个截面,每个坐标系代表一个截面,如图9 所示。

图9 梁的骨架Fig.9 Skeleton of the Beam

4.2 截面形状选择配置开发

模型库中的梁单元根据截面形状的不同,可以分为许多不同的单元模型。在配置界面中根据选择的梁截面形状,确定加载单元模型类型。另外,通过点击“切换”或“添加”按钮,减少或增加需要选择的截面,间接决定需要加载的梁单元模型数量。其配置界面,如图10 所示。

图10 截面形状选择界面Fig.10 Section Shape Selection Interface

梁单元创建矩形表格1 中,两个截面形状可以确定一个梁单元的类型。根据对话框中所选截面形状的不同,通过NX/Open API 可以快速的从几何模型库中定位到所需要的模型。接着,需要将定位到的梁单元模型,加载到装配文件中。在加载单元模型时,根据截面形状的选择,如果需要对同一种单元模型重复加载。那么,在重复加载前,需要对其单元模型进行复制,再加载其复制模型。加载梁单元后的总装配模型,如图11 所示。

图11 梁单元的总装配Fig.11 Total Assembly of the Beam Unit

4.3 模型的更新

梁结构模型的更新主要由两部分组成:(1)截面自由度配置开发(2)截面形状参数配置开发。通过其控制梁单元的轨迹和截面轮廓,使得梁结构在不同配置状态间转换,满足了梁结构多种型号配置的需求。

4.3.1 截面自由度配置开发

当梁骨架的配置信息需要更新或有其它一些特殊需求,为了避免生成多余模型,占用额外的存储空间,需要重定义梁骨架。根据前文的控制方案,改变截面坐标系的6 个空间自由度,可以控制骨架在三维空间中的位置信息。当骨架的位置信息重定义后,后台程序将根据配置信息更新单元模型库中的梁单元,并重新加载。更新截面自由度的一个例子,如图12 所示。

图12 截面自由度配置界面Fig.12 Section Degree of Freedom Configuration Interface

4.3.2 截面形状参数配置开发

梁骨架的配置信息更新后,在确定截面形状的基础上,为了满足梁配置的灵活性,需要对梁截面形状参数实现更新配置。当改变配置对话框中的数据后,梁相应的截面形状参数将在总装配模型中发生变化。其配置界面,如图13 所示。

图13 截面形状参数配置界面Fig.13 Section Shape Parameter Configuration Interface

5 结语

以KBE 技术为基础,建立梁结构类型产品基于知识的单元模型库,使用NX/Open API 和Visual Studio 对模型库进行联合配置开发。将梁的配置流程以NX 中向导形式加以固化,在配置过程中调用模型库中的梁单元并加以更新,梁单元以截面轮廓和中心轨迹参数的改变而更新。这种结合KBE 技术的梁配置开发方法,确保了梁结构在三维空间中的可控性,实现了梁结构拓扑变化的多样性。并且NX 的向导模式,使得在NX 独立软件中就能完成梁结构类型产品的配置,极大地提高了工作效率,且为建立梁结构数据库提供了基础。

猜你喜欢
模型库骨架形状
挖藕 假如悲伤有形状……
浅谈管状骨架喷涂方法
基于Creo参数化建模的设备模型库建立方法
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
你的形状
基于模型库系统的金融体系流动性风险预警机制研究
基于模型库的现代成本会计计量系统研究
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用
GIS地形分析模型库管理系统的设计与实现
铁骨架配合物凝胶的合成、表征及催化性能