拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc

上传人:laozhun 文档编号:3943792 上传时间:2023-03-28 格式:DOC 页数:49 大小:1.26MB
返回 下载 相关 举报
拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc_第1页
第1页 / 共49页
拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc_第2页
第2页 / 共49页
拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc_第3页
第3页 / 共49页
拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc_第4页
第4页 / 共49页
拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc》由会员分享,可在线阅读,更多相关《拉车闸门系统的零部件以及装配体的统一界面管理毕业论文1.doc(49页珍藏版)》请在三一办公上搜索。

1、前 言功能强大、易学易用和技术创新是SolidWorks 的三大特点,使得SolidWorks成为领先的、主流的三维CAD解决方案。SolidWorks 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。SolidWorks 不仅提供如此强大的功能,同时对每个工程师和设计者来说,操作简单方便、易学易用。同时SolidWorks还提供了功能强大的API接口程序模块,使得用户可以根据自身的条件和需求编写加挂与该软件环境下的应用程序。本次设计设计的题目是SolidWorks的API toolbox 二次开发。主要任务为在SolidWorks软件下加挂菜单,添加用户的应用软件。零件的管理一

2、直是比较耗时又容易出错的问题。特别是一套复杂零部件以及装配体的管理更是需要有一个专门的管理软件。本次设计的结果使得管理更加方便和实用,极大的提高了工作效率。在设计的过程中,老师给了我们许多的指导性建议,并为我们创造了优越的学习工作环境。同时还有刘中柱老师在设计和学习过程中也给了我极大的帮助。仅此,对帮助和支持我得老师和同学表示深深的感谢。由于本人水平有限,经验不多,论文中肯定会有不少的缺点或错误,请老师和同学批评指正。1引 言1.1设计目的和意义设计的目的是实现拉车闸门系统的零部件以及装配体的统一界面管理。利用SolidWorks强大的应用程序接口,以Visual C6.0作为开发工具。软件的

3、实现极大的提高了零件的管理。意义,对SolidWorks的工作流程以及基本原理有了更深的了解。对利用VC的FMC类库的运用有了基本的认识。面向对象的编程更能方便程序编制者,特别是程序的修改上。在结构上更能体现程序的流程。1.2国内国际状况及进展SolidWorks公司于2002年9月18日宣布推出三维机械CAD软件的最新版本SolidWorks2003,进一步帮助机械设计工程师实现协同设计,将新产品快速推向市场。SolidWorks2003新版本中有几百项新功能的提高:在新版本中增加了结构分析功能,协同设计功能,网上下载三维产品目录功能,以及其他新的建模功能。这些新的功能使得SolidWork

4、s设计工程师进一步提高设计效率,SolidWorks的用户在市场上将更具有竞争力。SolidWorks2003版新增加的结构分析功能能够帮助设计工程师设计的正确性,减少了生产过程中产生的错误带来的损失。SolidWorks2003新版本能够读入的格式更加灵活,包括AutoCAD和CADKEY的各种格式,这种功能能够在三维设计时包容第三方软件的设计信息,用户能够快速完成设计。SolidWorks2003是世界上第一个能实现实时运动仿真的三维CAD软件,例如检查装配环境中的齿轮啮合等,设计师可以在制造之前发现设计中的缺陷和错误。“SolidWorks2003能支持多种文件格式,对我们设计师来讲是很

5、方便的,可以很容易地将不同的文件转化为SolidWorks的数据模型,完成设计任务。”一位刚用过SolidWorks2003的用户讲到。“我们可以很方便地将逆向工程产生的数据文件直接拖拉到SolidWorks的环境中,而不必象以前一样手工地进行文件的转换。这种功能不仅给我们设计师节省了大量的时间和工作量,同时还可以继承原来老设计中优秀的东西。总之,SolidWorks2003不仅从功能本身或从数据转化来将都是最优秀的。”1.3论文各部分主要内容SolidWorks作为机械类的三维CAD软件,对于具体的用户可能有不同的应用。客户自己建立相关的软件使得SolidWorks能更好的成为开发管理的优秀

