您现在的位置是:首页 > 行业 > 制造 >

面向Solid Edge的参数化标准件图库开发方法

2012-02-08 18:41:00作者:王小虎 殷国富 徐雷来源:

摘要本文针对Solid Edge软件缺乏满足国内标准的通用标准件图库的问题,通过分析Solid Edge软件的文档结构及二次开发的两种建模方式,提出了一种面向Solid Edge的参数化标准件图库的开发方法。论述了在Microsoft Visual Basic 6.0环境下,通过Solid Edge程序驱动建模的方式,进行...

1 引言

    随着CAD/CAM等计算机辅助技术在制造业方面越来越深入广泛地应用,现代制造业在设计制造中对产品的虚拟模型也愈加依赖,而建立这些模型也就自然地成为了现代设计制造的一个基本需要。产品由大量零件构成,而这些零件中有相当一部分是有国标规定的标准零件,若每次都对这些标准件建模,无疑会浪费大量时间与精力,导致效率低下。因此,建立—个参数化标准件图库将会节省设计时间,提高设计效率。

    Solid Edge是美国UGS公司推出的基于Windows平台针对中端用户的三维实体造型软件,许多中小企业都因其易用而功能强大而采用。但由于各种原因,Solid Edge的标准件图库却存在内容不全、界面设计不够合理等原因而影响了其使用效率,因此,在市场迫切的需要下,为Solid Edge建立一个内容全面、操作简便的标准件图库显得十分必要。Solid Edge提供了完整的API,易于用各种程序语言开发翻,且提供了两种参数化建模的方式,这些特点都使得Solid Edge的二次开发灵活多变且功能强大。本文即介绍在Visual Basic 6.0环境下对Solid Edge进行二次开发,建立—个基于Solid Edge的参数化标准件图库的方法。

2 Solid Edge二次开发技术

    2.1 OLE自动化技术

    Solid Edge二次开发是通过基于COM技术的OLE自动化技术实现的。当使用VB进行二次开发时,VB必须和Solid Edge进行通信,通过OLE技术,VB自动成为客户端(Client),Solid Edge动成为服务器端(Server)。Solid Edge收到VB请求过后,决定将哪些对象暴露给VB,而VB则通过命令操作Solid Edge,从而达到二次开发的目的。

    比如,在VB中可以通过以下代码获得—个Solid Edge实例:

    Dim objApp As SolidEdgeFramework.Application

    Set objApp=CreateObject(“SolidEdge.Application”)

    第一行将对象objApp声明为Solid Edge框架中的Application类型对象。Application对象为Solid Edge的根对象,向Visual Basic提供了对Solid Edge其他所有对象的访问,为驱动Solid Edge提供了一系列必须得属性和方法。第二行通过CreateObject函数建立一个Solid Edge的应用,并将其返回至objApp对象,此时objApp便指向了一个Solid Edge的应用。

    2.2 Solid Edge的文档对象

    Application对象作为Solid Edge的根对象,其下派生出了许多对象,而其中尤以Documents对象为重要。

    由图1可见,一个Solid Edge的应用实例包含一个Documents对象,它是一系列Document(文档)的集合,而Document又可以分为Assembly Document(装配文档),Weldment Document(焊接文档),Part Document(零件文档),SheetMetal Document(钣金文档),Drafting Document(制图文档),它们分别实现Solid Edge的装配、焊接、实体建模、钣金建模及制图等功能。在用前述方式使objApp获得一个新建的Solid Ease应用后。可以用下面语句建立—个Document:

    Dim objDoc As SolidEdgePart.PartDocument

    Set objDoc=objApp.Documents.Add(“SolidEdge.PartDocument”)

    通过调用Documents对象下的Add方法添加对应文档,使objDoc指向了—个实体零件档。文档建立完成后,便可以调用这些Document下面的各属性和方法对它们加以操作,如建立和修改模型等等。因此,建立一个符合标准件建模需要的文档,是用Solid Edge开发标准件图库的必要前提,如图1所示。

    图1 5种Document

