合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx

上传人:b****5 文档编号:5797244 上传时间:2023-01-01 格式:DOCX 页数:29 大小:4.05MB
下载 相关 举报
合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx_第1页
第1页 / 共29页
合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx_第2页
第2页 / 共29页
合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx_第3页
第3页 / 共29页
合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx_第4页
第4页 / 共29页
合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx

《合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx》由会员分享,可在线阅读,更多相关《合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx(29页珍藏版)》请在冰豆网上搜索。

合工大机械毕设 基础件通用件库的开发应用 及夹具虚拟设计.docx

合工大机械毕设基础件通用件库的开发应用及夹具虚拟设计

基础件、通用件库的开发应用

及夹具虚拟设计

摘要:

机械绘图是机械制造的一个重要环节,但是常用的标准机械零件,使用频率高,绘制复杂繁琐。

例如在通用夹具的设计制造以及虚拟设计时,夹具零件反复被使用。

若每次设计夹具时都重新绘制夹具零件,会浪费大量的人力物力。

所以利用solidworks二次开发技术,vb程序设计,以及access数据库技术。

建立通用夹具库,方便调用,查询以及装配,会大大提高工作效率。

关键词:

Solidwrorks®二次开发通用夹具库access数据库VB程序设计夹具

虚拟设计

 

Abstract:

Mechanicaldrawingisanimportantsectionofmanufacture.Asforcommonstandardmachineelements,wewillusethemfrequently,howeverre-drawingittimeaftertimeshallbeacomplexandcumbersomework.Forexample,inthedesign,virtualdesignandmanufactureofuniversalfixture,thefixturepartsareusedrepeatedly.Frequentlyre-drawingitwillwasteplentyofresources.SousingSolidworks®SDT(secondarydevelopmenttools)-assistedbyVBprogrammingandAccessdatabasetechnology,establishingacommonfixturelibrarywillbeconvenientforalldesigners.Andit’seasytouse,queriesandassembly.Itwillimproveworkingefficiencysignificantly.

Keyword:

Solidworks®SDT(secondarydevelopmenttools),commonfixturelibrary,Accessdatabase,VBprogramming,fixturevirtualdesign

 

1引言

1.1课题研究背景和意义

当今社会,经济飞速发展,机械行业作为国家发展的支柱行业,其生产效率越来越受到人们的关注。

因此快速响应用户的需求已经成为现代制造企业面临的一个重要课题。

机床夹具的设计与制造是机械工业生产中的一个重要环节。

通用组合夹具作为夹具的一个重要组成部分,在生产活动中被大量运用。

通用夹具凭借着自身,可以适应多品种,设计和制造周期短等优点。

获得越来越多制造企业的青睐。

在生产实践活动中,组合夹具的设计若采用现场装配设计,会浪费大量的人力与物力,因此利用solidworks二次开发技术,对组合夹具进行虚拟设计。

首先会大大提高生产效率,为企业带来效益。

其次便于修改,查看大幅度的提高了企业的生产效率降低了生产成本。

计算机辅助组合夹具快速设计系统的研究试图解决组合夹具设计中存在的问题。

本课题主要是从组合夹具的快速装配及虚拟设计角度出发,对组合夹具元件以及常用典型组合夹具实例进行合理建模,从而对组合夹具设计过程产生重大的改进。

本课题的基本原理是充分利用现有组合夹具的设计经验,在典型夹具实例库的基础上进行推理、快速设计和组装出满足工艺需求的组合夹具,以缩短夹具设计与准备的时间,满足快速响应客户需求的目标。

因此本课题对提高夹具设计生产效率有重要的意义。

1.2二次开发分析

为了使组合夹具的设计更加快捷,方便,我们必须建立合适的组合夹具元件库。

本系统采用VB对solidworks进行二次开发,自动绘制组合夹具三维图,建立图库,可快速对夹具零件进行调用来进行虚拟装配,指导实际夹具组装。

为设计人员省去重复的劳动。

SolidWorks软件是世界上第一个基于Windows开发的三维CAD系统,由于技术创新符合CAD技术的发展潮流和趋势,SolidWorks公司于两年间成为CAD/CAM产业中获利最高的公司。

良好的财务状况和用户支持使得SolidWorks每年都有数十乃至数百项的技术创新,公司也获得了很多荣誉。