6、应用软件。论文的第二章介绍了本次设计的相关知识。并对SolidWorks的使用作了简明的介绍。第三章阐述了设计的流程及结构,对系统设计作了具体的分析。第四章说明了如何建立数据库的过程以及相关的知识。并对数据库进行了相应说明。第五章对本次设计的具体实现以及程序的编制作了详细的说明。第六章是对本次设计的软件的打包,制作安装程序。第七章对软件的演示进行了示例。第八章是对这次设计的总结。最后是谢词参考文献,以及附录。2设计开发相关知识2.1 SolidWorks曲面设计 通过带控制线的扫描、放样、填充以及拖动可控制的相切操作产生复杂的曲面。可以直观地对曲面进行修剪、延伸、倒角和缝合等曲面的操作。钣金设

7、计 SolidWorks 提供了顶尖的、全相关的钣金设计能力。可以直接使用各种类型的法兰、薄片等特征,正交切除、角处理以及边线切口等钣金操作变得非常容易。 用户化SolidWorks 的API为用户提供了自由的、开放的、功能完整的开发工具。 开发工具包括Microsoft Visual Basic for Applications (VBA)、Visual C+,以及其他支持OLE的开发程序。 帮助文件 SolidWorks 2001配有一套强大的、基于HTML的帮助文件系统。包括超级文本链接、动画示教、在线教程、以及设计向导和术语。 数据转换 SolidWorks 提供了当今市场上几乎所有C

8、AD软件的输入/输出格式转换器。 IGES IPT ( AutoDesk Inventor) STEP DWG SAT(ACIS) DXF VRML CGR(Catia graphic) STL HCG(Highly compressed) Parasolid graphics Pro/ENGINEER Viewpoint Unigraphics RealityWave PAR (Solid Edge) TIFF VDA-FS JPG Mechanical Desktop 2.2SolidWorks 2001 plus APISolid Works提供API作为二次开发工具,其中列举了用户可以

9、调用的C语言函数名及其技术指标格式。SolidWorks API是SolidWorks的OLE应用程序开发接口,用户可以利用它和支持OLE编程的开发工具,如VB、VBA(Excel, Access)、C、VC+等对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks 功能模块。本次设计采用VC作为开发工具。SolidWorks提供三种开发方式:可执行文件*.exe、正规的.DLLs有两种实现方式:dynamically linked或者 statically linked,一般都使用dynamically linked。因为静态连接到MFC代码库,你的.DLL包括它

10、自己的所有的所需的MFC代码,那么它将非常庞大。另一种是MFC扩展.DLL,一个扩展.DLL是动态连接到MFC的代码库的.DLL的.客户程序也必须动态的连接到MFC的代码库。MFC扩展.DLLs非常小.你可以建立一个导出一些函数或者类的大约10-15KB的。为了充分利用VC的资源,设计采用了最后一种即MFC扩展.DLL。2.3Visual C6.0理解VC工程Visual C+作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。扩展名为dsw的文件类型,这种类型的文件在VC中是级别最高的,称为Workspace文件。在VC中,应用程序是以Projec

11、t的形式存在的,Project文件以.dsp扩展名,在Workspace文件中可以包含多个Project,由Workspace文件对它们进行统一的协调和管理。与dsw类型的Workspace文件相配合的一个重要的文件类型是以opt为扩展名的文件,这个文件中包含的是在Workspace文件中要用到的本地计算机的有关配置信息,所以这个文件不能在不同的计算机上共享,当我们打开一个Workspace文件时,如果系统找不到需要的opt类型文件,就会自动地创建一个与之配合的包含本地计算机信息的opt文件。以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息的,这些信息是VC中的ClassWiza