3 参数化标准件图库的开发方法

    3.1 Solid Edge二次开发参数化建模方法

    在Solid Edge中参数化建立模型有两种方法:程序驱动和变量驱动。

    3.1.1程序驱动参数化建模

    程序驱动是通过代码,读取数据库中零件各尺寸数据,并将其传递给Solid Edge提供的各种建模相关API函数,来生成三维模型。此种方法的核心是生成模型的代码,全部要靠程序员完成,其也是工作虽集中地地方。程序驱动方法不需要事先建立模板,操作灵活。但工作量大,本系统即采用此种方法。

    3.1.2 变量驱动参数化建模

    在Solid Edge的一个文档中,特征的关键尺寸都保存在一张变量表中,如长方体的长宽高、圆柱的底面半径和高等。通过修改这些尺寸,可以很容易地实现零件的参数化和标准化。变量驱动的方法即是通过代码获得这些变量的值再加以修改,从而使某一类型的零件可以有一系列的标准尺寸。此种方法编写的代码较少,可以较容易建立标准件图库,但需事先建立模板文件,若零件的类型很多则需要建立很多个模板文件,灵活性受限制。

    两种方法各有优缺点,可以根据实际情况选用不同的开发方法,或者混合使用。两者区别,如图2所示。

    图2 两种建模方法特点

    3.2 参数化标准件图库系统的结构设计

    标准件图库要实现的功能简单来说即是:根据使用者的要求,自动生成相应的零件模型。根据使用要求,设计标准件图库的结构,如图3所示。

标准件图库结构

    图3 标准件图库结构

    用户通过用户界面,可参照零件图库中对应零件的二维、三维图形选择零件类型,在必要时还可修改某些尺寸。当确定建模后,系统首先调用图中所示启动程序,启动Solid Edge。接下来系统根据用户的选择,调用相应的建模代码,代码包括两部分,第一部分为前述的建立Document的语句,根据零件不同的类型建立实体模型文档或者钣金模型文档。当文档建立后,第二部分代码的作用则是,让系统通过DAO(Data Access Object)技术读取参数数据库中的数据,并将其传递给相应的API函数,然后API函数驱动Solid Edge,建立零件三维模型。

 

    3.3 参数数据库创建及访问技术

    在标准件图库中,所有标准件的各尺寸信息伞部存储在参数数据库中,建模的时候程序需要访问这个数据库,读取零件各有关尺寸数据,因此数据的存储和访问方式将影响系统的运行。本系统采用数据库开发中前端和后端的思想。使用Microsoft Access作为数据库管理软件,每一大类零件分别建立对应的关系型数据库中的,作为数据库的后端。如连接类为“Joints.mdb”,齿轮类为“Gears.mdb”等。在这些数据库中,各零件的尺寸信息是以表的形式存放的,每一个零件的国标就对应一张表,且表明以相应的国标命名。如GB/T 1095-2003规定了普通平键的各个尺寸,其存储在数据库中的形式,如图4所示(未列出所有字段)。

