基于UG的枪管快速设计与分析
2017-02-02朱博文高跃飞王月桐
朱博文,高跃飞,王月桐,刘 松
(中北大学 机电工程学院,山西 太原 030051)
枪管作为自动武器中核心零部件之一,是完成武器射击的基本零件。当前枪管设计过程中主要是借助一些通用CAD软件完成一些诸如绘图、三维实体建模等方面的工作,计算机为设计人员的设计工作提供了一定的辅助作用,但是设计的自动化程度低[1]、用户友好性差,并且在枪管设计过程中需要多种软件交互操作,设计人员需要耗费大量的时间来完成多个软件工具操作等繁琐的工作。枪管是一种较为典型的零件,在实际设计中其几何拓扑关系变化不大,而结构尺寸却需要随时调整,这样就会产生大量的重复设计,增加劳动与时间成本,基于UG二次开发模块开发的参数化建模功能可有效解决这种重复设计问题[2-4]。
笔者以UG /NX 8.0软件相关二次开发模块为基础,以枪管设计计算及参数化建模为重点,将枪管设计经验和流程以向导形式加以固化,形成枪管快速设计与分析的模块开发方法。并通过UG/Open API和C++与MATLAB混合编程方法完成了后台程序的设计计算和参数化建模,充分保留C++的简单、快捷及自由性和MATLAB强大的图像处理功能,使得设计人员不必使用其他软件工具,只需在UG环境中即可独立完成枪管设计各个步骤,不必耗费大量的时间对设计人员进行理论知识和软件应用方面的培训。使设计人员从大量复杂而琐碎的设计计算、手工绘图、实体建模的工作中解脱出来,从而集中精力于设计创新,极大地提高了枪管设计效率,缩短研发周期,并减少了过程信息的存储量。
1 枪管设计
1.1 设计思路
枪管在设计过程中,首先需根据枪管设计的相关知识和枪管设计要求,提取相关设计参数,为后续设计提供数据基础。内膛结构设计主要包括结构形式的确定和相关参数的设置。外形结构设计则是对枪管材料、安全系数等的选取以及外形调整。在内膛及外形设计完成后,可得到枪管的实体模型,以此模型为基础,对枪管进行有限元分析计算。
1.2 内膛结构设计
对于内膛结构设计,其结构形式和结构参数的选择均由设计人员来完成。在线膛设计中,需要选择矩形膛线、梯形膛线、圆形膛线等线膛截面形状,并输入膛线数、膛线深度、导程等参数,就可得到相应结构形式的线膛特征。
弹膛设计与线膛设计类似,也是通过设计人员选择椎体个数后,输入各椎体的大端直径以及椎体到枪管尾端的距离等参数,相较比线膛复杂的一方面就是需要考虑弹膛开槽的形式。
另外,在确定内膛结构后,内膛结构部分参数会以数据文件的形式保存起来,供后续内弹道计算调用。
1.3 外形结构设计
设计枪管的外形时,首先应进行强度计算,以决定各主要断面的壁厚。并根据枪管与其结合零件的大小和所在的部位,考虑工艺要求、刚度和热容量等因素来调整枪管的外形,使之成为满足强度要求、形状规则的枪管[5]。
枪管在射击时受到的力很复杂,有弹头在内膛中运动的力,枪身后坐力和火药气体压力等。因此,根据基本假设[6]在MATLAB中编写相应内弹道方程,并以C++与MATLAB混合编程技术,开发一个以MFC为界面、MATLAB为后台计算程序的内弹道计算模块。
威县的葡萄基地则是我国五大葡萄产区中唯一符合最适宜区7项指标要求的优生区,常年种植优质葡萄10万亩以上。近年来,威县按照供给侧改革发展理念,通过产业结构调整,大力发挥葡萄种植科普示范基地、葡萄种植专业合作社等组织的作用,引导农户强力推广成熟的葡萄种植技术和优质的葡萄品种,使威县葡萄种植产业逐步成为带动农民增收致富的又一大主导产业。
本模块的开发重点是MATLAB文件如何生成DLL文件和C++如何调用DLL文件。笔者在MARLAB 2010b中,通过Deployment Tool工具直接将m文件转化,生成相对应的头文件、库文件和dll文件,供后续调用。将生成的文件移动到VC++程序工作路径下,并在VS 2010编译平台下添加附加依赖项和设置附加包含目录,完成编程环境的设置。
编程环境设置完成后,即可对MATLAB文件的函数进行调用,从而实现C++对MATLAB程序的调用,完成混和编程。内弹道程序编写完成后,可生成独立运行程序(*.exe)。这样,内弹道模块既可独立运行,也可通过system函数在VC++中随时调用。
输入原始数据并进行内弹道计算后,便可得到相关内弹道数据,并以此进行枪管平均压力曲线或高低温压力曲线的计算和绘制,平均压力法处理界面如图2所示。
选择枪管各部分安全系数和枪管材料后,就可得到枪管理论强度曲线。最后,根据枪管外径计算公式[5]确定枪管各主要截面的外径,以此绘制枪管的理论外形,公式为
(1)
式中:r1为枪管内膛结构设计得出的内径;r2为得出的理论外径;n为各部分的安全系数;p为各部分膛压;σs为材料屈服极限。
以上步骤完成后,有关数据将会保持到指定位置的系统初始化文件(*.ini)中,供后续调用或存储。
2 基于UG/Open的二次开发
在UG环境下应用UG表达式的功能建立枪管参数化模型, 并通过UG/Open的二次开发功能完成枪管的系统化开发。本软件使用UG二次开发模块BlockUIStyler设计相关对话框,并保存为*.cpp、*.hpp、*.dlx3个文件,用VS2010编译器调用*.cpp、*.hpp的文件,编译生成*.dll文件,等待调用[7-8];编辑UG软件中的MenuScript文件进行菜单界面设计,并保存在用户目录的startup子目录下,进行联合开发。
2.1 菜单和对话框设计
新建文本文件,写入相关代码,修改扩展名为*.men文件,并将其放入用户开发子目录startup下,即可通过UG/OpenMenuScript制作协调于UG的新菜单。UG启动后,系统会自动调用用户注册目录下的菜单文件和工具栏脚本文件中的信息,在UG指定位置显示菜单如图3所示。
利用UG/OpenBlockUIStyler定制用户对话框。进入块UI样式编辑器,在设计对话框中添加向导、膛线数、膛线尺寸、弹膛锥数、内弹道计算按钮等,并添加对应的位图文件,调整各个控件的相对位置。完成后的效果图如图4所示。
2.2 参数化建模
通过修改枪管模板模型的尺寸参数来实现参数化建模。模板模型库事先用手工方式建立,建立过程中定义重要尺寸的表达式,这些特定的驱动参数包括:枪口形状、弹膛锥数、膛线数、膛线形状、外形参数等,并与指定对话框的控件相关联,保存在程序指向的目录下。
由于枪管特征较多,所需建立的模板也很多,若只采用手工方式建立模板,需要大量的时间来完成模板的创建,而产生的模板数量也很多,这为软件的运行造成了不便。若只采用后台程序建模,也需要大量的精力来完成。所以笔者采用UG/OpenAPI与手工方式相互结合的方法完成参数化模型的创建,节省了存储空间和工作量。
参数化建模的基本过程是:运行枪管设计分析平台→参数化建模→启动UGNX→打开模板文件→修改驱动尺寸→根据新尺寸重建模型→存储新文件→关闭UGNX。
2.3 系统的实现
本软件以VS2010编译器和UG/NX8.0为开发平台。首先将“:UGUGOPENvs_files”下的VB、VC、VC# 3个文件夹替换到VS2010目录下对应的文件夹下;在VS2010中新建一个NX8OpenWizard1项目模板文件;将BlockUIStyler生成的*.cpp、*.hpp文件替换到项目文件中,编写相应的回调函数,生成动态链接库文件(*.dll),供菜单项调用。系统实现流程如图5所示。
2.4 数据传递
本模块主要是为了实现UG的各个模块数据的保存与提取,以及各个模块相互之间数据的自动传递。当数据较少不必引用数据库时,可以利用文件解析与重构技术实现UG系统数据管理,模块的数据以文件的形式完成保存、提取和传递等功能,可以使系统各模块相互独立,开发的程序不会太长,易于修改、扩充。
3 实例
以某7.62mm自动步枪[5]为例,启动UG软件,选择【设计分析一体化软件】|【枪管设计分析一体化软件】|【枪管设计分析】,如图3所示。弹出如图4所示的对话框,根据向导步骤依次进行枪管设计。
在图4对话框中输入内膛结构参数,完成后,点击下一步,进入外形结构设计对话框,如图6所示。
外形设计完成后,单击完成,即可在UG环境中建立枪管的实体模型,结果如图7所示。
经过参数化设计完成模型与原有枪管模型进行对比,可知用本软件设计的枪管模型符合枪管设计要求,与原有枪管模型差别可忽略不计,满足设计要求。
4 枪管模态分析
弹丸射击时,由于枪管的振动会增大射角的散布,进而影响射击密集度。模态分析可为轻武器系统的振动特性分析、射弹分布情况以及结构动力特性的优化设计提供依据。
弹丸射击时枪管发生的振动主要有横向振动、纵向振动、扭转振动以及幅向振动。武器设计时,要使激励频率避开枪管固有频率,以免发生共振。为了保证武器良好的射击精度,对枪管进行模态分析是十分必要的。
NXNastran模态分析集成于UG高级仿真模块中,用于计算和评估结构的固有频率,计算时不考虑阻尼和外载荷。采用Lanczos法求解,该方法精确度高,收敛速度快[9]。网格单元属性类型选择为CTETRA(4),设枪管材料属性为:质量密度ρ=7 800 kg/m3,杨氏模量E=210 GPa,泊松比μ=0.30,屈服强度σ=475 MPa。解算后,枪管有代表性的模态振型图如图8所示。 从振型计算结果可以看出,前10阶模态中出现了6个固有频率区域,3种振型,各阶模态频率中,第1、2阶模态频率最低,在89 Hz左右。以600发/min射速计算,射频为10 Hz,意味着武器振动周期比射击周期小很多,能够避开该枪管的固有频率。最大应变均出现在枪管尾端固定约束边界位置,因此应提高此区域的结构强度。
5 结束语
笔者应用UG/Open API和C++与MATLAB混合编程技术,充分发挥各自的优点,对UG进行二次开发。将枪管设计经验和流程以向导形式加以固化,定制了协调于UG环境下的枪管设计向导对话框和菜单,实现了枪管的设计分析和参数化建模,使得在UG软件本身即可独立完成枪管的设计分析过程。极大地提高了设计效率,且为枪管的系列化和建立枪管数据库提供了基础。
根据实际应用中的需要,利用UG自带有限元模块NX Nastran对枪管的固有频率、振型进行了模态分析,对枪管结构进行动态性能评估,为后续的设计工作提供合适的动频率参数,避免设计枪管时发生共振现象。
References)
[1]马俊. 基于特征技术的UG参数化建模的研究[J]. 机械工程与自动化,2009(6):179-180,182. MA Jun. UG’s parametric modeling based on feature technology[J]. Mechanical Engineering & Automation, 2009(6):179-180,182.(in Chinese)
[2]王峰,俞新陆.产品级三维参数化设计系统的研究与开发[J].计算机辅助设计与图形学学报,2001,13(11):1012-1018. WANG Feng, YU Xinlu. Research and development of product-dimensional parametric design system[J]. Journal of Computer Aided Design and Computer Graphics, 2001,13(11):1012-1018. (in Chinese)
[3]马翠霞,孟祥旭.参数化设计中的对象约束模型及反向约束的研究[J].计算机学报,2000,23(9):991-995. MA Cuixia,MENG Xiangxu.Research on object constraints model and inverted constraints in parametric design[J].Chinese Journal of Computers,2000,23(9):991-995.(in Chinese)
[4]史丽媛,祝锡晶,马继召.基于UG 参数化设计系统的研究[J].图学学报,2013,34(2):108-112. SHI Liyuan, ZHU Xijing, MA Jizhao. A UG-based parametric design system[J]. Journal of Graphics, 2013,34(2):108-112. (in Chinese)
[5]戴成勋,靳天佑,朵英贤.自动武器设计新编[M].北京:国防工业出版社,1990. DAI Chengxun, JIN Tianyou, DUO Yingxian. The new compiles of automatic weapon design[M].Beijing: National Defense Industry Press,1990.(in Chinese)
[6]金志明.枪炮内弹道学[M].北京:北京理工大学出版社,2004. JIN Zhiming. Gun interior ballistics[M].Beijing:Beijing Institute of Technology Press,2004.(in Chinese)
[7]杨宗亮, 吴兆华. UG二次开发技术及其开发技巧[J]. 机械工程师, 2007(4):112-114. YANG Zongliang, WU Zhaohua. The second development technology and development skill of UG[J].Mechanical Engineer, 2007(4):112-114. (in Chinese)
[8]周临震, 李青祝, 秦珂. 基于UG NX系统的二次开发[M].镇江:江苏大学出版社, 2012. ZHOU Linzhen, LI Qingzhu, QIN Ke. Application deve-lopment using NX open[M].Zhenjing:Jiangsu University Press,2012.(in Chinese)
[9]付永涛,谷立臣,李亮,等.基于UG二次开发的变位斜齿轮参数化建模研究[J]. 机械传动, 2014(1):62- 66. FU Yongtao, GU Lichen, LI Liang,et al. Study on parametric 3D modeling of modified helical gear based on UG secondary development[J]. Journal of Mechanical Transmission, 2014(1):62-66. (in Chinese)