12、rd工具管理和使用类的信息来源在应用程序中经常要使用一些位图、菜单之类的资源,VC中以rc为扩展名的文件称为资源文件,其中包含了应用程序中用到的所有的windows资源。对于以ico,bmp等为扩展名的文件是具体的资源,产生这种资源的途径很多。使用rc资源文件的目的就是为了对程序中用到的大量的资源进行统一的管理。近几年来,面向对象技术无论是在理论还是实践上都在飞速地发展。面向对象技术中最重要的就是“对象”的概念,把现实世界中的气球、自行车等客观实体抽象成程序中的“对象”。这种“对象”具有一定的属性和方法,这里的属性指对象本身的各种特性参数。一个具体的对象可以有许多的属性和方法,面向对象技术的重

13、要特点就是对象的封装性,对于外界而言,并不需要知道对象有哪些属性,也不需要知道对象本身的方法是如何实现的,而只需要调用对象所提供的方法来完成特定的功能。程序员大部分的时间是放在对对象的方法的调用上,组织这些对象进行协同工作。MFC编程特点MFC的英文全称是Microsoft Foundation Classes,即微软的基本类库,MFC的本质就是一个包含了许多微软公司已经定义好的对象的类库,在进行程序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对象的方法就可以了。我们还可以利用面向对象技术中很重要的“继承”方法,从类库中的已有对象派生出我们自己的对象,这时派生

14、出来的对象除了具有类库中的对象的特性和功能之外,还可以由我们自己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。正是由于MFC编程方法充分利用了面向对象技术的优点,它使得我们编程时极少需要关心对象方法的实现细节,同时类库中的各种对象的强大功能足以完成我们程序中的绝大部分所需功能,这使得应用程序中程序员所需要编写的代码大为减少,有力地保证了程序的良好的可调试性。下面介绍在WINDOWS程序设计中最常用的一些消息:窗口消息:WM_CREATE,WM_DESTROY,WM_CLOSE键盘消息:WM_CHAR,WM_KEYDOWN,WM_KEYUP鼠标消息:WM_MOUSEMOVE

15、,WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBCLICK,WM_RBUTTONDOWN, WM_RBUTTONUP,WM_RBUTTONDBCLICK3设计流程及结构3.1设计流程设计程序界面添加菜单及子菜单设计数据库与数据库的连接实现预览及打开零件或装配体其中与数据库的连接部分程序流程如下:YNYN选择系统型号型号1选择装配体选择零件打开型号2型号33.2 设计结构本设计的结构主要由以下部分组成:读取数据库,零件的选择,零件的预览,零件的打开。读取数据库部分是运用VC的MFC中的DAO进行编程的。利用其指针,读取数据库里面的数据,运用SQL语句进行查询

16、等操作。零件的预览是先读取数据库里的有关零件的位置。然后将零件在预览框中显示。以利于选择的直观性,且不易出错。零件的打开是为了实现对所选零件的一些修改,零件的尺寸都是相关联的,修改简便。4建立数据库4.1建立表建立表格采用了微软的Access 2000为开发工具。对本次设计的具体要求的分析。建立了三个相关联的表。分别为sys_type,parts_1,part三个表。由于在VC中利用DAO读取Access数据库的格式必须是Access97文件。所以在建完表之后必须转换数据格式。设计的表如下:sys_type系统型号ID型号11型号22型号33此表为第一级表,下面的表将和此表实现相关联。(sys

17、_type)parts_1装配体NO_1ID气压控制系统一1.11小车道轨一1.21拉车汽缸装置一1.31闸门系统一1.41活塞杆托架一1.51载模小车一1.61垫板一1.71气压控制系统二2.12小车道轨二2.22拉车汽缸装置二2.32闸门系统二2.42活塞杆托架二2.52载模小车二2.62垫板二2.72气压控制系统三3.13小车道轨三3.23拉车汽缸装置三3.33闸门系统三3.43活塞杆托架三3.53载模小车三3.63垫板三3.73此表是对系统的进一步细分。(parts_1)part零件名称零件编号NO_1零件位置T形槽螺栓M301.3拉车汽缸装置T形槽螺栓M30.sldprt弹簧垫圈M1