该系统在1995-1999年获得全球微机平台CAD系统评比第一名;从1995年至今,已经累计获得十七项国际大奖,其中仅从1999年起,美国权威的CAD专业杂志CADENCE连续4年授予SolidWorks最佳编辑奖,以表彰SolidWorks的创新、活力和简明。

至此,SolidWorks所遵循的易用、稳定和创新三大原则得到了全面的落实和证明,使用它,设计师大大缩短了设计时间,产品快速、高效地投向了市场。

2组合夹具元件库的建立

2.1按元件种类建立夹具元件实体库

本课题以柔性夹具元件中型槽系列为例,首先将每一系列的元件建模,并对绘制过程进行宏录制,为后续自动绘图功能提供程序源代码。

绘制完成后按类型分别保存在各文件夹中,并汇总于夹具库文件夹中。

如图2.1

图2.1夹具库文件分类

2.2组合夹具元件按品种建模

由于同一系列不同规格的元件,它们的形状相同,但是某些参数不同,例如Z3610锥柄顶尖共有六种不同型号的元件。

如图1.2

图2.2Z3610锥柄顶尖

关于如何解决一种型号不同尺寸问题,有两种解决方案。

(A)按品种建模时,通过设定适当的参数,填写参数表,即可自动生成不同规格的元件;同时为自动生成组合夹具装配图中要求的组合夹具元件明细表,在品种属性中加入自定义属性并加入用户元件明细表模板。

(B)利用vb与solidworks二次开发技术的综合运用。

首先宏录制某型号零件的绘制过程。

再利用vb语言,对绘制过程的某些特定参数进行修改。

实现不同尺寸零件的建模。

此方法更可以对一些特定场合所需的部分非标准件进行自动建模。

综合比较两种方案,方案B的适用范围更广,功能更强大,更便于与VB程序结合,因此采用B方案

3组合夹具元件的参数化设计

机床夹具是机械加工过程中的一个重要的工艺装备,在设计机床专用组合夹具元件时,要频繁的使用各种元件,但是查找和和绘制这些元件需要花费很多的时间和精力。

我们通过将通用零件建库,再设计时只需要调用已经建模好的元件,就能快速的实现夹具的设计以及虚拟装配。

选择高效的建模工具,建立参数化的夹具通用零件,按其形状几何特征分类存入不同的子目录下成为夹具通用零件库构建一个重要部分。

参数驱动是一种参数化方法,它的本质特征就是用户对数据库的参数进行操作。

另外还有很多的参数化方法,与其他参数化方法相比较,参数驱动方法具有简单、方便修改等优点。

3.1数据库技术

本课题研究的是柔性夹具元件--中型槽系列,槽系组合夹具元件分为8类:

即基础件、支承件、定位件、导向件、压紧件、紧固件、其他件和合件,每个类里又有不同规格。

利用access数据库功能,对每一个规格的零件参数建立数据表格。

如图3.13.23.3

图3.1数据库

图3.2基础件数据库

图3.3垂直圆基础板数据表格

如上图所示,我们将各类型夹具元件分别建立数据库,并保存在同一个文件下,在同一类型的数据库中,如基础件,分别建立个型号元件的表格。

并将各元件参数输入,以代号作为表格主键。

3.3参数化设计

参数化设计是RevitBuilding的一个重要思想,它分为两个部分:

参数化图元和参数化修改引擎。

RevitBuilding中的图元都是以构件的形式出现,这些构件之间的不同,是通过参数的调整反映出来的,参数保存了图元作为数字化建筑构件的所有信息。

参数化修改引擎提供的参数更改技术使用户对建筑设计或文档部分作的任何改动都可以自动的在其它相关联的部分反映出来,采用智能建筑构件、视图和注释符号,使每一个构件都通过一个变更传播引擎互相关联。

构件的移动、删除和尺寸的改动所引起的参数变化会引起相关构件的参数产生关联的变化,任一视图下所发生的变更都能参数化的、双向的传播到所有视图,以保证所有图纸的一致性,毋须逐一对所有视图进行修改。

从而提高了工作效率和工作质量。

在参数化设计系统中,设计人员根据工程关系和几何关系来指定设计要求。

要满足这些设计要求,不仅需要考虑尺寸或工程参数的初值,而且要在每次改变这些设计参数时来维护这些基本关系,即将参数分为两类:

