1、 深 圳 大 学 本 科 毕 业 论 文(设计) 题目 : 基于 SolidWorks 软件全参数 机械制图试题库建设 姓名 : 李星霖 专业 : 机械设计制造及其自动化 学院 : 机电与控制工程 学号 : 2012110343 指导教师 : 程蓉 职称: 教授 2016 年 04 月 30 日 深圳大学本科毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计),题目 基于SolidWorks 软件全参数机械制图试题库建设 是本人在指导教师的指导下,独立进行研究工作所取得的成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。除此之外,本论文不包含任何其他个人或集体已
2、经发表或撰写过的作品成果。本人完全意识到本声明的法律结果。 毕业论文(设计)作者签名: 日期: 年 月 日 目 录 摘要 . 5 1.引言 . 5 1.1 研究目的和意义 . 5 1.2 SolidWorks 二次开发技术的发展情况 . 5 1.3 主要工作内容 . 6 1.4 论文安排 . 6 1.5 本章小结 . 6 2.机械制图题库系统开发所用工具 . 6 2.1 SolidWorks 软件 . 6 2.1.1 SolidWorks 软件介绍 . 6 2.1.2 SolidWorks 应用程序编程接口 . 7 2.2 SolidWorks 二次开发所用编程语言 . 7 2.2.1 VB.
3、NET. 7 2.2.2 VB.NET 和 VB6.0 的区别 . 7 2.3 开发环境 . 8 2.3.1 Visual Studio 介绍 . 8 2.3.2 动态链接库 (DLL). 8 2.4 Microsoft Excel 介绍 . 8 2.5 本章小结 . 9 3. 机械制图题库系统的设计 . 9 3.1 机械制图试题库系统功能的需求分析 . 9 3.2 机械制图试题库系统所用素材的制作 . 10 3.2.1 零件及装配体模型的构造 . 11 3.2.2 题目预览图的创建 . 11 3.2.3 题目参考答案的制作 . 12 3.2.4 零件名字及其基本参考尺寸数据库的建立 . 13
4、 3.3 机械制图试题库系统的程序界面设计 . 13 3.4 本章小结 . 14 4. 机械制图试题库系统的实现 . 15 4.1 创建 SolidWorks 插件 . 15 4.1.1SolidWorks 插件模板内容介绍 . 15 4.1.2 修改 SolidWorks 插件模板 . 17 4.2 实现机械制图试题库系统操作界面功能 . 19 4.2.1 添加引用、创建模块及声明全局变量 . 19 4.2.2 试题列表自动生成模块功能的实现 . 21 4.2.3 所选试题预览图和参考尺寸自动显示模块功能的实现 . 24 4.2.4 自动打开零件模型及工程图图纸模板功能的实现 . 27 4.
5、2.5 参考答案弹出窗口的实现 . 30 4.3 本章小结 . 32 5. 机械制图试题库系统实例 . 33 5.1 机械制图试题库系统实例演示 . 33 5.2 本章小结 . 34 6. 总结与展望 . 35 参考文献 . 36 致谢 . 37 Abstract. 38 基于 SolidWorks 软件全参数机械制图试题库建设 机械设计制造及其自动化(机电与控制工程 ) 李星霖 学号: 2012110343 【 摘要 】 “机械制图” 是工程与产品信息的载体, 是工程界表达、交流的语言 。机械制图这门课 程 理论严谨、实践性强 ,是普通高等院校本科专业重要的技术基础课程。 通过本课程的学习,
6、能够培养学生的科学思维方法、工程和创新意识 。其中零件图的表达是该课程的重点和难点,因此本文将针对零件 图的 表达 ,开发一个题库系统,供学生训练。 本文以 Visual Studio 2010 为开发环境, VB.NET 为开发语言,结合 SolidWorks 的二次开发技术,开发 一个 机械制图试题库系统 。该系统作为 CAD 软件 SolidWorks 的插件,为学生们在 SolidWorks 上练习零件图的表达提供简洁、方便的环境和操作界面。 本系统旨在培养学生 绘制和阅读标准零件图样的能力。 机械制图试题库系统收录 有大量的 各种类型的典型零件模型 及标准零件图表达图样 , 基于 C
7、AD 软件 SolidWorks 运行。用户 选择任意 零件 模型,进入练习模式之后,能够从任意角度观察零件的特征 。 学生在 SolidWorks 环境下完成自己的零件图表达图样后,能够调出系统中存有的标准答案进行对比, 这方便学生完善、改进自己的表达方案, 保证 练习的质量 。 【 关键词 】 机械制图;试题库;零件表达; SolidWorks 二次开发 1.引言 1.1 研究目的和意义 “机械制图”是高等工科课程中的一门重要的基础必修课,该课程的重要任务之一是培养工程技 术人员必备的绘图、读图能力 1,2。 工程图样被称为“工程界的通用语言”, 其中,零件图是用于表达零件结构、大小及技术
8、要求的图样,是加工和检验零件 的依据,是生产部门的重要技术文件,是对外技术交流的重要技术资料, 一张完整地零件图应该包含:( 1)一组图形;( 2)全部尺寸;( 3)技术要求;( 4)标题栏 3。由于缺乏实践经验,其中“视图表达”和“尺寸标注”是学生学习和掌握零 件图的重点和难点,需要学生经过大量的练习来树立起工程零件的表达概念。 因此,本课题针对学生的学习现状和实际的教学需求,结合 SolidWorks 的二次开发技术 ,开发一套适用于学生的练习题库系统,重点加强学生零件表达环节的训练。 1.2 SolidWorks 二次开发技术的发展情况 至今为止, SolidWorks 的二次开发技术一
9、般只用来实现一些简单的功能,比如利用 SolidWorks 的宏录制功能,把一些常用的操作录制下来,做成 自动 完成某些固定操作的宏,那么就能实现这些操作的自动化。也有更高级一点的应用,就是 借助 SolidWorks 的 API,开发标准零件库,实现一些标准零件的自动生成。本文开发系统的原理类似于第二种情况 。 1.3 主要 工作 内容 系统设计开发过程中进行的主要工作内容有: ( 1)设计题库系统的操作系统和具体功能; ( 2) 开发能引出试题库主界面的 SolidWorks 的插件; ( 3) 收集 制作作为零件表达题目的零件或装配体模型,并把它们的名称和长宽高尺寸记录到数据库; ( 4
10、) 用 SolidWorks 的 模型显示功能调整零件或装配体 模型 的视图 ,使之更加 清晰鲜明 。然后进行截图,把截取到的图形进行一定处理后作为每道题目的预览图; ( 5) 根据机械制图中表达零件视图的基本原理和要求,为每个零件或装配体模型绘制参考表达方案,并以图片的形式保存在参考答案库中。 ( 6) 根据机械制图的国家标准中的相关规定,绘制几张一定图幅的图纸模板,保存在图纸模板库中。 1.4 论文安排 第一章介绍 本 论文研究的 背景、 内容以及它的 目的和意义;第二章介绍本机械制图试题库系统开发过程中用到的工具和使用的 编程 语言;第三章介绍系统的设计 过程,包括系统功能的需求 分析、
11、 系统调用的资源库的制作和系统界面的设计 ;第四章 介绍 如何创建 SolidWorks 插件以及系统功能模块的具体实现过程;第五章演示系统的使用情况 ; 第六章对本文的工作进行了总结与展望 。 1.5 本章小结 本章主要介绍了本论文研究的内容、意义和目标, 还介绍了 SolidWorks 二次开发的发展状况, 最后 对论文的安排进行了说明。 2.机械制图 题库 系统 开发所用工具 2.1 SolidWorks 软件 2.1.1 SolidWorks 软件介绍 SolidWorks 是一个应用于实体造型领域的,计算机辅助设计( CAD)和计算机辅助工程( CAE)软件,在 Microsoft
12、Windows 操作系统上运行。 它 是由达索系统公司发布的 , 根据官方 的说法, 在 2013 年有 超过 200 万的工程师和设计师在超过十六万五千 个 公司 中 使用 他们的产品 4。 该软件功 能强大,操作简单、易学,并能很大程度满足设计者的设计意图。因此,近年来国内有越来越多公司和个人把 SolidWorks 作为他们的主要设计工具 。 本系统的开发针对目前较新,而且稳定的 SolidWorks 2014。 2.1.2 SolidWorks 应用程序编程 接口 应用程序编程接口( API) 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程 ( 某个
13、系统对外提供的功能接口或服务的集合 ) 的能力,而又无需访问源码,或理解内部工作机制的细节。 SldWorks 对象是应用程序对象 ,代表 SolidWorks 程序, 它是在 SolidWorks API 对象层次结构中的顶级对象; 在 SolidWorks对象层次中的所有其它对象 都处在 SldWorks的 下方,可 被 直接或间接访问; 如果一个对象只能间接访问,则必须从对象层次 结构中,比该对象具有 较高 级别 的 另一个对象,引用 该对象; 大部分的 SolidWorks API 对象对应于用户界面 的功能 , 然而,一些 SolidWorks 的 API 对象提供的功能只能通过 S
14、olidWorks 的 API 访问 5。SolidWorks 的对象层次结构图 1 所示。 图 1 SolidWorks 对象层次结构 2.2 SolidWorks 二次开发所用编程语言 2.2.1 VB.NET VB.NET(Visual Basic .NET)是 微软于 2002 年 推出 的 一种多范式编程语言,基于 .NET框架 。 随着的 Visual C 语言的推出,它成为 面向 .NET 框架的两个主要语言之一。 它 适用的主要集成开发环境( IDE)是微软开发的 Visual Studio。 2.2.2 VB.NET 和 VB6.0 的区别 虽然 VB.NET 一定程度上继承
15、了 VB6.0,并且它们 都是 以 BASIC 语言为基础的,但是它们还是具有很大的区别的,可以说是两门完全不同的编程语言 6。 VB.NET 是完全面向对象的编程语言,它在多线程和结构化异处理方面较 VB6.0 有了突破性的进步,使得该语言的功能也更加强大 7。 VB6.0 的开发环境是独立的,使得它跟其它语言 写的代码 交互时效率不高。而 VB.NET与其它所有基于 .NET 框架的语言共用一个开发环境,使得 它在 多语言编程时具有 好得多 的表现 。 另外,两者的语法结构也有很大的差异, 比如在类和数组的定义上 。 2.3 开发环境 2.3.1 Visual Studio 介绍 Misc
16、rosoft Visual Studio 是一个来自微软 的 集成开发环境( IDE), 它被用于开发的 Microsoft Windows 系统下 的计算机程序,以及网站, 网页 应用程序和 网页 服务 等 ; VisualStudio 集成多种微软 软件开发平台,如 Windows API, Windows Forms, Windows Presentation Foundation, Windows Store 和 Microsoft Silverlight8。 Visual Studio 中支持不同的编程语言,并允许代码编辑器和调试器(在不同程度上)支持几乎所有的编程语言。内置语言包括
17、 C, C +, VB.NET, C和 F。对其他语言如 Python 和 Ruby, Node.js 等等的支持要 求 安装 单独的 语言服务。 因为其强大的功能,它是现在非常流行的软件开发工具。 本系统开发 使用的是目前非常稳定和 被广泛采用的 2010 版本。 2.3.2 动态链接库 动态链接库(或 DLL)是微软 的共享库 概念 在 Microsoft Windows 和 OS/2 操作系统 上的实现 , 这些库 文件 通常具有 诸如 DLL, OCX,或 DRV 这样的 文件扩展名 ; DLL 文件和 EXE文件(可执行文件) 是基本相同的 ,只是 一个 DLL 文件是不可以 直接执
18、行 的 ,因为操作系统需要 一个 EXE 文件作为 切 入点来加载它 9。 DLL 文件是应用程序的组件, 程序 在需要某个 DLL 文件的功能的时候才加载它,这样就能提高程序运行的效率。程序在 需要升级某个功能模块的时候,只需要更新实现该功能的 DLL 文件即可,这有利于程序的升级维护。另外,很多 DLL 文件可供不同的应用软件调用,这就提高了代码的重复利用率,提高程序开发的效率 。 2.4 Microsoft Excel 介绍 Microsoft Excel 是 Microsoft Office 的一部分,是微软为 Windows, Mac OS X, Android 和 iOS 平台 开
19、发的电子表格 软件 , 它一直是 在 这些平台 上被 非常广泛应用的电子表格软件 ,是电子表格的行业标准 10。 它的特 色包括计算能力、绘图工具、数据透视表和 宏编程语言 ( VBA) 。 因为本文开发的系统要处理的数据不多,而且处理起来比较简单,就选择 常用的 Excel2010 生成的 xlxs 文件作为 数据库 文件 , 而无需用到专门的数据库软件如 Microsoft SQL Server。 2.5 本章小结 本章介绍了试题库系统开发过程中用到的工具,包括 SolidWorks 2014、 VB.NET 2010、Visual Studio 2010 和 Microsoft Exce
20、l 2010,另外还介绍了几个比较重要的概念,如 API、 DLL。 3. 机械制图 题库 系统的设计 3.1 机械制图试题库 系统功能的 需求分析 需求分析在系统开发中占有重要的地位,因为 显而易见地, 只有当开发者明确了将要开发 的系统需要有什么功能之后,才能 开发出满足需求的系统。 系统功能需求分析 不仅不会减缓系统开发的进度,恰恰相反地,通过这样一个分析过程, 开发人员 能够清楚地知道将要进行的工作的重点难点、主要次要问题,从而 能够把握好节奏和分寸,达到更快更好的效果。 简单美观、操作便捷的系统界面是一个人性化的、用户友好的 软件 系统 必须具备的 因素。除此之外,一个成功的系统还应
21、该具有稳定性、安全性、可靠性等方面的良好表现。 下面将列举本试题库具体 应该满足 的功能 要求。 ( 1) 为了方便用户选取零件, 在 本系统 主界面 设置自动生成的零件列表; ( 2) 为了 让用户在进入零件表达练习之前对所选题目有一个形象直观的认识,题目被选定之时,同时在主界面显示它的预览图; ( 3) 为了 简化操作,增加系统的自动化程度。在用户选择了某个零件之时,还会在 主界面显示该零件的 参考长、宽、高尺寸。从而让用户能够选择合适的工程图纸模板; ( 4)用户选择了零件之后,就可以选择直接查看该 零件 表达的参考答案。为了方便用户 评判 自己的表达方案 的优劣性和正确性,用户可以 随
22、时调出参考答案来查看; ( 5) 用户在选择 了零件和工程图纸模板之后,就可以选择进入零件表达练习了,系统会自动命令 SolidWorks 打开用户选择的零件(或装配体)和工程图纸模板。如果用户在点击“进入练习”按钮之前还没有选择零件或工程图纸模板,就提示用户先进行选择。 ( 6) 为了方便教师维护本系统, 增减或 修改题库内的题目 或其相关信息 的操作应该简单方便。 3.2 机械制图 试题库系统所用素材的制作 本系统的素材包括零件或 装配体模型、模型的预览图、题目的参考答案图和模型数据库四个部分。 这些素材都可以很简单地制作出来 ,便于题库系统的更新和维护。 为了简化 系统数据库的管理,试题库里面的每一道题目,以及跟它相关联的零件模型、预览图片、参考答案都应该具有相同的名字。 所有的素材都应该 分别 存储在“零件表达”文件夹 下,而该文件夹应该和动态链接库文件 “机械制图试题库 .dll”处在同一个文件夹内。 “零件表达”文件夹内包含四个子文件夹和一个 xlsx 文件,四个子文件夹的名字分别为“零件库”、“零件预览图库”、“标准图纸库”和“参考答案库”,分别存储零件或装配体模型、模型预览图、标准工程图图纸、参考答案图片。而 Excel 文件“ 零件列表及参考尺寸 .xlsx”以表格的形式存储 题目名称和每道题目对应的模型的参考尺寸数据。