18、21.3拉车汽缸装置弹簧垫圈M12.sldprt弹簧垫圈M161.3拉车汽缸装置弹簧垫圈M16.sldprt垫圈1.3拉车汽缸装置垫圈.sldprt调整垫板1.3拉车汽缸装置调整垫板.sldprt感应开关支座1.3拉车汽缸装置感应开关支座.sldprt感应开关撞块1.3拉车汽缸装置感应开关撞块.sldprt护板1.3拉车汽缸装置护板.sldprt连接杆1.3拉车汽缸装置连接杆.sldprt六角螺母1.3拉车汽缸装置六角螺母.sldprt六角螺母M121.3拉车汽缸装置六角螺母M12.sldprt六角螺母M11.3拉车汽缸装置六角螺母M16.sldprt六角螺母M301.3拉车汽缸装置六角螺母M

19、30.sldprt六角螺栓M101.3拉车汽缸装置六角螺栓M10.sldprt六角螺栓M121.3拉车汽缸装置六角螺栓M12.sldprt六角螺栓M161.3拉车汽缸装置六角螺栓M16.sldprt平垫圈M101.3拉车汽缸装置平垫圈M10.sldprt平垫圈M121.3拉车汽缸装置平垫圈M12.sldprt平垫圈M161.3拉车汽缸装置平垫圈M16.sldprt平垫圈M301.3拉车汽缸装置平垫圈M30.sldprt上支架1.3拉车汽缸装置上支架.sldprt下支架1.3拉车汽缸装置下支架.sldprt圆螺母M271.3拉车汽缸装置圆螺母M27.sldprt圆螺母M301.3拉车汽缸装置圆螺

20、母M30.sldprt支撑板1.3拉车汽缸装置支撑板.sldprt拉车汽缸1.3拉车汽缸装置拉车汽缸.sldasm此表是保存零件的具体信息。软件最后根据此表中的零件位置打开相应的零件。注:(part)本表的记录较多,在此只列出部分作为示例。4.2 表之间的关联在设计表的过程中,在各个表中都添加一个相同的字段,将此字段作为表之间相联系的桥梁。例如在表sys_type中选择系统型号为型号1,就可得到其ID字段的值为1。其后根据ID1,在表parts_1中得到符合ID1的多个记录,选择其中的一个记录,假设为ID1,NO_1=1.3,装配体字段值为拉车汽缸装置一,则可以根据NO_1=1.3,在part

21、表中得到一组记录。实现了从第一个表开始各个表之间的关联。5设计的具体实现5.1设计的背景条件在设计中采用直接使用SolidWorks自带的接口程序。在安装路径下的Samplescomuserdlli386,可以直接使用其基本的工程文件。在其中添加自己的应用代码。编译链接后就可以得到一个comuserdll.dll的动态链接文件。在SolidWorks中运用Add-in功能将编译的文件打开就可以和SolidWorks实现完美的结合。5.2在SolidWorks软件下添加菜单及子菜单在SolidWorks的模板程序中,类userApplications中定义了添加菜单的函数再在其中的函数_addM