其一为各种尺寸值,称为可变参数;其二为几何元素间的各种连续几何信息,称为不变参数。

参数化设计的本质是在可变参数的作用下,系统能够自动维护所有的不变参数。

因此,参数化模型中建立的各种约束关系,正是体现了设计人员的设计意图。

3.3图形特征联动

所谓图形特征联动就是保证在图形拓扑关系不变的情况下,对次约束的驱动,亦即保证连续、相切、垂直、平行等关系不变。

反映到参数驱动过程就是要根据各种几何相关性准则去判识与从动点有上述拓扑关系的实体及其几何数据,在保证原关系不变的前提下,求出新的几何数据。

称这些几何数据为从动点。

这样,从动点的约束就与驱动参数有了联系。

依靠这一联系,从动点得到了驱动点的驱动,驱动机制则扩大了其作用范围。

所谓相关参数联动就是建立次约束与主约束在数值上和逻辑上的关系。

在参数驱动过程中,始终要保持这种关系不变。

相关参数的联动方法使某些不能用拓扑关系判断的从动点与驱动点建立了联系。

使用这种方式时,常引入驱动树,以建立主动点、从动点等之间的约束关系的树形表示,便于直观地判断图形的驱动与约束情况。

参数驱动是一种新的参数化方法,与基本特征是直接对数据库进行操作。

因此它具有很好的交互性,用户可以利用绘图系统全部的交互功能修改图形及其属性,进而控制参数化的过程与其他参数化方法相比较,参数驱动方法具有简单、方便、易开发和使用的特点,能够在现有的绘图系统基础上进行二次开发。

而且适用面广,对二维、三维图形问题都适用。

3.4夹具参数化及编码系统

本课题主要基于柔性夹具和solidworks三维实体造型软件平台,基于对当前制造企业夹具设计的特点,参考国内外夹具编码系统,综合考虑,JJBM编码系统比较简单,而JJDM编码系统过于复杂,综合参考两个系统的特点,并草考其他编码系统,本着有利于计算机管理的角度,将柔性夹具的参数编码系统选择为JJBM。

除了能对夹具分类分组外,夹具分类编码系统的主要功能还在于能搜集和检索有关夹具从设计、工业到生产的信息。

对夹具编码后,不但有利于计算机检索,更有利于手工检索。

该夹具编码系统科根据实际需要扩展,可以用十六进制数作为编码,那样可以扩展到14位十六进制码,本课题研究在设计界面和数据库结构时候考虑到了这个柔性。

当然,对于每个参数的判断标准,在软件里面也有、会有说明。

利用分类编码结果,按类组整理已有的有关家具的各种技术和生产方面的资料,然后便可按夹具的分类编码进行检索提取,这样便能使大量已有的,并被证明的十分可靠的资料,能够得到重复利用,因而便可大大节约不必要的重复劳动。

充分做到物尽其用,杜绝一切可能的浪费,这样有利于提高企业的经济效益。

编码系统也有助于生产的信息管理和使用的合理化。

 

4系统主体和用户界面的建立

本课题是利用VB开发组合夹具零件库,并使用Access数据库管理系统管理操作数据。

用VB开发程序的主界面,并且生成EXE格式程序。

利用程序可以打开SolidWorks程序并且调用装配零件。

本次柔性夹具元件标准件库的建立包括了基础件、支承件、定位件、导向件、压紧件、紧固件、合件、其他件、通用件共九大类。

每类标准件的查询工作和实体建模过程基本是一致的。

但是在自动绘图功能中,每个零件的部分参数不同所以界面有所不同。

但是整体的界面要统一,同时应该在操作习惯上符合一般人的操作习惯。

4.1开发程序形式选择

任何支持OLE和COM的编程语言都可以作为SolidWorks的开发工具。

SolidWorks二次开发分为两种:

一种是机遇自动化技术的,可以开发EXE形式的程序;另一种开发方式是基于COM的,可以生成*.DLL格式的文件,也就是SolidWorks的插件。

综合比较上述两种方式,EXE格式文件独立于Solidworks程序,便于转载、开发。

DLL格式程序,运行操作方便利于绘图,但是加载繁琐,需要单独连接Solidworks。

所以,本课题采用EXE格式程序开发。

4.2开发程序语言选择

Solidworks开发工具有很多,可以根据自身条件和特点选择开发工具,以下是常见的几种开发工具。

