参数化机械设计中的线图处理

(整期优先)网络出版时间:2014-05-15
/ 2

参数化机械设计中的线图处理

史召峰

史召峰SHIZhao-feng;陈周五CHENZhou-wu

(安徽工业经济职业技术学院,合肥230051)

(AnhuiVocationalInstituteofIndustrialEconomy,Hefei230051,China)

摘要:在机械设计中往往需要进行线图处理,本文介绍了使用VB语言对V带轮、齿轮等零件在设计时须应用线图处理设计的一种思路和方法,从而使计算机语言与机械设计紧密结合,提高设计的精准度,提高设计效率达到事半功倍的效果。

Abstract:Thelinegraphprocessingoftenrequiresmechanicaldesign.ThearticleintroduceshowtouseVBtodealwithVbeltwheel,gearandotherpartswhenrequiringalinedrawingprocessingdesignofatrain,sothatthecomputerlanguageandmechanicaldesignwouldbeascloseaspossible,improvingdesignaccuracy,andtheefficiencytoachieveamultipliereffectaswell.

关键词:机械设计;VB;线图处理;计算机辅助设计

Keywords:mechanicaldesign;VB;linegraphprocessing;computeraideddesign

中图分类号:TH12文献标识码:A文章编号:1006-4311(2014)14-0038-02

引言

通常,一项参数化机械设计任务,就是开发一套实用软件,它的处理对象是机械设计内容,利用可视化语言,实现机械设计的参数化,即在软件运行中,只需要改变为数不多的输入参数(如传动功率、传动比等),就可获得相应的机械设计结果(如模型、零件图等)。机械设计过程是一个复杂细致的过程,也是一个不断反复、不断完善、逐渐接近最优化结果的过程,机械设计的设计方法也在不断地发展。随着科学技术的发展,计算机软件在机械设计中运用比例增大,这也就是计算机辅助机械设计。下面就在机械设计中需要查询的线图来举例。

1机械设计中线图的分类

机械设计过程中,不仅需要查询大量的机械设计数表资料,也需要根据许多线图查询所需数据,机械设计用线图通常分为三种类型:直线、曲线和平面区域。

2计算机语言的选择

选择开发平台,需要考虑具体的机械设计任务内容。一方面,机械设计任务内容比较复杂,比如,需要大量计算、查询大量的数表和线图,绘制零件工作图等;另一方面,每种计算机开发语言都有特长与不足,而且不同开发人员的基础各有差别。因此选择开发平台要综合考虑上述三方面因素。就开发语言来说,VB(VisualBasic)具有功能强大,易学易用,编程简洁等特点,可节省设计者的工作时间,减少其工作强度。综合考虑,在开发工具时选用VB6.0语言编程。

3线图处理的基本思路

线图处理的基本思路是:对直线的处理,通常是首先用手工将其公式化,然后将其作为程序的数学模型;对曲线的处理,通常是首先将其数表化,然后用程序直接对该数表进行查询,有时也可进一步用手工拟合成数学公式再作为程序的数学模型;而对区域的处理,则首先用手工建立线条的数学模型,然后以此为基础,通过编写区域处理程序实现数据查询。下面以直线处理为例来加以介绍VB语言在参数化机械设计中的应用。

4直线处理

常见的机械设计用直线有两种,一种是直角坐标系中的直线,另一种是常用对数坐标系中的直线,两种直线的处理方法有所不同,下面分别举例介绍。

4.1直角坐标系中的直线处理对直角坐标系中的直线进行处理,就是用手工建立该直线的数学公式,以便在程序中引用。通常采用两点式直线公式或点斜式直线公式。

例如,图1为结构钢正火状态下的齿面接触疲劳极限。为建立数学公式,从直线上选择两点。例如选择点A(110,320),点B(200,410)。按线性关系可得任意点C的纵坐标σHlim为σHlim=320+■×(HBS-110)

上式即为结构钢正火状态下的齿面接触疲劳极限的数学表达式。式中HBS为自变量,表示布氏硬度。

为查询任意硬度时的齿面接触疲劳极限,可通过编写程序来实现。如输入齿轮硬度HBS=200,结果为σHlim=410MPa,主要代码如下:

OptionExplicit

PrivateSubCmchaxun_Click()

DimhbsAsSingle

DimxigamahlimAsSingle

hbs=Val(texthbs.Text)

Ifhbs<=0Then

MsgBox("硬度必须大于零!")

ExitSub

EndIf

xigamahlim=320+(410-320)/(200-110)*(hbs-110)

textxigamahlim.Text=xigamahlim

EndSub

实现输出程序运行时,窗体外观见图2。

上式即为该直线的数学公式。作为一个综合事例,V带选型图中所有直线(共有9条)数学公式的建立可按下述方法进行:

手工从9条直线上各取两点,将结点的坐标值做成表格,如表1所示。编写一个VB程序,逐个求出9条直线的数学公式,保存于数组中,将数组中的数据写入数据文件“交界线方程.txt”,以备使用。程序运行外观如图4所示,主要代码如下:

PrivateSubCmgongshi_Click()

Xianhao=Val(Txtxianhao.Text)

pd1=Val(Txtpd1.Text)

pd2=Val(Txtpd2.Text)

n11=Val(Txtn11.Text)

n12=Val(Txtn12.Text)

gonglv=Val(Txtgonglv.Text)

IfXianhao<=0Orpd1<=0Orpd2<=0Orn11<=0Orn12<=0Then

MsgBox("线号或坐标不能小于零,请重新输入")

ExitSub

EndIf

k=Log(n12/n11)/Log(pd2/pd1)

Fangcheng(Xianhao)="n1"+"("+Trim(Str(Xianhao))+")="+Str(n11)+"X"+"("+"pd/"+Str(pd1)+")"+"^"+Str(k)

Txtfangcheng.Text=Fangcheng(Xianhao)

Open"交界线方程.txt"ForAppendAs#1

Print#1,Fangcheng(Xianhao)

Close

EndSub

PrivateSubComdn1_Click()

Ifk=0Then

MsgBox("请输入结点坐标")

ExitSub

EndIf

gonglv=Val(Txtgonglv.Text)

Ifgonglv>0Then

n1=Int(n11*(gonglv/pd1)^k)

Txtn1.Text=n1

Else

MsgBox("功率Pdb不能小于零,请重新输入")

ExitSub

EndIf

EndSub

PrivateSubForm_Load()

Open"交界线方程.txt"ForOutputAs#1

Close

EndSub

5结语

在机械设计中使用参数化概念,使用过程中只需要修改相应的参数,就可以实现需求,可以极大程度上减少传统机械设计设计人员的计算、查询图表等工作量,本文利用VB语言,采用面向对象开发的思路,提高设计的效率和可靠性,大大减轻了设计人员的劳动强度,得到了广泛的应用。

参考文献:

[1]刘炳文.VisualBasic程序设计教程[M].北京:清华大学出版社,2006.

[2]沈被纳.计算机软件技术[M].清华大学出版社,2000.

[3]濮良贵,纪名刚.机械设计[M].高等教育出版社,2001.