资源描述
目 次1 绪论 11.1 CAPP的发展历程 21.2 工艺数据库 21.3 CAPP系统的发展趋势 31.4 工艺数据库系统在CAPP中的作用 51.5 本课题研究的问题和采用的手段 52 CAPP工具设计软件界面的设计 62.1 CAPP的发展历程 62.2 尺寸公差查询界面的设计 72.3 形状公差查询界面的设计 92.4 位置公差查询界面的设计 102.5 机床查询界面的设计 112.6 刀具、材料查询的界面设计 113 软件程序的编写 123.1 尺寸公差查询窗口的程序编写 153.2 形状公差查询窗口的程序编写 163.3 机床数据库查询窗口程序的编写 17结论 20致谢 21参考文献 22附录 231 绪论工艺过程设计在机械制造过程中占据及其重要的一环,它是连接产品设计和车间产品制造的中间桥梁。传统的工艺过程设计由人工编制,其设计质量在很大程度上依赖工艺设计人员的水平,并且存在劳动强度大、效率低、设计难以做到最优和标准等缺点。随着制造业进入信息化和知识经济时代,制造业呈现出新的特点,过去追求的是产品的低成本高质量,而现在多品种、小批量、短交货期的要求越来越迫切。制造重点也由以前的成本和质量并重向现在的质量和时间并重转变,因而,传统的工艺过程设计方法已经不能适应当前制造业发展的需要,而CAD/CAM的系统集成化、智能化成为大势所趋,计算机辅助工艺设计CAPP在其中起着不可替代的作用,所以被人们日益重视。CAPP的使用可以大大缩短工艺设计周期,有利于工艺设计的最优化和标准化,是CIMS等先进制造系统的技术基础。因此,世界很多国家都在大力研究CAPP平技术,CAPP技术的理论研究和实际应用已经蓬勃发展起来1。1.1 CAPP的发展历程CAPP的研究开发始于20世纪60年代末,在CAPP发展史上具有里程碑意义的是设在美国的国际性组织CAM-I于1976 年开发的CAPP系统。国内最早开发的CAPP系统是同济大学的TOJICOP修订式系统和西北工业大学的CAOS生成式系统,其完成的时间都在80年代初。经过30多年的历程,国内外对CAPP技术已经进行了大量的探讨与研究,无论在研究的深度上海事广度上都不断取得进展2。CAPP的内涵也在不断的发展,从狭义的观点看,CAPP是利用计算机完成工艺过程设计,输出工艺规程,以及在工艺设计上代替工艺人员的劳动。但是在集成化、智能化、网络化、或先进制造模式中,特别是在并行工程工作模式中,“PP”不再单纯理解为“Proces Planning”,而应增加“Production Planning”的涵义。这样,就产生了CAPP的广义概念:即CAPP的一方面向生产规划最佳化及作业计划调度最佳化发展,作为制造资源计划MRP的一个重要组成部分;另一方面能够与物流系统相联系,生成NC加工控制指令,以控制物质流或加工过程。向集成化、网络化、智能化发展是现代CAPP发展的必然趋势。1.2 工艺数据库数据库技术作为信息技术的一个重要支撑部分,是人们有效地进行数据存储、共享和处理的工具。数据库是为满足某一部门中多个用户的多种应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用的相互联系的数据集合。数据库系统是管理大量、持久、可靠、共享的数据的工具。数据库系统是具有数据库管理功能的计算机系统,它是有关硬件、软件、数据和人员组合起来的为用户提供信息服务的系统是计算机化的信息系统,由称作DBMS(DataBase Management System,数据库管理系统)的通用软件包管理数据。数据库系统是由4个主要部分组成,它们是数据库、数据库管理系统(软件)、计算机硬件和数据库管理员。数据库的具体实现上,网络版选用的是SQL-Server,单机版选用的是ACCESS,通过ODBC(Open Database Connectivity,开放数据库互连)实现与工艺设计环境的连接3 4。PDM、ERP、MIS等管理系统在不进入CAPP系统的前提下可直接访问工艺数据库。构建拥有丰富的工艺知识、设备工装、刀夹量具、切削参数、典型工艺(包括典型工序、工步等)以及规范化的工艺术语等的知识库以便用户打开并引用知识,同时考虑知识库中应能存入实际设计过程中比较成功的工序、工步、设备工装等数据知识以实现工艺知识库在使用过程中的动态扩充,从而使知识库具有适用于不同零件的柔性是建立CAPP系统工艺知识库的目标5。1.3 CAPP系统的发展趋势随着国家信息化政策的制定和落实以及现代制造技术的飞速发展,对CAPP系统提出了更高的要求。在此形势下,CAPP系统的发展具有以下特点。1.3.1 工具化和工程化各企业的工艺环境、管理模式千差万别,CAPP系统要适应各企业的具体情况。提高其通用性,就要加强CAPP系统的工具化和工程化。开发CAPP系统时,应将CAPP系统分解为多个相对独立的工具进行开发。如开发零件信息描述工具、工艺决策工具、工艺文档输出工具、知识和数据的输人工具以及用户界面构造工具等。由用户或者开发软件的公司根据企业具体情况输入数据和知识,形成面向制造和管理环境的CAPP系统。用户还可以进行二次开发6。在工程化方面,既不能不考虑企业原有的环境和模式,也不能完全盲目服从。要根据对国家、国际标准和先进制造技术的分析,结合各类用户的根本需求,引导用户的工艺设计进程。促进工艺设计规范化,从而规范CAPP系统的实施过程。在统一的标准化工艺基础上开发出适应一般企业工艺规程的CAPP系统。使大部分企业使用的CAPP系统成为具有个性特征的主体相似的工程化产品。1.3.2 集成化和网络化CAPP是CAD、CAM问的桥梁,是CAD、PDM和ERP的重要产品信息来源,同时也需要由CAD提供产品设计模型的特征信息。因此,必须在并行工程思想指导下实现CADCAPPCAM的全面集成,充分发挥CAPP系统在整个生产过程中的信息中枢和功能协调作用,从而实现CAPP与CAD的双向信息交换与传送;实现与生产计划、调度系统的有效集成;建立与质量控制系统的内在联系。CAPP与CAD的双向信息交换与传送体现在CAPP与CAD并行。CAD为CAPP提供工艺设计的原始数据:CAPP为CAD产品设计提供工艺性反馈,对设计方案和结果进行可制造性分析和评价。以便尽早发现问题,确保设计的合理性。目前的主要方法是建立可制造性综合评价功能模块或子系统,根据零件信息、制造资源信息,在一定工艺原则指导下建立评价目标函数,对零件的结构工艺性和加工工艺性进行分析和评价。网络化是系统集成应用的必要条件。CAPP对内实现各种角色、工种的并行工艺设计,对外与CAD实现双向数据交换,与CAQ、CAM、PDM等的集成应用都需要网络化作为技术支撑,才能实现真正的信息化和自动化。企业的工艺数据集中到工艺数据库,其他应用系统通过网络可以在数据库中存取数据,在数据库管理系统的支持下,工艺数据的安全性和一致性得到保证,各系统的数据交换和传输接口也得到统一,使企业能够敏捷地响应市场的需求,增强企业的市场竞争力。1.3.3 知识化合智能化随着复合智能系统、专家系统、人工神经网络技术和模糊推理技术的发展和应用,CAPP系统不会停留在以解决事务性、管理性工作为主的阶段。基于知识的CAPP系统除了作为工艺设计的辅助工具7,还有将工艺专家的经验和知识积累起来并加以充分利用的任务。现代CAPP8系统向着知识化和智能化方向发展。国内外商品化软件中已推出CAPP专家系统外壳 由用户定义各种决策规则、工艺数据和计算公式,具有较大的智能化特征9。当生产环境改变时,专家系统只要输入新的知识就能适应;系统还能随时向用户提供运行的过程和理由,并向用户作出各种解释,便于工艺人员作出干预和选择,以制定出优化的工艺过程;专家系统还可以不断补充和更新知识,从而随着科技的发展和生产条件的改进而不断提高工艺设计的水平。现代CAPP系统在知识化的基础上,从实际出发,为工艺人员提供多个备选工艺方案,并能够根据操作者的工作记录进行各种层次的自学习和自适应,具有一定的智能性10。1.3.4 柔性化和规范化CAPP系统是用来辅助工艺设计人员进行工作的11。不宜取代工艺设计人员而追求完全自动化。在方式上实行人机协作关键决策由工艺人员作出。决策和判断一个复杂繁琐的问题,对具备足够的工艺知识和判断能力的工艺人员来说并不困难,但对计算机来说却可能难以胜任12;同时,知识库及其使用法则需要逐步建立、验证和完善,是一个渐进式的过程。现代CAPP系统必须体现柔性化,即以交互式设计为基础,以工艺知识库为核心,以工艺知识库管理和工艺卡片格式编辑器为应用支持工具,面向产品实现工艺设计与管理的柔性化13。1.4 工艺数据库系统在CAPP中的作用CAPP应具备以下特点:产品零件的数据信息应能利用,并建立零件信息的数据库;工艺人员的工艺经验、工艺知识能够得到充分的利用和共享14;制造资源、工艺参数等以适当的组织形式加以管理;能够充分利用标准(典型)工艺,能集中安全进行数据维护,及时地、动态地提供最新的工艺设计结果。由此可见,CAPP 工作的实质是对数据的一系列操作过程,数据的集成管理极为重要。通用的数据存储管理方式有程序方式、文件方式、数据库方式。程序方式将数据嵌入程序,数据和程序不独立,有很大的依赖关系。这种方式只适合简单数据操作,当涉及到复杂数据和数据之间的关系操作时,程序编制工作变得复杂,且数据分散在程序中,不能被其他应用程序直接利用。文件方式可以将程序与数据分离,可以被多个程序调用,但是,文件是相同性质的数据的集合,其结构的定义是固化的,程序与数据文件还有一定的依赖关系,而且多个数据文件的访问就要有多个接口,数据文件的操作不能实时反应给其他应用程序,不具备集成共享功能15。1.5 本课题研究的问题和采用的手段1.5.1 本课题研究的问题本课题通过以普通微机为硬件背景,在掌握Visual Basic语言开发技术的基础上,设计一个针对于减速器的工艺过程的一个软件。这个软件带有工艺设计过程中所需要的工艺数据库表结构,并带有一定的工艺搜索工具,在工艺过程中提供部分搜索和决策功能。1.5.2 本课题研究的手段第一步首先要建立一定的工艺数据库,工艺数据库要包括材料数据库、尺寸公差数据库、刀具数据库、机床数据库、孔/轴的基本偏差数据库、形状公差数据库、位置公差数据库等。然后使用Visual Basic设计软件的界面,界面包括尺寸公差查询、形状公差查询、位置公差查询、机床查询、材料的查询、刀具的查询等。设计完成界面之后,继续使用Visual Basic进行编程,使软件界面上的各个按键和建立的数据库能够连接起来,并且能够实现使用编写的程序进行查询的功能。2 CAPP工具计软件界面的设计CAPP即Computer Aided Process Planning,是指借助于计算机软硬件技术和支撑环境,利用计算机进行数值计算、逻辑判断和推理等的功能来制定零件机械加工工艺过程。本软件设计的是减速器辅助设计软件的一部分,是有关于减速器工艺方面的设计,主要实现查询工艺的功能。一般来讲,对于一个减速器要涉及到的工艺有材料的查询、刀具的查询、机床的选择、各种公差的查询以及一些工艺流程的查询等等。我设计的这个软件的界面涉及到了尺寸公差、位置公差、形状公差、配合公差、机床的查询、材料的查询、刀具的查询等。2.1 总体界面设计关于总体界面的设计,我的设计方案如图1所示:图1 CAPP工具界面2.2 尺寸公差查询界面的设计2.4 位置公差查询界面的设计位置公差的查询在总体界面里也设计了一个按钮,这个按钮是连接到位置公差查询界面窗口的。具体的界面图如图4所示。图4 位置公差查询界面位置公差的查询包括平行度的查询、垂直度的查询、倾斜度的查询、同轴度的查询、对称度的查询、圆跳动的查询、全跳动的查询。其界面设计跟形状公差查询的界面设计基本相似。2.5 机床查询界面的设计在总体界面中有机床查询这个按钮,直接连接到机床查询窗口。在机床查询窗口中,主要包括了机床编号、机床类型、机床名称、机床型号、总数量、空闲数量、还有一个显示总体数据的一个窗口,还有5个命令按钮。具体的界面设计如图5所示。图5 机床数据查询界面首先新建一个MSFLlexGrid控件,这个控件是用来显示和操作表格数据的,将其名称改为MSFG_Machine,然后新建6个Lable(标签),将每个标签的Caption分别改为机床编号、机床类型、机床名称、机床型号、总数量、空闲数量。然后再在相应的位置新建6个TextBox(文本框),用来显示相应的数据。然后在新建5个CommandButton(命令按钮),将其Caption改为第一个、上一个、下一个、最后个推出。命令按钮第一个、上一个、下一个、最后个是用来显示表格数据,每次按钮都是用来调整显示在文本框的内容。2.6 刀具、材料查询的界面设计刀具和材料的数据的界面设计是跟机床查询界面设计是一样的,具体的界面图如图6和图7所示。图6 刀具数据查询界面图7 材料数据查询界面3 软件程序的编写3.1 尺寸公差查询窗口的程序编写在编写程序之前,首先要建立一些数据库。查询尺寸公差需要建立一个尺寸公差的数据库,其中要包括标准偏差数据库和轴、孔的基本偏差的的数据库,利用ACCESS 2003来创建数据库,在选用存储数据库方式时,选用的是数据表来创建并存储数据的。以下图8、9、10所示是标准偏差数据库和孔与轴的基本偏差示意图。 尺寸公差的查询主要涉及到了一个数据库的调用,我们将基本的数据输入相应的文本框里,然后根据所输入的数据和数据库里的数据比对之后得出最后的数据,就相当于我们平时查表一样。尺寸公差的查询首先需要一个基本尺寸,然后选择一个公差等级,就能得出尺寸公差的数值。下面接下来就要编写程序了,首先要在通用里面先定义一下变量,将基本尺寸、公差等级、尺寸公差分别用FundamentalDimension、ToleranceGrade、DimensionalTolerance来表示。接下来编写主程序,首先窗体加载后,用户点击搜索按钮后,程序要根据用户输入的数据加上选择一个公差等级,能够进行在数据库里查找所需要的数据,然后把所需要的数据显示在相应的文本框里。主要程序如下: 打开标准公差数据库 connstr = provider = Microsoft.Jet.OLEDB.4.0; data source= F:AutoCAD二次开发减速器尺寸公差.mdb conn.ConnectionString = connstr conn.Open connstr rs1.CursorLocation = adUseClient rs2.CursorLocation = adUseClient rs3.CursorLocation = adUseClient 从数据库中选择符合条件的数据:基本尺寸在给定范围内 rs1.Open select * from 标准公差 where FDimension_L = & FundamentalDimension & , conn以上程序主要实现的是一个数据库的连接和打开,然后再在数据库中选择所需要的数据。要查询尺寸公差需要选择一个公差等级,然后程序使用了Select Case语句来实现根据用户选择的公差等级来选择数据。尺寸公差分为轴的尺寸公差和孔的尺寸公差,所以接下来还要选择是轴的尺寸公差还是孔的尺寸公差,所以在一开始就要选择是轴的尺寸公差还是孔的尺寸公差,如果是选择的不一样,其基本偏差代号就不一样,所要连接和查询的数据库就不一样,编程时需要考虑到这两种情况,所以具体的程序编写应如下所示: If optAxis.Value = True Then rs2.Open select * from 轴的基本偏差 where FDimension_L = & FundamentalDimension & , conn这一段程序是用来判断查询的是轴的基本偏差,然后接着就是打开了轴的基本偏差的数据库,以提供查询。当轴的公差等级小于等于h时,上偏差就是所查询的基本偏差,下偏差就是等于上偏差减去尺寸公差,否则的话,它的上偏差和下偏差刚好相反。用来判断查询的是孔的基本偏差的程序与用来判断轴的基本偏差的程序是相同的。孔德上下偏差的计算和轴的基本相似,即当孔的公差等级小于等于H时,上偏差就是所查询的基本偏差,下偏差就是等于上偏差减去尺寸公差,否则的话,它的上偏差和下偏差刚好相反。在我们选择公差等级,基本偏差代号的时候,选择的内容也是要用程序添加进去。首先添加公差等级的内容,公差等级包括IT1-IT18,所以具体的程序如下所示: cboToleranceGrade.AddItem IT1 cboToleranceGrade.AddItem IT18这些程序都是在加载窗体的时候就已经运行了,在打开尺寸公差查询的窗口时,公差等级的内容就已经从空白编程了IT1-IT18,使用下拉菜单来选择所需要的公差等级。其次,轴和孔的基本偏差代号也要设置,轴的基本偏差代号有a、b、c、cd、d、e、ef、f、fg、g、h、j、k、m、n、p、r、s、t、u、v、x、y、z、za、zb、zc;孔的基本偏差代号有a、b、c、cd、d、e、ef、f、fg、g、h、j、k、m、n、p、r、s、t、u、v、x、y、z、za、zb、zc。其程序如添加公差等级内容的程序相似。具体实例:查询一个孔的尺寸公差,基本尺寸为100,标准偏差为IT6,孔的基本偏差为E。当在尺寸公差查询界面里选择孔,在基本尺寸的文本框中输入100,标准偏差选择IT6,点击查询按钮就会出现所查询到的数值,然后再在界面的基本偏差代号里选择E,再点击查询按钮,就会在相应的文本框中显示查询到的数据。查询后的界面如图10所示。图10 查询孔尺寸偏差结果示意图3.2 形状公差查询窗口的程序编写同样,形状公差的查询也涉及到了形状公差数据库,所建立数据库的方法如尺寸公差数据库建立方法。图11、12所示为形状公差数据库中平面度和圆度的示意图。还有直线度和圆柱度的数据库示意图与平面度基本相似。形状公差包括直线度、平面度、圆度、圆柱度。首先编写程序时要先定义几个变量如基本尺寸、公差等级等。直线度、平面度、圆度、圆柱度的基本尺寸扥别用FL_Straightness、FL_Evenness、FD_Roundness、FD_Cylindricity来表示,直线度、平面度、圆度、圆柱度的公差等级分别用StraightnessGrade、EvennessGrade、RoundnessGrade、CylindricityGrade来表示。 公差等级是从1-12级,选择公差等级是通过组合框来实现的,而且公差等级的内容也是在加载窗体的时候就要将内容加载进去了,所以这段程序应该是在窗体加载部分。下来要定义公差等级这个变量,将直线度、平面度、圆度、圆柱度的公差等级都设置为1-12,具体的程序编写如下:Private Sub Form_Load() Dim i As Integer 定义变量,循环变量 使用循环语句,指定公差等级:112级 For i = 1 To 12 cboStraightnessGrade.AddItem CStr(i) 直线度公差等级 cboEvennessGrade.AddItem CStr(i) 平面度公差等级 cboRoundnessGrade.AddItem CStr(i) 圆度公差等级 cboCylindricityGrade.AddItem CStr(i) 圆柱度公差等级 NextEnd Sub一切准备工作做好之后,接下来就是要编写搜索按钮所执行的程序,搜索按钮所要执行的任务是将用户输入的基本尺寸和选择的公差等级,然后再去相应的数据库中查询相对应的数据,然后显示在公差数值的文本框里,具体程序与尺寸公差的查询的程序相似。平面度、圆度、圆柱度的查询跟直线度的原理相似,在这里就不做一一介绍了。具体实例:查询直线度、平面度、圆度、圆柱度各举一例 直线度查询:基本尺寸50,公差等级8 平面度查询:基本尺寸60,公差等级7 圆度查询:基本尺寸70,公差等级6 圆柱度查询:基本尺寸80,公差等级5在形状公差查询窗口中,在相应的文本框中输入50、60、70、80,在公差等级的下拉菜单中分别选择8、7、6、5,分别点击相应的查询按钮,就会出现如图13所示的结果。图13 形状公差查询结果示意图3.3 位置公差查询窗口程序的编写位置公差包括平行度、垂直度、倾斜度、同轴度、对称度、圆跳动、全跳动等。要查询这些位置公差的数值,首先要建立这些位置公差的数据库以供查询。创建数据库的方法还是一开始介绍的数据表的方法来创建,图14、15为平行度和垂直度的数据库示意图。在编写程序之前,用FD_Parallelism、FD_Squareness、FD_Inclination、FD_Concentricity、FD_Symmetry、FD_Runout、FD_TRunout分别表示平行度、垂直度、倾斜度、同轴度、对称度、圆跳动、全跳动的基本尺寸,然后用ParallelismGrade、SquarenessGrade、InclinationGrade、ConcentricityGrade、SymmetryGrade、RunoutGrade、TRunoutGrade分别表示平行度、垂直度、倾斜度、同轴度、对称度、圆跳动、全跳动的公差等级。这边主要也是一个数据库与程序之间的连接,首先要打开数据库: connstr = provider = Microsoft.Jet.OLEDB.4.0; data source= F:AutoCAD二次开发减速器位置公差值.mdb conn.ConnectionString = connstr conn.Open connstr rs.CursorLocation = adUseClient然后要根据用户输入的基本尺寸来选择符合条件的数据,具体程序为:rs.Open select * from 同轴度 where FDimension_L = & FD_Concentricity & , conn 接下来就是要选择一个公差等级,根据公差等级显示相应的公差数值。具体实例:平行度、垂直度、倾斜度、同轴度、对称度、圆跳动、全跳动的基本尺寸全部取60,公差等级全部取8,然后查询它们各自的公差数值。在输入基本尺寸之后,点击查询按钮之后,得出的结果如图16所示。图16 位置公差查询结果示意图3.4 机床查询窗口程序的编写机床查询也是需要一个机床的数据库,创建数据库的方法和前面相似,图17是机床数据库的示意图。图17 机床数据库示意图机床数据库的查询窗口主要实现的是查询机床类型,而且可以根据自己的需要让自己选择的机床显示在相应的文本框内,本窗口左半部分主要是用来显示全部的机床数据,右半部分主要是用来显示用户所选择的机床的各种数据,下半部分主要安排的是一系列的命令按钮,如最后个、上一个、下一个等。本窗口主要是使用了一个MSFlexGrid(网格控件),这个控件主要是用来显示表格数据的。首先跟前面几个窗体一样,先要打开数据库,打开数据库的程序在前面已经介绍过,这边就不做介绍了。然后要把数据库的内容显示在新建的网格控件上,首先是一个显示标题的程序,用来显示内容的各个标题,主要是用Select Case语句来实现的,首先设定显示的第一行,程序为MSFG_Machine.Row = 0,在网格控件中式用第零行来显示第一行的,然后就是要显示具体的各个标题,首先用For语句吧网格的列定义为i,将i赋值0-5,然后再用一个Select Case语句将具体的列数上的标题赋值,赋值程序为MSFG_Machine.Text = 所赋值的内容这样就把每一列的标题显示在控件中了。在显示完标题之后,要实现把具体的内容显示在网格控件内,主程序如下所示: rs.MoveFirst For i = 0 To N_Record - 1 MSFG_Machine.Row = i + 1 For j = 0 To 5 MSFG_Machine.Col = j MSFG_Machine.Text = IIf(Trim(rs.Fields(j) , rs.Fields(j), ) Next j rs.MoveNext Next i rs.MoveFirst MSFG_Machine.Row = 1 MSFG_Machine.Col = 0 MSFG_Machine.TopRow = 0对照窗口的设计来看,还要编写一些命令按钮的程序,下面就来介绍一下这些命令按钮的程序编写。Record = 1,Call Msfg_text(Record)这段程序时命令按钮“第一个”的主程序,主要实现了调用函数,显示第一条记录数据。Record = MSFG_Machine.Rows - 1Call Msfg_text(Record)这段程序实现的是调用函数,显示最后条记录数据,是命令按钮“最后个”的程序。显示下一条记录是使用函数If语句来实现的,If Record MSFG_Machine.Rows 1,判断是否是最后条记录数据,Then Record = Record + 1,如果不是就下移一条数据,Else Record = 1,如果是最后行数据,就显示第一行的数据。显示上一条数据的程序和显示下一条数据的程序基本一样,就不做介绍了。具体实例:首先打开机床查询窗口,点击按钮上一步、下一步选择所需要的机床,如果我需要选择3号机床,则该显示的界面如图18所示。图18 机床查询结果示意图3.5 材料查询窗口程序的编写材料的查询也需要用到一个材料的数据库,材料的数据库示意图如图19所示:图19 材料数据库示意图材料查询窗口的程序设计与机床查询的程序相似,具体程序见附录。3.6 刀具查询窗口程序的编写刀具数据库的示意图如图20所示。图20 刀具数据库示意图刀具查询窗口的程序代码与前面的机床查询和材料查询窗口的程序代码也是相似的,具体程序见附录。结 论毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整毕业设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识解决实际问题的能力,同时也提高了我查阅资料的水平。另外也对Visual Basic这门语言有了一定的了解。本设计主要研究的是关于减速器工艺方面的一些知识,它以Visual Basic为语言基础,在Visual Basic中编写程序最终达到查询的目的。一开始我们需要了解一个减速器的各个方面的工艺,其次我们需要建立一些关于减速器工艺的数据库,数据库是使用Access 2003来创建的,在创建完数据库之后,我们需要把这些数据库和Visual Basic连接起来。这个设计涉及到的工艺有尺寸、形状、位置、刀具、材料、机床、齿轮的加工等。但由于时间有限及所学知识的限制,本次毕业设计还存在一些问题:1. 本毕业设计涉及到的工艺数据还不够全面,比如说本文还没有涉及到齿轮和轴的加工工艺数据库。2. 本毕业设计的界面不够完善,将来如果有时间的话,还可以添加一些关于齿轮加工工艺和轴的加工工艺方面的一些查询界面,让这个系统查询的方面更加详细。致 谢在我完成毕业设计之时,首先要感谢我的指导老师肖猛老师的精心指导。在此,首先要感谢肖老师这段时间对我的教导,是肖老师的悉心指导才能够使我的毕业设计按时完成。在这段期间,肖老师不仅教我学会了基本的思考方式,掌握了通用的研究方法,而且还明白了许多为人处事的道理。导师严谨的治学态度,细致的工作作风,孜孜不倦的求索精神和无微不至、感人至深的人文关怀,令人如沐春风,受益终生。光阴似箭,岁月如梭,四年的大学生涯转瞬即逝。即将结束学习的生活,相信等待我的是一片充满机遇、风险与快乐的土地;也相信我和同仁们的事业必将如涅磐之凤、浴火之凰;更加相信,不朽的民族精神终将引领我们创造新的奇迹!“风雨不改凌云志,振衣濯足展襟怀。行方智圆煅内蕴,海阔天空铸宏图”。最后再次感谢我的指导老师给我带来的无限帮助。参 考 文 献1 王荣滔.计算机辅助工艺设计应用和发展J.机械,2007,34:5-8.2 张振明,田锡天.现代CAPP技术与应用M.西安:西北工业大学出版社,2003.3 陈可欣.Access VBA数据库高效开发范例应用M.北京:中国青年出版社,2005. 4 佟士懋,刑芳芳,夏齐霄.AutoCAD ActiveX/VBA 二次开发技术基础及应用实例M.北京:国防工业出版社,2006.5 高晓梅,张永红. 基于知识库的CAPP系统应用J.机械,2009,25:59-63.6 刘涛,吴笑伟.CAPP系统的现状与发展趋势的研究J.机械,2009,206:72-74.7 刘欣欣.CAPP系统中工艺管理方法的研究J.机械,2007,5:58-59.8 姜卓.计算机辅助工艺设计(CAPP)技术的应用J.机械,2009.37:185-188.9 刘哲生.用计算机进行辅助工艺过程设计J.机械,2008:38:79-81.10 刘保华,乔爱科.CAPP系统中工艺知识库的设计及管理J.机械,2008,29:89-91.11 张胜文,赵良才.计算机辅助工艺设计M.北京:机械工业出版社,2005.12 刘楠嶓.典型零件CAPP及其关键技术研究D.郑州:郑州大学,2003.13 肖伟跃.CAPP的反思与展望J.机械,2007,24:1-5.14 王华坤,范元勋.机械设计基础M.北京:兵器工业出版社,2001.15 吉春和,李向东.CAPP在机械制造业中的应用J.机械,3:57-58.附录 程序代码零部件工艺分析窗口程序代码:Private Sub cmdDimensionalTolerance_Click() frmDimensionalTolerance.ShowEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdFitTolerance_Click() frmFitTolerance.ShowEnd SubPrivate Sub cmdFormTolerance_Click() frmFormTolerance.ShowEnd SubPrivate Sub cmdMachineSearch_Click() frmMachineDataBase.ShowEnd SubPrivate Sub cmdMaterialSearch_Click() frmMaterialDataBase.ShowEnd SubPrivate Sub cmdOpen_Click()MsgBox (没有相关文件)End SubPrivate Sub cmdPositionalTolerance_Click() frmPositionalTolerance.ShowEnd SubPrivate Sub cmdToolSearch_Click() frmToolDataBase.ShowEnd SubPrivate Sub Machine_Click() frmMachineDataBase.ShowEnd SubPrivate Sub Material_Click() frmMaterialDataBase.ShowEnd SubPrivate Sub mnuDimensionalTolerance_Click() frmDimensionalTolerance.ShowEnd SubPrivate Sub mnuExit_Click() Unload MeEnd SubPrivate Sub mnuFitTolerance_Click() frmFitTolerance.ShowEnd SubPrivate Sub mnuFormTolerance_Click() frmFormTolerance.ShowEnd SubPrivate Sub mnuPositionalTolerance_Click() frmPositionalTolerance.ShowEnd SubPrivate Sub munOpen_Click() MsgBox (没有相关文件)End SubPrivate Sub Tool_Click() frmToolDataBase.ShowEnd Sub尺寸公差查询窗口程序代码:Option ExplicitPrivate conn As New ADODB.Connection 定义ADODB的Connection对象Private rs As New ADODB.Recordset 定义ADODB的Recordset对象Private connstr As String 定义连接串Private FundamentalDimension As Single 定义变量,基本尺寸Private ToleranceGrade As String 定义变量,公差等级Private DimensionalTolerance As Single 定义变量,尺寸公差Private FundamentalDeviationCode 定义变量,基本偏差代号Private FundamentalDeviation 定义变量,基本偏差数值Private UpperDeviation As Single 定义变量,上偏差Private LowerDeviation As Single 定义变量,下偏差Private Sub cmdClear_Click() 清除所有数据,供用户下次重新输入 optAxis.Value = False optHole.Value = False txtFundamentalDimension.Text = cboToleranceGrade.Text = txtDimensionalTolerance.Text = cboFundamentalDeviationCode.Text = txtFundamentalDeviationValue.Text = txtUpperDeviation.Text = txtLowerDeviation.Text = End SubPrivate Sub cmdReturn_Click() Unload MeEnd SubPrivate Sub cmdSearch_Click() Dim conn As New ADODB.Connection 定义ADODB的Connection对象 Dim rs1 As New ADODB.Recordset 定义ADODB的Recordset对象 Dim rs2 As New ADODB.Recordset 定义ADODB的Recordset对象 Dim rs3 As New ADODB.Recordset 定义ADODB的Recordset对象 Dim connstr As String 定义连接串 给变量:基本尺寸、公差等级、基本偏差代号,赋值 FundamentalDimension = Val(txtFundamentalDimension.Text) ToleranceGrade = cboToleranceGrade.Text FundamentalDeviationCode = cboFundamentalDeviationCode.Text 打开标准公差数据库 connstr = provider = Microsoft.Jet.OLEDB.4.0; data source= F:AutoCAD二次开发减速器尺寸公差.mdb conn.ConnectionString = connstr conn.Open connstr rs1.CursorLocation = adUseClient rs2.CursorLocation = adUseClient rs3.CursorLocation = adUseClient 从数据库中选择符合条件的数据:基本尺寸在给定范围内 rs1.Open select * from 标准公差 where FDimension_L = & FundamentalDimension & , conn 根据公差等级,显示相应公差数值 If rs1.RecordCount 0 Then Select Case ToleranceGrade Case IT1 DimensionalTolerance = rs1.Fields(2) Case IT2 DimensionalTolerance = rs1.Fields(3) Case IT3 DimensionalTolerance = rs1.Fields(4) Case IT4 DimensionalTolerance = rs1.Fields(5) Case IT5 DimensionalTolerance = rs1.Fields(6) Case IT6 DimensionalTolerance = rs1.Fields(7) Case IT7 DimensionalTolerance = rs1.Fields(8) Case IT8 DimensionalTolerance = rs1.Fields(9) Case IT9 DimensionalTolerance = rs1.Fields(10) Case IT10 DimensionalTolerance = rs1.Fields(11) Case IT11 DimensionalTolerance = rs1.Fields(12) Case IT12 DimensionalTolerance = rs1.Fields(13) Case IT14 DimensionalTolerance = rs1.Fields(15) Case IT15 DimensionalTolerance = rs1.Fields(16) Case IT16 DimensionalTolerance = rs1.Fields(17) Case IT17 DimensionalTolerance = rs1.Fields(18) Case IT18 DimensionalTolerance = rs1.Fields(19) End Select txtDimensionalTolerance.Text = DimensionalTolerance Else MsgBox (没有找到相关数据) End If 判断查询的是轴是孔的基本偏差 If optAxis.Value = True Then rs2.Open select * from 轴的基本偏差 where FDimension_L = & FundamentalDimension & , conn 根据轴的基本偏差,显示相应偏差数值 If rs2.RecordCount 0 Then Select Case FundamentalDeviationCode Case a FundamentalDeviation = rs2.Fields(2) Case b FundamentalDeviation = rs2.Fields(3) Case c FundamentalDeviation = rs2.Fields(4) Case cd FundamentalDeviation = rs2.Fields(5) Case d FundamentalDeviation = rs2.Fields(6) Case e FundamentalDeviation = rs2.Fields(7) Case ef FundamentalDeviation = rs2.Fields(8) Case f FundamentalDeviation = rs2.Fields(9) Case fg FundamentalDeviation = rs2.Fields(10) Case g FundamentalDeviation = rs2.Fields(
展开阅读全文