1 夹具标准零部件三维图形库建立
1.1软件平台的选择
SolidWorks是一套三维机械CAD软件,它以参数化和特征建模的技术,为设计人员提供了良好的设计环境,逐渐拥有了越来越多的用户。另外,其强大的程序接口,能够方便地利用VB、VC、Delphi等开发语言来进行二次开发。所以我们选择VB作为标准件系统的主要平台。VB是Windows流行的编程语言,从根本上改变了传统的程序设计模式,大大简化了Windows应用程序设计。VBzui大的特点就是简单,使用VB来开发软件,开发周期短,代码效率高,并且VB和SolidWorks具有良好的连接性,它通过SolidWorks API提供的对象和方法实现与SolidWorks的交互,实现参数化三维图形库的生成。
1.2图形库的信息流程
机床夹具零部件库有如下几个主要的功能模块:零部件库应用程序,零部件数据库,图形库和SolidWorks。图形库用于存放由SolidWorks绘制的不同种类夹具标准件的三维图形,供预览用。零部件数据库是将机床夹具零部件标准中的所有零部件的尺寸数据输入计算机中,建立起多个数据文件,利用Access数据库软件建立标准件数据库,其中每种类型夹具标准件不同规格的尺寸构成一个数据文件。供应用程序在SolidWorks中生成相应的三维零件图。功能模块的信息流程为:应用程序调用图形库中的某种类型夹具标准件的三维图形,在相应对话框中选择所需的规格或输入必要的参数,通过接口程序调用零部件数据库中相应类型夹具的某种规格的尺寸数据,zui后在SolidWorks界面下生成规格的三维夹具零件图。
1.3图形库的结构
机床夹具标准件的种类繁多,为便于检索到所需的零部件,我们将夹具零部件分为9大类70多种不同规格,具体如下:
(1)定位零件与部件:以工件平面为基准的定位件、以工件外圆为基准的定位件、以工件内孔为基准的定位件;
(2)夹紧零件与部件:螺母、螺钉与螺栓、压块、压板、偏心轮等;
(3)其它夹紧零件:T型滑块、切向夹紧套、压入式螺纹衬套;
(4)导向零件与部件:钻套、镗套、衬套、钻套和镗套用螺钉;
(5)对刀零件:对刀块、对刀用塞尺;
(6)对定零件与部件:手柄式定位器、枪栓式定位器、齿条式定位器;
(7)键:定位键、定向键、过渡盘;
(8)其它零部件:支柱、支脚、角铁、螺塞、锁扣、堵片;
(9)夹具体:标准铸件组合夹具体、操作件。
2 夹具标准零部件三维图形库的关键技术
2.1 Solidworks API
SolidWorks对象包括ModelDoc, Environment,Frame,AttributeDef,Modeler,SWPropertySheet等。SolidWorks对象是SolidWorks API中的zui高层对象,它能够直接或间地访问SolidWorks API中的所有其他对象,并可以实现应用程序zui基本的操作,如生成、打开、关闭、结束文件、重排图标和窗口生成属性定义等。除此之外,它还可以对SolidWorks的系统环境进行设置。
(1)ModelDoc对象
SolidWorks的子对象ModelDoc属于模型层。用它可以实现视图设置、轮廓线修改、参数控制、对象选择/打开和保存文档、生成编辑特征参量、生成框架等与实体模型相关的各类操作。ModelDoc对象包括PartDoc,AssemblyDoc,DrawingDoc,Feature,Annotaion,FeatMgView,ModelView,Sketch,DesignTable,Attribute,SelectionMgr,LayerMgr,Configuration,ModelDocExtension,Configuration-Manager,ModelViewManager等对象。ModelDoc对象提供了直接访问PartDoc,DrawingDoc和AssemblyDoc对象的方法。对COM应用程序,这意味着通过使用QueryInterface,能够从这三个对象中的任何一个获得ModelDoc对象。
同样地,用QueryInterface通过基于ModelDo。指针所代表的文件类型能够从ModeiDoc对象获得相关的PartDoc,DrawingDoc或AssemblyDoc对象。对OLE应用程序,这种关系表示可以简单地定义一个新的IModelDoc对象,该对象调用指针和IPartDoc。IdrawingDoc或IassmeblyDoc对象的一样。而对于给定的零件,可以使用它的ModelDoc调用指针来定义一个新的IpartDoc对象。
(2)Environment对象
Environment对象可分析文本和几何关系,该几何关系用于生成符号。如果有-个包含了符号的注释,想要重新生成注释时可用Environment对象实现。从Environment类返回的所有数值都是以文本高1.0为单位的。一个具有文本高o.15的符号,应将返回值乘以0.1 5。可以用SldWorks GetEnvironment来查看返回值。在安装目录\lang\English中可以找到名为gt01.sym的环境没置文件,它包含所支持的几何公差符号和它们在SolidWorks文本文件中的缩写词。
2.2数据库的连接技术
VB程序提供了数据库连接Data控件,使用它可以将数据库连接到VB程序主程序中,实现数据库、SolidWorks图形文件和程序界面相互,实现应有的功能。为便于选取数据,采用MsFlexGrid控件来实现数据库中的数据能以表格形式提供给用户,使用MsFlexGrid控件方便简单。虽然它的功能不及其它数据控件,但可以使用变通方法扩展它的功能,只要在MsFlexGrid控件的属性中设置DataSource为数据控件,Data就可以使,}fj数据表了。另外,为了方便设计非标准夹具零部件,在表列的zui后增加一输入栏,以生成任意尺寸的非标准夹具零部件,扩充了三维图形库的使用范围。具体步骤如下:
(1)使用Data控件将数据库连接到程序界面。
Data I.DatabaseName=App.Path &"\小固定定位销.mdb"
Data 1.RecordSource= "****"
用上面的语句实现数据库连接,而且不会为文件的移动丢失数据库。
(2)用MsFlexGrid控件来实现数据库中的数据能以表格形式给用户使用。使用MsFlexGrid控件方便简单,只要在MsFlexGrid控件的属性中设置DataSource为数据控件Date就可以使用数据表了。
(3)获取数据表中的数据。我们用鼠标点选数据表中所要数据的那一栏(row),选中的数据栏的数据被依次读入设定的变量中,实现方法如下:
Sub MSFlexGridl_SelChange()
IfMSFlexGridI.Row<>(数据库的列数)-5-Then
MSFlexGridl.Row=MSFlexGridl.ROW
MSFlexGridl.Col=O:d-MSFlexGridl.Text
MSFlexGridl.Col=l:DD--MSFlexGridl.Text
MSFlexGridI.C01=2:DI=MSFlexGridl.Text
2.3 VB和SolidWorks的联接
在建立VB和SolidWorks的联接时所用到的程序代码较多,择较为常用的列述如下。添加SolidWorks库文件:
在[工程][引用]下查找并选中相应的3个SolidWorks库文件
SolidWorks Extensibility Type Library
SIdWorks 2006 Type Library
SolidWorks exposed type libraries for add-in use
建立SoliidWorks和Visual Basic之间的通讯过程的代码如下:
设置文档变量指向SolidWorks应用的文档对象的代码如下:
Dim swDoc as 0bject
Set swDoc=swapp.ActiveDocument
3 标准零部件三维图形库的界面和用法
3.1三维图库的用户界面
由上述分类可知三维图库涉及内容较多,为便于查找所设计的标准夹具零部件,用户界面如图1。
3.2三维图库的用法
在机床夹具中,定位销是一种常用的孔定位元件,按《机床夹具设计手册》中机床夹具零部件分类方式,尺寸在小于3 mm/1时称为小固定定位销,在大于3 mm时称为同定式定位销。为以示区别,考虑到便于建立数据库及数据的读取,分别将其命名为小固定定位销、固定式定位销(小)、固定式定位销(中)、固定式定位销(大),每一种元件又分为A型和B型两种类型,即圆柱型和削边型,为了使数据库结构简单,在设计参数数据库时仅按小固定定位销和同定定位销构建两个数据库(与手册提供的数据表一致)。而在VB设计界面中则再细化为圆柱型和削边型,仅按需要读取两个数据库中的相关数据。同一类定位销的形状结构基本相同,只是相对工件的定位销孔尺寸大小有所变化,因此,可以根据定位销孔的尺寸参数对其进行参数化设汁。
选择主菜单中"小固定定位销",调出小固定定位销数据表,如图2所示。
选择尺寸后,点击绘图按钮,自动进入Solidworks环境,绘制出三维图形,如图3所示。
4 结论
在对国内外CAD系统进行广泛研究的基础上,针对国内CAD现状进行了CAD的研究与开发。结合中国制造业存在的问题,以实用性、性为指导思想,构建了一个基于特征造型的,通过参数化驱动生成零部件的机床夹具三维标准件库。在完成机床夹具三维标准件库的基础上,进一步完成并完善通用机械零件标准件库、典型夹具体样件库,形成较为完整的CAFD系统并进行自动装配技术的研究。