您的位置:网站首页 > Solidworks

机床夹具三维标准件库的开发

时间:2010-06-02 08:00:00 来源:
副标题#e#    当前国内机械行业内虽然有诸多机械标准零件的图库,但并不是很能满足需求。一方面,现在的图库基本上都是二维平面图库,而随着大量三维实体造型软件如SolidWorks、Pro/E、UG等的崛起,引发了设计领域的变革。由于这些三维软件不仅可创建三维实体模型,还可利用没汁出的三维模型进行模拟装配和静态干涉检查、机构分析、动态干涉检查、动力学分析、强度分析等,所以应用越来越广泛,而平面图库的应用将日趋减少。另一方面,虽然一些三维软件也有标准件图库,但多数是普通的机械标准零件图库,并没有一套专门的机床夹具标准零部件的图库。我们对众多夹具标准件进行搜集、筛选、分类,而后编程对其进行组织,形成一套针对性较强的三维参数化夹具标准件图形库。
   
    1夹具标准零部件三维图形库建立
   
    1.1软件平台的选择
   
    SolidWorks是一套三维机械CAD软件,它以参数化和特征建模的技术,为设计人员提供了良好的设计环境,逐渐拥有了越来越多的用户。另外,其强大的程序接口,能够方便地利用VB、VC、Delphi等开发语言来进行二次开发。所以我们选择VB作为标准件系统的主要平台。VB是Windows流行的编程语言,从根本上改变了传统的程序设计模式,大大简化了Windows应用程序设计。VB最大的特点就是简单,使用VB来开发软件,开发周期短,代码效率高,并且VB和SolidWorks具有良好的连接性,它通过SolidWorks API提供的对象和方法实现与SolidWorks的交互,实现参数化三维图形库的生成。
   
    1.2图形库的信息流程
   
    机床夹具零部件库有如下几个主要的功能模块:零部件库应用程序,零部件数据库,图形库和SolidWorks。图形库用于存放由SolidWorks绘制的不同种类夹具标准件的三维图形,供预览用。零部件数据库是将机床夹具零部件标准中的所有零部件的尺寸数据输入计算机中,建立起多个数据文件,利用Access数据库软件建立标准件数据库,其中每种类型夹具标准件不同规格的尺寸构成一个数据文件。供应用程序在SolidWorks中生成相应的三维零件图。功能模块的信息流程为:应用程序调用图形库中的某种类型夹具标准件的三维图形,在相应对话框中选择所需的规格或输入必要的参数,通过接口程序调用零部件数据库中相应类型夹具的某种规格的尺寸数据,最后在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中的最高层对象,它能够直接或间地访问SolidWorks API中的所有其他对象,并可以实现应用程序最基本的操作,如生成、打开、关闭、结束文件、重排图标和窗口生成属性定义等。除此之外,它还可以对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数据表了。另外,为了方便设计非标准夹具零部件,在表列的最后增加一输入栏,以生成任意尺寸的非标准夹具零部件,扩充了三维图形库的使用范围。具体步骤如下:
   
    (1)使用Data控件将数据库连接到程序界面。
   
    Data I.DatabaseName=App.Path &"小固定定位销.mdb"
    Data 1.RecordSource= "****"
   
    用上面的语句实现数据库连接,而且不会为文件的移动丢失数据库。
   
    (2)用MsFlexGrid控件来实现数据库中的数据能以表格形式给用户使用。使用MsFlexGrid控件方便简单,只要在MsFlexGrid控件的属性中设置DataSource为数据控件Date就可以使用数据表了。
   
    (3)获取数据表中的数据。我们用鼠标点选数据表中所要数据的那一栏(row),选中的数据栏的数据被依次读入设定的变量中,实现方法如下:
   
    Private 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