基于SolidWorks 的加农炮身管三维参数化建模
2012-07-02梁振刚
梁振刚,刘 耀,王 冬
(1.沈阳理工大学 装备工程学院,沈阳 110168;2.齐齐哈尔北方机器有限责任公司,黑龙江 齐齐哈尔 161000)
长期以来,火炮身管建模是较复杂的工作。在分析火炮身管结构的基础上,开发火炮身管参数化建模程序,可以简化火炮身管设计的步骤,提高火炮身管设计的效率。
1 身管结构分析
根据身管结构特征确定如何对个各部分尺寸进行驱动的方案。一般线膛炮身管从膛内可分为3 大主要部分:药室部、坡膛和膛线部[1]。
药室是火炮放置发射药和保证发射药燃烧的空间。其容积取决于内弹道设计,而药室的结构形式和尺寸则取决于弹丸的装填方式和弹丸外形尺寸。坡膛的几何结构为一截圆锥,在绘制草图时,由一条斜线来控制其几何尺寸。只要确定这条斜线2个端点的坐标即可驱动坡膛部分的几何尺寸。膛线是指在身管内表面上制造出的与身管轴线具有一定倾斜角度的螺旋槽。膛线结构参数指膛线的宽度、深度和条数。因为身管的膛线部内径是保持不变的,且与口径相等,在平面草图上,其尺寸靠一条平行于中心线的直线控制,即3 个参量:内径半径和前后2 个端面与身管后端面的距离。所以,想要驱动膛线部的尺寸只需改变这3 个参量的值即可。
将该加农炮身管模型进行划分,可以得到14 个截面(如图1),这14 个截面就是构成身管主体模型的所有参数,通过对身管主体剖面草图上各截面上端点的坐标进行赋值的方法来对身管进行参数化驱动。
图1 身管截面划分
2 建立模板
2.1 约束关系
通过对身管内膛结构设计和身管外部结构设计的分析研究可知,加农炮身管尺寸存在一定的约束关系,所以在身管建模时,尺寸参数的输入要满足以下几点:①无论在身管的哪个截面上,外径都必须大于内径,且比值不能超过3;②身管坡膛锥度的范围为0.1 ~0.2;③身管膛线缠角α =5.0° ~7.2°;④身管膛线深度与口径的比值t/d=2;⑤身管膛线条数是4 的倍数,阴线宽度均大于阳线宽度。
部分尺寸约束代码:
If Cy2 <By2 Or Cy3 <By3 Or Cy4 <By4 Or Cy12 <By12 Or Cy13 <By13 Then
MsgBox "外径R2 过小","提示"
2.2 生成膛线
膛线是身管设计的关键部分,决定着身管建模的复杂程度。在炮口端面处插入一基准面,约束该基准面与炮口端面重合,在该基准面上进行草图绘制,生成一个新的草图后,首先绘制一个矩形,然后分别将该矩形的下边上两顶点与炮口内径所在边线添加重合的几何关系,将左右两边分别添加沿y 轴的几何关系,上下两边分别添加垂直于左右两边的几何关系,得到膛线的轮廓。插入螺旋线,调整方向为膛线方向,在属性管理器中设置螺距为膛线的长度,圈数为1。使用插入菜单下的特征→切除扫描,在左侧的属性管理器中选择轮廓和路径,在轮廓输入框中选择所绘制的矩形膛线草图,在路径输入框中选择所插入的螺旋线。完成第1 条膛线的生成后,通过插入菜单中的阵列/镜像→圆周阵列进行特征圆周阵列操作,绘画出最终所要生成的膛线条数。由此,我们就可以通过尺寸驱动的方法对膛线条数进行赋值,改变膛线的条数。在膛线绘制结束后可以修改螺旋线的长度和半径、轮廓矩形的边长,尺寸变更后所对应的特征尺寸也会随之更新,于是达成了尺寸驱动的目的。
3 身管的参数化设计
使用VB 编写程序建立与SoildWorks 的连接,根据输入的尺寸参数,实现参数化驱动,生成新的身管模型[2-3]。
实现参数化驱动的工作流程如图2 所示。
图2 工作流程
3.1 建立与SolidWorks 的连接
Visual Basic 不能直接调用SolidWorks 的应用程序并与其建立连接,他需要先创建一个对象Object 用来“盛放”SldWorks.Application 即SldWorks 的应用程序,通过这样的方法获得Solid-Works 的对象,建立了与SolidWorks 应用程序的连接。
部分代码:
Set swapp = CreateObject swapp.Visible
Set part = swapp.ActiveDoc
3.2 参数化驱动
通过VB 界面输入尺寸参数,利用已编程序判断尺寸是否满足约束条件,如果尺寸参数满足约束条件,通过语句Set Part =swApp.ActiveDoc 将当前的工作环境作为对象传递给Part。在soildworks 应用程序中自动重新生成三维身管模型。
部分代码:
MsgBox "正在重建中",,"提示"
part.Parameter("Bx1@草图2").Value = Val(Ax1.Text)
part.Parameter("Bx2@ 草图2"). Value = Val(Ax2. Text)+ Val(Ax1.Text)
4 应用实例
输入数据如图3 所示,重新生成的三维身管模型如图4所示。
5 结束语
本文在火炮身管结构分析的基础上,以某加农炮身管为例,确定了建模尺寸参数。使用VB 语言在SolidWorks 基础上编写了身管三维参数化驱动程序。实现了对身管模型的参数化驱动,提高了火炮设计工作的效率。
[1]潘玉田.炮身设计[M].兵器工业出版社,2007.
[2]王东.Visual Basic 为基的SolidWorks 标准零件库设计[J].现代制造工艺,2008(8):52 -54.
[3]陈家兑.基于solidworks 的斜齿轮参数化三维建模[J].现代机械,2010(2):31 -32.