4.2.1VisualC++

VC++是微软公司推出的应用非常广泛的可视化编程语言,它提供了功能强大的集成开发环境,用以方便有效地管理、编写、跟踪C++程序,大大减少了程序员的工作量,提高了程序代码的效率。

它是当今最流行的软件开发工具之一,是程序员的首选编码利器。

4.2.2VisualBasic

VB是微软公司于1991年推出的Windows应用程序开发工具,它开创了可视化编程的先河,使编程技术向前迈进了一大步。

在它的带动下,许多优秀的可视化开发工具相继问世,这些开发工具各有千秋,但它们都或多或少地从VisualBasic中汲取了营养。

4.2.3VBA

要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件

(EXE),而VBA开发的程序必须依赖于它的“父”应用程序。

在solidworks中,VBA最常见的用途既是宏录制。

能够利用宏录制命令在solidworks环境中录制solidworks的相关操作,并可以调用solidworksAPI接口提供的所在对象、方法及属性,也可记录solidworks环境中的鼠标、菜单和键盘操作。

4.2.4Delphi

Delphi是borland公司的产品,是一个运行在windows下的可视化编程环境,可以创建Windows应用程序。

它具有高性能的32位本地优化代码编译器,其应用程序可以直接运行,能够最终生成可单独执行的DLL和EXE文件。

Delphi作为一种面向对象的可视化开发工具有着非常大的优势。

综合以上特点,本课题采用VB语言程序设计,因为其跟solidworks良好的衔接性能,操作方便,学习简单,便于新手上手。

更能快速的改编来自宏录制来的源代码。

4.3主程序用户界面设计

在界面的设计过程中,遵循几个基本原则:

1)造型美观利于观察操作

2)提供尽可能多的提示信息,使输入信息符合标准

3)尽量符合大众人群的操作习惯

4)尽量简化操作步骤和操作页面

4.3.1主窗体的页面设计

为了方便操作者操作,主窗体尽量做得简洁明朗。

下图为结构示意图4.1;

图4.1结构示意图

利用command控件,创建九个按钮分别代表个类型元件。

如图4.2

图4.2主窗体

通过点击个类型元件按钮,相应的弹出对应零件的窗体进行后续操作。

部分代码如下:

PrivateSubCommand2_Click()

Form3.Show

元件.Hide

EndSub

在主窗体我们添加一个启动SolidWorks按钮,方便程序运行,部分代码如下:

PrivateSubCommand1_Click()

SetswApp=CreateObject("SldWorks.Application")

swApp.Visible(True)

EndSub

为了方便操作者的操作,我们添加了菜单功能,这是VB程序自带的一种控件。

可以快速添加生成菜单并编写功能代码。

添加菜单功能可以使操作者快速退出程序,并且查看程序的相关说明。

打开工具—菜单编辑器。

如图4.3

图4.3菜单编辑器

4.3.2元件窗体页面设计

作为元件的编辑窗体,功能较多、操作页面较为复杂,尽量设计页面简单清晰,操作方便。

如图4.4、图4.5

图4.4装配窗体

图4.5零件窗体

此窗体作为程序的主要窗体,主要运用了,command、image、datagrid、list、frame、sstab、lable、textbox控件

(1)Lable控件:

文字输入控件,在窗体上方添加合肥工业大学校训,增加窗体的美观;

(2)Frame控件:

划定控件区域,说明该区域控件作用类型;

(3)List控件:

添加系列元件名称代号供操作者选择;

(4)Image控件:

添加图片功能的控件;

(5)Datagrid控件:

表格数据显示控件;

(6)Sstab控件:

可以以文件夹形式显示内容的控件;

(7)Textbox控件:

输入数据并写入数据的控件;

5VB6.0开发SolidWorks功能实现

本课题采用VB6.0对solidworks进行开发首先要完成vb与其连接,以及VB与Access数据库的连接。

在VB中引用solidworks内部函数,方便在vb程序中对solidworks对象进行操作。

5.1solidworks的主要API对象

SolidworksAPI是solidworks的OLE应用程序开发接口,用户可以利用它并通过支持OLE编程的开发工具,对solidworks进行二次开发,创建出用户定制的、专用的solidworks功能模块。

VC++、VB创建的的基于Dispatch接口的应用程序可以使用CreateObject、GetObject或者其他类似的函数来获得SolidWorks对象。