数据存储表

    图4 数据存储表

    表中包含了轴径d的范围,键宽b,键高h,边倒角C或倒圆r,键长L等等关键尺寸。对这些表的维护和更新都在后端由开发人员进行,而不需要用户操心。在本程序中,将Data控件和MSFlexgrid控件绑定在一起,使用语句:

    Datal.DatabaseName=App.Path&“dataJoints.mdb”

    使DATA控件连接到数据源。MSFlexgrid控件可以灵活地显示和操作表格数据,当用户单击表格某一行,选定某一系列零件尺寸后(如轴径8~10的系列尺寸),它们将被更加详细地列出来,供用户修改(如确定某个范围内的值)。当程序判断所有数据都合法后,程序便将这些数据传递给API函数,用于生成模型。

    3.4 零件参数化建模

    零件建模是整个标准件图库的核心部分,它使参数数据库中相关的尺寸信息转换为实体结构。调用API函数创建实体零件的基本步骤和一般三维造型相似。即由获取参考面、在参考面上绘制二维轮廓、通过各种成形命令(如拉伸、旋转成形等)由二维轮廓生成三维实体等三个主要步骤组成。

    3.4.1 建立参考面

    在新建的文档中均有三个初始参考平面,即绝对坐标系的XOY、YOZ和XOZ平面,Solid Edge默认以RefPlanes(1),RefPlanes(2),和RefPlanes(3)表示。

    用户也可根据需要建立,调用RefPlanes对象下面的各种方法建立其他参考平面,常用的方法有AddParallelByDistance(和某一面平行),AddAngularByAngle(成某一角度)等等。

    3.4.2 绘制二维轮廓

    二维轮廓是生成三维模型的基础,参数化建模中二维轮廓直接控制了三维实体的形状。二维轮奔的绘制主要由确定放置参考面、绘制轮廓、添加约束、用End方法完成轮廓定义等几个个步骤构成。

    (1)确定放置参考面

    将轮廓放置在某参考面上的语句如下:

    Dim objProfile as SolidEdgePart.Profile

    Set objProfile=objdoc.ProfileSets.Add.Profiles.Add(RefPlane)。

    第二条语句先调用PmfileSets对象的Add方法添加—个Profiles对象,再调用Profiles对象的Add方法添加—个Profiles(轮廓),括号内传递的对象RefPlane即为需要在其上添加轮廓的参考平面。语句返回—个轮廓对象,由Profile类型的objProfile对象获得。

    (2)绘制轮廓

    轮廓指定后,便可向上面添加各种几何图形如圆、直线等,或修剪这些几何图形,来绘制轮廓形状。轮廓对象Profile包含LInes2d、Arcs2d、Circle2d等代表直线、圆弧、圆集合等的对象。这些对象均提供了许多向轮廓上添加各自成员的方法,运用这些方法可以向轮廓上添加各种几何图形。

    (3)添加约束

    在绘制轮廓的过程中,会用到各种约束,如平行、垂直、同心等等,这些约束关系均包含在Profile下的Relation2d对象中,调用这个对象中不同的方法即可对轮廓中的各图形施加约束。

    (4)完成轮廓定义

    轮廓绘制的最后需调用End方法完成轮廓定义。通过向End方法传递不同的参数,可以将轮廓确认为不同类型,如igProfileClosed(轮廓封闭),igProfileAllowNested(轮廓允许嵌套),igProfileNoSelfInterseet(轮廓无自相交)等,各种实体成形命令会根据轮廓的不同类型而得到不同结果。

    3.4.3成形实体

    如其他三维实体建模软件一样,Solid Edge成形实体的方法多种多样,如拉伸、回转、扫描等,而这些方法的下面又有多种侧重点不同的方法。虽然使用这些方法的API函数需要的参数不尽相同,但大体上都是传人一个该方法的基本轮廓,再辅以其他各种参数而成。

4 Solid Edge标准件图库的使用方法

    Solid Edge标准件图库界面,如图5所示。其使用方法如下:

    现假设需要标准件“滚花高头螺钉”。首先点击菜单栏选择零件大类“连接与紧固件”,“类型选择”一栏会出现螺栓、螺母、螺钉等子类,在“螺钉”下的“专用螺钉”里面选择“滚花高头螺钉”;选中该零件过后,“几何参数”栏将显示出其国标中的各参数,同时“二维图形”和会显示此零件的二维图,“建模”区会出现零件的三维参考模型,若零件还有子类,则“建模”区内还会出现子类型选择组合框。单击“几何参数”栏内某一系列参数后,“选择的参数”区会列出这一系列具体尺寸参数,其中深色背景的参数是允许使用者修改的,可能是某一范围内需要确定一具体值(如螺钉的具体长度)。或者用户可以输入自己需要的参数,从而生成非标准的零件,拓宽了使用范围。

    图5 Solid Edge标准件图库系统界面

    点击“建模”按钮后,系统将检测用户输入的数值,若数值中有非法数值,则报错,否则启动Solid Edge,以“选择参数”一栏中的各参数建市零件三维模型.如图6所示。

Solid Edge自动生成三维模型

    图6 Solid Edge自动生成三维模型

5 结语

    用Visual Basic语言二次开发Solid Edge相对容易、效率高,可以在较短的时间内搭建出标准件图库。本系统根据机械设计手册,收录了几乎所有机械方面的标准件,用户可以通过本系统生成各种标准件,也可以根据具体情况的需要,修改标准件的某些参数,尺寸不与围标一致,但又需要的非标准零件,拓宽了应用范围。本系统未在数据库的扩展与更新方面给予支持,在后续的工作中应强化这方面,做到能随国标的更新随时更新数据。可以方便快捷地添加、修改、删减各个标准件及其数据。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们