22、enus(LPFRAME pFrame)中添加代码实现添加用户自定义的菜单以及相应子菜单。实现的代码如下:VARIANT_BOOL bres;HRESULT hres = pFrame-AddMenu(auT(闸门及拉车系统(&J), 6, &bres);hres = pFrame-AddMenuItem(auT(闸门及拉车系统(&J), auT(零件管理&1), -1, auT(USERDLLpart_manage, 这是零件管理。), &bres);hres = pFrame-AddMenuItem(auT(闸门及拉车系统(&J), auT(帮助&3), -1, auT(USERDLLmy

23、help帮助), &bres);闸门及拉车系统是加挂与SolidWorks顶部的菜单。零件管理、数据管理、帮助是其下面的子菜单。因为编译的最后文件是userdll.dll,所以在定义菜单函数时是在userdll.cpp下实现的。考虑到资源的问题,还必须在userdll.def中说明菜单函数的序号。实现的方法如下:myhelp11part_manage12这样程序的运行才不会和SolidWorks的内部资源相冲突。5.3添加菜单函数在userdll.cpp中添加菜单响应函数。注意在VC中如果函数不返回任何值,则函数必须定义成void类型。零件管理菜单的响应函数部分如下:void part_man

24、age()HINSTANCE MyResourceHandle = NULL;MyResourceHandle = LoadLibrary(_T(userdll.dll );/ Save the current resource handle HINSTANCE SolidWorksResource = AfxGetResourceHandle();/ Switch to the Application resourcesAfxSetResourceHandle(MyResourceHandle);CNewDlg dlg;(略)AfxSetResourceHandle(SolidWorksRe

25、source);菜单函数实现的是打开一个对话框资源。其中关系到SolidWorks资源管理问题,必须将自己定义的对话框的句柄设为当前的SolidWorks的资源句柄。具体的有关问题可以查看SolidWorks API帮助里的Programmers Guide下Getting Started 下CC中的Managing your Application Resources - C/C+,里面有详细的使用方法。帮助菜单的响应函数如下:void About()HINSTANCE MyResourceHandle = NULL;MyResourceHandle = LoadLibrary(_T(use

26、rdll.dll ); HINSTANCE SolidWorksResource = AfxGetResourceHandle();AfxSetResourceHandle(MyResourceHandle);CAbout Aboutdlg;Aboutdlg.DoModal();/restore the solidworkss resource handleAfxSetResourceHandle(SolidWorksResource);注意在对话框头文件中添加#include “resource.h”。否则编译时会产生找不到对话框的ID号的错误。关于的界面在SolidWorks中实现如下:5

27、.1 关于界面图中显示的图片必须是位图。在制作时要把图的格式转化为*.bmp格式。5.4添加应用程序对话框对话框可以在VC资源里直接创建,再利用对话框的工具创建需要的各种控件,根据实际情况,对话框以及控件的安排如下图所示:位图控件组合框控件5.2 对话框样式对话框的创建后,在运用时要新建一个类来控制对话框的各种操作。在本设计中定义为CNewDlg类,在对话框中的各个控件的定义都在该类的函数中实现。5.5实现数据库连接设计的实现采用了MFC类库的基类CDaoDatabase。运用DAO实现与数据库的链接。设计的具体步骤如下:首先在stdafx.h中添加头文件#include ,其次在对话框类中定

28、义一个数据库指针变量CDaoDatabase m_db;将此变量放在protected型中。然后在对话框的.cpp文件中利用m_db将数据库打开,此变量是一个指针类型。要读取数据库中的数据必须再定义一个记录集变量CDaoRecordset rs(&m_db);根据对本次系统的具体分析。其实现的源程序如下:m_db.Open(_T(D:SolidWorkssamplescomuserdllpart.mdb);CDaoRecordset rs(&m_db);CString strSql=_T(SELECT * FROM sys_type );rs.Open(dbOpenDynaset,strSql

29、);COleVariant var;while(!rs.IsEOF()CString str;rs.GetFieldValue(_T(系统型号),var);str=CCrack:strVARIANT(var);if(str=_T()|str=_T(NULL)continue;m_SYSTYPE.AddString(str);rs.MoveNext();return TRUE;此段代码实现了将表sys_type中的系统型号字段的内容读入系统型号的组合框控件中,作为对话框程序的初始化。数据库的连接在三个组合框控件都使用到。每一个的原理都基本相似,下面介绍一下第一个组合框的具体实现。说明:第一个组合

30、框的关联变量是m_SYSTYPE。void CNewDlg:OnSelchangeSystype() UpdateData();int nSel=m_SYSTYPE.GetCurSel();/得到第一个组合框的焦点CString str;if(nSelLB_ERR)return;m_SYSTYPE.GetLBText(nSel,str);/得到第一个组合框的内容/AfxMessageBox(str);if(str.CompareNoCase(_T(型号1)0)/=0 is str is equal with 型号1m_FSTPARTS.ResetContent();CDaoRecordset

31、rs(&m_db);/定义记录集/得到parts_1.ID=1的记录集CString strSql=_T(SELECT * FROM parts_1 WHERE parts_1.ID=1 );rs.Open(dbOpenDynaset,strSql);/得到数据库的记录指针COleVariant var;while(!rs.IsEOF()CString str;rs.GetFieldValue(_T(装配体),var);str=CCrack:strVARIANT(var);if(str_T()|str_T(NULL)continue;m_FSTPARTS.AddString(str);rs.M

32、oveNext();/将得到的记录集添加到第二个组合框控件中UpdateData(FALSE);(略)本段代码是运用了DAO的数据库编程。利用控件实现对数据库的相应操作。5.6实现各级组合框的关联组合框之间的关联是利用了选择改变消息。即CBN_SELCHANGE消息。各组合框都建立一个CBN_SELCHANGE的消息。例如:ON_CBN_SELCHANGE(IDC_FSTPARTS, OnSelchangeFstparts)ON_CBN_SELCHANGE(IDC_PART, OnSelchangePart)IDC_ FSTPARTS是第二个组合框的名称,IDC_PART是第三个组合框的名称。

33、这两个组合框各有一个消息OnSelchangeFstparts,OnSelchangePart。通过在第二个框中添加代码,可以实现第二个组合框状态的改变影响第三个组合框的改变。例如在OnSelchangeFstparts消息的函数中的部分代码如下:void CNewDlg:OnSelchangeFstparts() UpdateData();if(str.CompareNoCase(_T(气压控制系统一)0)m_PART.ResetContent();CDaoRecordset rs(&m_db);CString strSql=_T(SELECT * FROM part WHERE part.

34、NO_1=1.1 );rs.Open(dbOpenDynaset,strSql);COleVariant var;while(!rs.IsEOF()CString str;rs.GetFieldValue(_T(零件名称),var);str=CCrack:strVARIANT(var);if(str_T()|str_T(NULL)rs.MoveNext();continue;m_PART.AddString(str);rs.MoveNext();UpdateData(FALSE);代码中的倒数第三行实现了对第三个组合框控件的添加文本。5.7实现零部件及装配体的预览零件的预览部分最好是添加消息W

35、M_PAINT,件预览部分的代码添加在OnPaint()函数中,这样避免了预览的暂时性。假如放在其他函数中实现。那么实现预览的效果将不会很好。例如打开了一个零件的预览,切换了页面之后就不能有预览效果。将实现代码放在OnPaint()函数中能有效地避免类似情况的发生。预览效果图如下:预览效果5.3 预览效果经切换页面后效果一样实现代码(部分):VARIANT_BOOL bOK;HRESULT res;long* pWnd=(long*)(m_PREVIEW.m_hWnd);res=UserApp-getSWApp()-PreviewDoc(pWnd,(unsigned short )strPre

36、viewFile.GetBuffer(strPreviewFile.GetLength(),&bOK);5.8 打开所选的零部件或装配体打开所选零部件的方法是产生点击ok时的响应消息。并根据所选的是零件还是装配体进行判断,而后依相应的格式打开。程序的实现如下:if(dlg.DoModal()=IDOK)AfxSetResourceHandle(SolidWorksResource); /Switch to Solidworks handleCString m_strFile=dlg.strPreviewFile;long type;Cstring strtemp;strtemp=m_strFi

37、le.Right(3);strtemp.MakeLower();if(strtemp=”prt”)type=swDocPART;else if(strtemp=”asm”)type=swDocASSEMBLY;else if(strtemp=”drw”)type=swDocDRAWING;elsetype=swDocNONE;_bstr_t bsFile(dlg.strPreviewFile); /include to use _bstr_tHRESULT res;LPMODELDOC mod=NULL;long P=0;res = UserApp-getSWApp()-IopenDoc2(b

38、sFile,type,FALSE,FALSE,TRUE,&P,(LPMODELDOC*)&mod);添加该段代码需添加头文件#include ,打开的格式是最后一条语句,其具体格式可以参考SolidWorks API帮助的opendoc2。5.9 编译链接为dll文件考虑到界面因素,现将对话框的背景色加以改变。利用ON_WM_CTLCOLOR()消息传递。首先,给对话基类增加一人成员变量Cbursh:Cbrush brush;其次,在类的构造函数中将刷子初始化为所需要的背景颜色。Brush.CreateSolidBrush(RGB(128,128,255),最后,使用ClassWizard处理

39、WM_CTLCOLOR消息并返回一个用来绘画对话背景的刷子句柄。如下:return(HBRUSH)brush.GetSafeHandle(); return Cdialog:OnCtlColor( pDC, pWnd, nCtlColor) ;这样运行时看到就是如预览效果图中的颜色。最后用VC6.0进行编译链接得到一个动态链接文件userdll.dll,以及userdll.lib。6 制作安装程序使用InstallMaster8.1作为开发的工具。软件的使用界面如下:本软件使用简便,在此不作详细说明。6.1 制作安装程序安装程序实现了将本软件所用到的所有文件都压缩在一个安装程序里。在运行安装程

40、序时,请按默认的路径安装。7系统演示首先用SolidWorks的Addin打开生成的uerdll.dll文件选择SolidWorks的文件菜单,点击打开,在文件类型中选择AddIns如下所示:7.1 导入程序选中userdll.dll,打开后SolidWorks中显示如下图:加挂的菜单7.2 菜单效果图中可以看出加挂的菜单和系统的菜单没有区别,体现了SolidWorks强大的接口。如果要实现运行一次后此菜单一直都挂接。则在导入dll文件之后,点击工具,插件,然后选择闸门拉车系统就可以了。待添加的隐藏文字内容2选择新添加的菜单,点击零件管理,出现程序的对话框,如下图:预览子装配体选择系统型号选择

41、零部件选择7.3 预览效果图中为选择了零件时,显示的预览效果。点击确定后打开的零件:7.4 打开零件8结论本次设计的是闸门拉车系统的各零部件及装配体在SolidWorks下的统一界面管理。管理的各零件建模由其他两位同学完成,考虑到零部件的数目较多,采用了数据库进行管理。要利用数据库储存相关的信息,就必须在建模的过程中各零件的命名规范,装配体必须有全部所需的零件。否则,在实际应用时可能因找不到零件而需进行手动查找。由于零件的建模和设计图纸有一定的区别,所以在本次设计中数据库的建立不能完全按照图纸上的命名,必须依照实际的情况建立数据库,以实现完全的自动处理,而无需手动查找。在这过程中使我积累了更多

42、的合作经验,深切体会到了合作精神的重要性。毕业设计的最终实现使我学会了更多的知识,和开发的经验。首先VC是一种较难熟练运用的编程工具,要懂得这只是工具而不是语言。其用到的是C语言,所以对类,继承等概念必须明确。要利用好VC工具还必须学习MFC的相关知识。充分利用MFC中的一些函数可以减少编程的工作量,以及提高代码的质量。本次设计是二次开发,和一次开发又有一定的区别。一次开发只要实现功能就可以,而二次开发需要更多的了解原有软件的一些具体实现原理,在此基础上利用接口,将自己的功能添加到原有软件中。像类似的二次开发多人合作的。在编写应用程序以及数据库之前,必须先划分好开发的步骤,将各步骤所需用到的都用明细表列出。一些准则需在编程之前事先定义好,然后在开始具体的设计开发。这样会减少开发的时间与效率,避免出现多次修改的情况。还有编写程序时不要太注重技巧。实用的,简单易懂的程序更好。长一点的不一定不好,太短了则在程序的修改时不易实现。本次毕业设计的结果可以直接在实际中应用,方便了用户的管理,提高了工作的效率,具有一定的价值。参考文献1美 Perspection公司著北京博彦科技发展有限公司译Microsoft Access 2000 即学即会北京

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号