而基于COM创建的应用程序则在所创建的DLL应用程序加载时,通过将SldWorks指针传递给函数InitUserDLL3来获得SolidWorks对象。

5.2装配功能实现方法

本系统程序,主要功能室实现零件的载入装配体,并实现虚拟装配。

其主要过程如下;

5.2.1solidworks函数引用

首先打开工程—引用,如图5.1

图5.1函数库引用

将solidworks2010constanttypelibrary,sldworks2010TypeLibrary、函数库引用到VB程序中

5.2.2调用代码写入

在往装配体中插入零部件时,我们使用addcomponent函数。

同时我们添加零件时采用以下步骤编写程序

(1)、得到装配体

(2)、使用OpenDoc6打开需要插入的零件

(3)、使用addcomponent4插入零件得到装配体

结合自身程序所需求的我们编写代码如下:

DimswAppAsSldWorks.SldWorks

DimModelAsModelDoc2

DimYSBmodelAsModelDoc2

DimpthAsString

DimstrpathAsString

DimnErrorsAsLong

DimnWarningsAsLong

DimpathAsString

DimnewswappAsSldWorks.SldWorks

PrivateSubCommand1_Click()

SetswApp=CreateObject("SldWorks.Application")

strpath=swApp.GetCurrentWorkingDirectory

SetModel=swApp.ActiveDoc

pth="C:

\Users\Administrator\Desktop\毕业设计\夹具图库\通用件\T371613尖对位轴.SLDPRT"

openYSB(pth)

Model.AddComponent4pth,"配置1",0,0,0

EndSub

SubopenYSB(ByValpthAsString)

SetswApp=CreateObject("SldWorks.Application")

path=pth

SetYSBmodel=swApp.OpenDoc6(path,1,swOpenDocOptions_Silent,"",0,0)

YSBmodel.Visible=False

EndSub

在装配过程中我们利用“Model.AddComponent4pth,"配置1",0,0,0”语句,可以调整调入零件的初始坐标位置。

例如将0,0,0修改为0,0,0.1。

5.2.3装配程序主体架构

由于装配功能要与数据库和其他控件连接,我们采用ifelseif语句和select()语句实现此功能。

利用select语句获取鼠标点击list控件所获得的零件信息,利用ifelseif语句实现对应零件程序的运行调用。

具体参考程序如下:

PrivateSubList1_Click()

IfList1.Selected(0)=TrueThen

Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\Users\Administrator\Desktop\毕业设计\数据库\基础件.mdb;PersistSecurityInfo=False"

Adodc1.RecordSource="select*from简式正方形基础板"

SetDataGrid1.DataSource=Adodc1

ElseIfList1.Selected

(2)=TrueThen

Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:

\Users\Administrator\Desktop\毕业设计\夹具\数据库\夹具一.mdb;PersistSecurityInfo=False"

Adodc1.RecordSource="select*from精密正方形基础板"

SetDataGrid1.DataSource=Adodc1

EndIf

EndSub

5.3自动建模功能实现方法

实现自动绘图功能,主要是要进行宏录制以及将宏录制所得的VBA程序代码转换为VB程序代码在VB程序中运行。

其主要实现过程如下:

5.3.1宏录制绘图

所谓宏录制,就是记录人的操作过程,并将其转换成VB程序代码。

但是需要注意的是并不是所有的操作都能转换成代码的,而且,自动录制的程序对环境的要求比较严格,导致录制的程序兼容性很差。

所以在开发程序的过程中,宏录制只能帮助我们编写程序。

首先打开solidworks工具/宏/录制;如图5.2

图5.2宏录制

点击录制按钮之后,开始进行绘图操作,操作完毕之后保存录制后得到的代码,并且编辑修改。

如图5.3

如图5.3宏编辑

5.3.2程序代码转换

通过宏录制获得代码大部分只能在VBA中运行,如果想在VB程序中运行就要进行相应的修改。

首先将宏文件中的SetswApp=Application.SldWorks改为SetswApp=CreateObject("sldworks.application")

对于VBA中的参数变量要进行相应的修改,因为输入的参数是系统常量。

也就是由系统定义的常量,如:

end(xlup)里面的xlup就是系统常量。

这个常量是由excel定义的。

所以到VB里面的时候,VB并没有

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1