1、机械毕业设计537弹簧CAD软件的开发0 前言本课题是设计一个运用VB语言的软件,该软件可以进行弹簧设计,在VB系统的引导下输入已知参数,选择计算条件,即可获得初步计算结果并进行多个方案的比较,可以获得操作者满意的设计计算结果。本课题的来源、基本前提条件和技术要求:a) 本课题的来源:在工程设计中,经常要碰到弹簧设计的问题,传统的方法很繁琐,本课题的设想是利用本软件简化常规设计的繁琐过程,节省设计时间,并运用计算机辅助设计,根据给定的条件完成弹簧设计及校核,让弹簧设计人员在很短的时间内能够得到合适的设计参数。 b) 要完成本课题的基本前提条件是:必须熟悉弹簧设计的流程,再确定方案。 c) 要完
2、成本课题技术要求是:必须能够熟练运用VB语言进行简单的程序设计。本课题要解决的主要问题和设计总体思路:a) 本课题解决的主要问题:弹簧CAD软件开发的程序流程、数据库的创建及调用该怎样实现、弹簧强度校核时的参考依据、网页的制作以及数据库的更新问题。b) 本课题的设计总体思路:本软件的技术路线分两部分,第一步是弹簧的设计及强度校核部分,这里面将涉及到数据库技术。第二部为Visual Basic 与 Web 。利用Microsoft Frontpage 制作网页,然后通过Visual Basic 调用网页。总体方案论证,论证该方案的可行性,具体为在VB中能否根据给定的条件完成弹簧的参数设计,然后在
3、宏观上列出即将设计的弹簧软件的程序界面,理清每个界面之间的链接以及各参数变量之间的关系。完成本课题需要对Visual BASIC进行深入地学习,对数据库的建立和管理有所掌握,对网页的调用有一定的了解。 预期的经济效益和社会效益:a) 经济效益:本软件从使用者的角度出发,体现了简明、通俗、易操作的特点,极易被用户所接受,因此,市场前景看好。b) 社会效益:一旦本软件投入生产,能够节省大部分因设计和计算的时间,因此能够提高社会生产率。本论文将对弹簧CAD软件设计的全部过程进行阐述,共分为六篇:第一篇为计算机辅助设计概述。简要讲述了计算机辅助设计的软件组成、技术特点以及在工程中的作用和意义等。第二篇
4、为弹簧的计算机辅助设计。讨论了弹簧设计的特点和内容以及弹簧CAD软件的设计。第三篇为关键技术的阐述。讨论了该软件设计过程中所涉及到的关键技术。第四篇为软件开发。分别讨论了开发平台的选择、总体设计及软件制作过程。第五篇为测试及应用。第六篇为结论。 本论文力求做到: a) 反映最新的设计思想 b) 反映与总结作者的设计成果 c) 理论联系实际由于软件设计博大精深,作者的知识水平与实践经验远不能与此相适应,故书中的内容定有不当或错误之处,恳请老师和同学批评指正。1 弹簧的计算机辅助设计1.1 计算机辅助设计的构成、特点、作用及意义1.1.1 计算机辅助设计系统的软件构成计算机辅助设计系统的软件构成如
5、图1-1所示。 图1-1 软件构成 图1-1 CAD系统的软件组成软件分为两大类:支撑软件和应用软件。支撑软件包括操作系统(实现对硬件的控制和资源的管理),程序设计语言(Fortran、Basic、C、二次开发语言和汇编语言)及其编辑系统,数据库管理系统(对数据的输入、输出、分类、存储、检索进行管理)和图形支撑软件(AutoCAD)。另一类是应用软件,它是根据本领域工程特点,利用支撑软件系统开发的解决本工程领域特定问题的应用软件系统。应用软件系统包括:设计计算方法库(常用数学方法库、统计数学方法库、常规设计计算方法库、优化设计方法库、可靠性设计软件、动态设计软件等)和各种专业程序库(常用机械零
6、件设计计算方法库、常用产品设计软件包等)。目前在二维CAD软件方面,国内已经开发出众多的应用软件,主要包括基于AutoCAD平台和自主平台两类应用软件。1.1.2 计算机辅助设计的技术特点:a) 图形处理技术 如自动绘图、几何建模、图形仿真及其它图形输入、输出技术。b) 工程分析技术 如有限元分析、优化设计及面向各种专业的工程分析等。c) 数据管理与数据交换技术 如数据库管理、产品数据管理、产品数据规范及接口技术等。d) 文挡处理技术 如文挡制作、编辑及文字处理等。1.1.3 计算机辅助设计在工程中的作用以意义计算机辅助绘图是CAD中工程应用中最成熟的领域,一个完善的CAD系统,应包括交互式图
7、形程序库、工程数据库和应用程序库。对于产品或工程的设计,借助CAD技术,可以大大缩短设计周期,提高设计效率。1.2 弹簧设计的特点及内容1.2.1 拉伸弹簧设计的特点及内容圆柱螺旋拉伸弹簧主要用于受拉伸载荷的场合,如联轴器过载安全装置中用的拉伸弹簧以及棘轮机构中棘抓复位拉伸弹簧,变形和应力的方向相反。因此,圆柱螺旋压缩弹簧的基本计算公式同样可用于拉伸弹簧。a) 圆柱螺旋拉伸弹簧的初拉力的确定圆柱螺旋拉伸弹簧的初拉力取决于材料种类、材料直径、旋绕比和加工方法。采用卷制后不需淬火的弹簧钢丝制成的拉伸弹簧,均有一定的初拉力。如果不要初拉力,则各圈间应有间隙。卷成后经淬火的拉伸弹簧没有初拉力。b) 弹
8、簧材料的选取弹簧材料的选取主要根据弹簧的工作条件,弹簧承受的载荷类型,是否受冲击载荷以及弹簧材料的许用力等因素确定,同时也应考虑弹簧制造的工艺性。弹簧用不锈钢丝A组 体现的性能:耐腐蚀,耐高、低温,用于腐蚀或高、低温工作条件的小弹簧;阀门用油淬火回火碳素弹簧钢丝 体现的性能:强度高,性能好,用于内燃机阀门弹簧或类似用途弹簧;油淬火回火碳素弹簧钢丝A、B类 体现的性能:强度高,性能好,适用于普通机械用弹簧,B类较A类强度高; 油淬火回火硅锰合金弹簧钢丝A、C类 体现的性能:强度高,弹性好,易脱碳,用于较高载荷的弹簧。A类用于一般用途和汽车悬挂弹簧,C类用于汽车悬挂弹簧;弹簧用不锈钢丝B组 体现的
9、性能:耐腐蚀,耐高、低温,用于腐蚀或高、低温工作条件的小弹簧;阀门用油淬火回火铬钒合金弹簧钢丝 体现的性能:有较高的疲劳强度,用于较高工作温度的高应力内燃机阀门弹簧或其他类似弹簧;弹簧用不锈钢丝C组 体现的性能:耐腐蚀,耐高、低温,用于腐蚀或高、低温工作条件的小弹簧。c) 弹簧材料许用力 弹簧常在变载荷和冲击载荷下工作,而且要求在承受较大应力情况下不产生塑性变形,因此要求弹簧材料具有较高的抗拉强度极限、弹性极限和疲劳强度极限,不易松弛。同时要求有较高的冲击韧性,良好的热处理性能等。弹簧的材料许用力与材料种类、载荷性质、热处理方法、弹簧丝的尺寸、弹簧的工作条件和重要程度有关。许用应力按弹簧的受载
10、情况和变载荷循环次数分为三类,循环次数在1000000以上的弹簧为I类,循环次数在1000100000之间及受冲击载荷弹簧为II类,循环次数在1000以下的弹簧为III类。考虑到经济性,应优先采用碳素弹簧钢,用以制造尺寸较小的一般用途的螺旋弹簧和板弹簧。对于受冲击载荷的弹簧应选用硅锰钢、铬钒钢等。在变载荷作用下,以铬钒钢为宜。对于腐蚀介质下工作的弹簧,应采用不锈钢和铜合金。1.2.2 压缩弹簧设计的特点及内容圆形截面圆柱螺旋压缩弹簧与圆柱螺旋拉伸弹簧相同,它主要用于受拉伸载荷的场合,如联轴器过载安全装置中用的拉伸弹簧以及棘轮机构中棘抓复位拉伸弹簧,只是变形和应力的方向相同。因此,圆柱螺旋压缩弹
11、簧的基本计算公式同样可用于拉伸弹簧。a) 圆柱螺旋压缩弹簧的弹簧刚度的确定圆柱螺旋压缩弹簧的弹簧刚度与安装高度、工作载荷、工作行程有关系,与其它的参数无关。b) 圆柱螺旋压缩弹簧的材料的选择弹簧材料的选取主要根据弹簧的工作条件,弹簧承受的载荷类型,是否受冲击载荷以及弹簧材料的许用力等因素确定,同时也应考虑弹簧制造的工艺性,具体的参照上面拉伸弹簧部分。c) 圆柱螺旋压缩弹簧的许用力圆柱螺旋压缩弹簧的许用力跟拉伸弹簧的许用力具体参照机械设计手册第三卷。1.3 变量的选择1.3.1 压缩弹簧设计的变量选择变量名称 含义 单位 a 安装载荷 N b 安装载荷 N c 工作载荷 N d 工作行程 mm
12、e 弹簧刚度 N/mm f 载荷作用次数 次 g 载荷类型 name1 材料名称 txml 弹性模量 MPa qbml 切变模量 MPa klqd 抗拉强度 MPa qyl 许用切应力 MPa dimention1 钢丝直径 mm xrb 旋绕比 thzj 弹簧中径 mm yxqs 有效圈数 m 端部型式 n 压并圈数取值范围 l 压并圈数取值 k 曲度系数 h0 弹簧自由长度 mm e1 弹簧实际刚度 N/mm wc 弹簧刚度相对误差 f1 弹簧安装变形量 mm f2 弹簧工作变形量 mm fs1 试验载荷 N1.3.2 拉伸弹簧的变量选择变量名称 含义 单位 a0 安装载荷 N b0 工作
13、载荷 N c0 工作行程 mm e0 试验载荷 N wc1 刚度相对误差 e2 实际刚度 N/mm azgd 安装高度 mm f0 载荷作用次数 次 d0 工作行程 mm name10 材料名称 qbml0 切变模量 MPa txml0 弹性模量 MPa klqd0 抗拉强度 MPa xyqyl0 许用切应力 MPa m1 端部型式 n1 端部刚度长度系数 xrb0 旋绕比 thzj0 弹簧中径 mm dimention2 钢丝直径 mm yxqs0 有效圈数 k0 曲度系数 f01 弹簧初拉力 N x5 最小变形比 x6 最大变形比 tmin 最小切应力 N tmax 最大切应力 N fl1
14、 安装变形量 mm fl2 工作变形量 mm fls 试验变形量 mm h01 弹簧自由长度 mm1.4 程序的流程图1.4.1 压缩弹簧设计的程序流程图 1.4.2 拉伸弹簧设计的程序流程图1.5 弹簧的设计计算 1.5.1 压缩弹簧的设计计算给定初始条件:安装载荷、安装高度、工作载荷、工作行程、载荷作用次数,要求计算出弹簧参数:钢丝直径、弹簧中径、有效圈数等,校核时需计算安装变形量、工作变形量、试验变形量、试验载荷、弹簧特性f1/fs、f2/fs、最小切应力、最大切应力、切应力比、验算疲劳强度、验算共振是否满足要求、稳定性的验算等。a) 钢丝直径的设计公式 (1-1) (1-2) d 钢丝
15、直径 C 旋绕比 k 曲度系数 F 工作载荷平均许用切应力 b) 弹簧中径的设计公式 (1-3) D钢丝直径c) 有效圈数的设计公式 (1-4) G 切变模量 k 要求弹簧刚度d) 实际弹簧刚度的设计公式 (1-5)e) 安装变形量 (1-6) f1弹簧安装变形量 F1安装载荷 e1弹簧实际刚度f) 试验载荷 (1-7) Fs 试验载荷 许用切应力 K曲度系数g) 工作变形量 f2=f1+d (1-8) f2弹簧工作变形量f1弹簧安装变形量d 工作行程 h) 试验变形量 (1-9) fs 弹簧试验变形量i) 切应力 (1-10) (1-11)min最小切应力 最大切应力 1.5.2 拉伸弹簧的
16、设计计算 给定初始条件:安装载荷、安装高度、工作载荷、工作行程、载荷作用次数,要求计算出弹簧参数:钢丝直径、弹簧中径、有效圈数等,校核时需计算初拉力、安装变形量、工作变形量、试验变形量、弹簧特性f1/fs、f2/fs、最小切应力、最大切应力、切应力比、验算疲劳强度等。钢丝直径、弹簧中径、有效圈数以及切应力的计算公式基本与压缩弹簧一样。a) 初拉力的计算 (1-12) (1-13) F0 初拉力 初切应力 G 切变模量(MPa)b) 安装变形量 (1-14) 安装变形量 实际弹簧刚度 安装载荷c) 试验变形量 (1-15)d) 工作变形量 (1-16) F弹簧工作载荷1.6 数表处理 机械设计中
17、用到的公式,有些非常复杂。为了节省手算时间,又能直观地达参数间的关系及变化规律,才编制成数表或线图。在弹簧设计过程中,多处运用了数据库表。例如在材料选择部分,对于不同的材料,不同的载荷类型,弹性模量、切变模量、硬度、温度都做相应的变化,运用传统的编程将会变得很烦琐而且很难实现。故采用VB的数据库技术,然后调用数据库表就可以了。现举例如表1-1所示:材料名称标准切变模量G(GPa)弹性模量E(GPa)推荐硬度范围(HBc)推荐温度范围碳素弹簧钢丝GB4357B级79206-40130琴钢丝YB/T5101G1组79206-40130弹簧用不锈钢丝YBD(T)11 A组71193-200300阀门
18、用油淬火回火碳素弹簧钢丝YB/T510279206-40150油淬火回火碳素弹簧钢丝YB/T5103 A类79206-40150油淬火回火硅锰弹簧钢丝YB/T51043 A类79206-40200阀门用油淬火回火铬硅弹簧钢丝YB/T510579206-40250阀门用油淬火回火铬钒弹簧钢丝YD/T510879206-40210 硅青铜线GB31214193.2HB90100-40120锡青铜线GB31244093.2HB90100-250120 碳素弹簧钢丝GB4357C级79206-40130碳素弹簧钢丝GB4357D级79206-40130琴钢丝YB/T5101G2组79206-40130
19、琴钢丝YB/T5101F组79206-40130弹簧用不锈钢丝YBD(T)11 B组71193-200300弹簧用不锈钢丝YBD(T)11 C组71193-200300油淬火回火碳素弹簧钢丝YB/T5103 B类79206-40150油淬火回火硅锰弹簧钢丝YB/T51043 B类79206-40200 表1-1 弹簧常用材料的力学性能a) 表1-1的创建首先,在一数据库中新建一张表,定义表的名称为弹簧常用材料的力学性能,然后,给这张表定义五个字段名,分别为材料名称标准、切变模量G(GPa)、弹性模量E(GPa)、推荐硬度范围(HRC)、推荐温度范围。最后分别输入每一行的内容,这张表就创建好了。
20、b) 表1-1的调用在弹簧设计中,要想调用上张表,运用DATA控件,将databasename属性改为有效数据库名,将RecordSource属性改为该数据库中的表“弹簧常用材料的力学性能”,然后将Text3控件、Text4控件和Text8控件的datasource属性改为DATA控件名,datafield属性改为该表中某一字段名,按照此方法调整各控件的属性,就可以了调用该表了。在设计时编程如下:Dim cr1 As StringDim curr1 As Stringname1 = Combo1.Textcurr1 = Data1.Recordset.Bookmarkcr1 = 材料名称标准=
21、 & & name1 & Data1.Recordset.FindFirst (cr1)txml = Val(Text3.Text)Dim name2 As StringDim cr2 As StringDim curr2 As Stringname2 = Combo1.Textcurr2 = Data2.Recordset.BookmarkText2.DataField = 切变模量cr2 = 材料名称标准= & & name2 & Data2.Recordset.FindFirst (cr2)klqd = Val(Text4.Text)qyl = Val(Text8.Text) 2 关键技
22、术2.1 面向对象的程序设计语言Visual Basic 6.0Visual Basic 6.0是微软公司可视化系列开发工具中的产品,是Windows 应用程序最简便、最快捷的开发工具之一。在该软件的开发过程中,重点运用了VB6.0的特点有:a) 结构化的程序设计VB具有丰富的数据类型、众多的内部函数和结构化程序结构,而且简单易学。例如在计算螺旋伸角时运用了反正切函数。b) 支持多种数据库系统的访问利用数据控件或ODBC能够访问的数据库系统有,Microsoft Access、Btrieve、dBASE、Microsoft FoxPro和Paradox等,也可访问Microsoft Excel
23、 、Lotusl-2-3等多种电子表格。例如在材料选择部分运用了Access的数据库技术。c) 新增了多个应用程序向导 VB新增的应用程序向导可以自动创建不同类型、不同功能的应用程序。例如在该软件制作过程中,运用了VB数据向导、Web浏览器等。2.2 数据库技术的应用 在弹簧CAD软件的开发过程中多处运用到数据库访问技术。在材料的选择部分以及菜单项的数据管理使用了Access数据库。在该软件的开发过程中我利用数据库的目的是操作方便,更加有利于二次开发。当有新的弹簧材料出现或有旧的弹簧材料被淘汰时,我们不需要更改源程序只要在数据库中添加或删除就可以了。数据库是按照一定方式组织并存储的信息集合。表
24、是数据库的组成单元,一个数据库是由一个或多个表组成;每个表包含若干个记录,每个记录包含若干个字段。表是用“域”表示表的一列,用“记录”表示表的一行。用户可以通过设置为数据库设置一个或多个索引,由数据库引擎通过这些索引对数据库进行查找、排列和过录。通过关键字来建立表与表之间的关系,Visual Basic中这些相关表的集合称为关系数据库。通过“结构化查询语言SQL”来和数据库对话。为了提高Visual Basic 6.0应用程序对数据库的操作能力,Visual Basic 6.0系统提供了一些对象:Data 、DataGrid 、Datalist和DataCombo。最常用的是Data控件,通过
25、它用户可以快速的处理各式各样的数据库,使得设计人员省下一堆程序代码编写的工作,能够很轻松地设计及维护数据库内容。但Data控件提供的功能只是链接某一数据库并实现一些数据库操作,它本身无法显示数据库各记录的内容,必须有Visual Basic 提供另外的工具以方便用户对记录进行编辑和浏览,这些工具在Visual Basic系统中称为数据感知控件。只需将此类控件的DataSource属性设置为一个有效的数据库名,DataField属性设置为此有效数据库中的一个有效字段名,则该对象就可以感知数据库的某个字段了。按以下步骤可以创建简单的数据库应用程序:a) 把Data 控件添加到窗体中。b) 设置其属
26、性以指明从哪个数据库和表中获取信息。c) 添加各种绑定控件(如各种文本框、列表框和“绑定”到Data 控件的其它控件)。d) 设置绑定控件的属性以指明要显示的数据源和数据字段。运行应用程序时,这些数据绑定控件会自动显示出数据库当前记录的各个字段。Microsoft Access 在创建Jet数据库时使用更广泛。它为建立表、索引、查询和表的关联提供了一个很好的可视化界面。Visual Basic可以处理用各种Access 版本创建的数据库;当然,要处理32位的数据库,必须使用Access95或更高的版本。下面是创建一个数据库表的基本步骤:a) 打开“外接程序”菜单的“可视化数据管理器”,进入到V
27、isData 窗口。b) 选择VisData 窗口“文件”菜单中的“新建”,并选择“Microsoft Access”项。此时会出现一个“保存”对话框。c) 为将要建立的数据库设置文件名和保存路径。d) 保存完文件名和路径后,VisData 窗口中会出现两个子窗口:“数据库窗口”和“SQL 语句”,如图2-1所示。图2-1 数据库窗口e) 用鼠标单击Properties项,出现了上图中的快捷菜单,单击“新建表” 项打开“表机构”窗体,如图2-2所示。按照下图2-2对话框的提示,输入表的名称,生成用户所需要的表。f) 输入表的名称,单击“添加字段”按钮,出现“添加字段”窗体,如下图2-3所示。然
28、后输入域名,并设置域名的数据类型,每设置好一个域,就按“确定”按钮,在将所有的域都设置好后,按“关闭”按钮返回“表结构”窗体。若无其它的设置,按“表结构”窗体的“生成表”按钮。这样就建立了一个简单的表。这样就建立了一个表,但无任何记录。若数据库中不止一个表,则重复步骤 e)、f)。如图2-3所示。 图2-2 表结构 图2-3 添加字段 依次输入表的各个字段名,然后生成表,再在这张表中输入具体的内容,这张表就做好了。该软件中的弹簧材料特性等一些表就是利用这种方法建成的。然后运用VB本身提供的数据控件等,并通过简单的编程就可调用了。2.3 接口技术AUTOCAD 从R14版本起加入了Active
29、X 自动化服务功能(Active X Automation Server Capabilities),而VB又是最为常用的支持Active X Automation 技术的开发工具,以它作为开发工具,使AUTOCAD 与 其它Windows应用程序的数据共享变得非常简单。由VB调用AUTOCAD 软件包,采用链接方式,将绘图命令作为数据传送到AUTOCAD软件包中,AUTOCAD 软件包接到数据(绘图命令)后,给出反映并进行绘图,从而完成软件的绘图功能。绘图所需参数一般来源于设计手册和国家标准,许多参数是以表格形式给出的,把这些数据参数建立数据库表,可使绘图程序代码简化,同时可提高程序的通用性
30、。利用数据库的索引、关联汇总生成总明细表、标准件表、通用件、外构件表将变轻而易举。VB具有较强的数据库管理和操作功能,可以在VB环境下利用Visual DATA Manger 建立一个Access型数据库,通过给用户提供的参数,输入相应的参数,并将参数存入数据库中。间接得到绘图所需的参数。由于时间和技术问题,此留住二次开发应用。为了更好的建立AUTOCAD的对象模型,应对其作一定的了解。AUTOCAD以层次结构组织对象的,其最顶层是Application,下面是Preferences 、Document 、Menubar、menugroups 等。其中Document下面包括Blocks、Modelspace、 paperspace 、layers utility等。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2