您的位置:网站首页 > Solidworks

探究构建凸轮三维图形库系统的方法

时间:2010-11-13 09:37:54 来源:

  本文探讨研究了构建凸轮三维图形库系统的相关方法。

  CAD等技术的推广应用明显地提高了设计能力和图纸质量。过去手工设计时,全部图纸资料均由资料室统一管理,自从采用CAD技术以后,大部分资料都储存在计算机内。另外,一个系列的新产品必然承袭老产品中约80%的成果,因此,在设计新产品时,往往要经常查阅老产品的设计图纸。而大量的设计信息以计算机文件形式存在,这些图纸或文本文件有可能存放在某一设计部门的计算机目录下。用户要查询有关的资料,如果缺乏查找文件的辅助工具,往往要花费大量的精力,浪费宝贵的时间,因而文件的查询成为十分头痛的事情。凸轮图形库的建立采用计算机查询,不仅可以查到当前资料,还可以查到过去或者类似项目的相应资料,从而减少设计时间,提高设计效率。

  1系统结构

  1. 1开发工具

  SolidWorks的二次开发工具很多,如Delphi,C语言、C++语言、Visual C++. Visual Basic. VBA等。开发者可以根据自身的条件、工具特点等选择合适的开发工具。在建立凸轮三维图形库的工作中,作者选用SolidWorks 2006作为开发平台,并选用Delphi 7.0作为二次开发工具。SolidWorks是Windows环境一下的三维设计软件,其特点是易学、易用,功能强大,并且完全汉化,使用过程中不存在语言障碍;SolidWorks支持的数据标准有:IGES,DXF, DWG, STEP, VRML等,通过数据转换接口,SolidWorks可以方便地形成其它CAD, CAE软件所要求的数据格式;此外,SolidWorks通过COM技术和OLE自动化技术为用户提供完整的应用编程接口(API)。 Delphi是目前Window:平台下的优秀开发工具,拥有强大的数据库编程能力,利用Delphi对SolidWorks进行二次开发,可以将数据库技术与SolidWorks的强大设计能力相结合,创建出用户所需要的SolidWorks功能模块。

  1. 2系统总体结构

  系统从功能上分为:数据查询模块、三维实体造型模块、帮助模块等主要模块。结构上主要包括:系统主控模块、Delphi对SolidWorks的二次开发程序、SolidWorks软件平台等三大部分。系统的总体结构如图1所示。

图1

  数据查询模块主要由数据表格和二维图形组成。用户可以根据产品名称、设计单位、设计时间等进行相关的查询。

  三维实体造型模块主要是根据用户对凸轮结构尺寸的需要,调用Delphi对SolidWorks的二次开发程序,启动SolidWorks软件平台,生成对应凸轮结构尺寸的三维实体造型,用户也可以在SolidWorks环境下对所需凸轮的图形进行编辑。帮助模块主要说明系统的基本操作和使用方法。

  2实现过程

  2. 1创建SolidWorks服务器

  SolidWorks作为自动化服务器,其提供自动化服务的类型库文件叫做sldworks.tlb。在Delphi编程环境下,首先选择"Project"的"Import Type Library"菜单项,在弹出的"Import Type Library",对话框中检查是否在注册表中注册了相应的类型库"S1dWorks 2006 Type Library"。如果没有,点击"Add"按钮,选择SolidWorks安装目录下的sldworks.tlb文件进行注册。然后点击类型库名"S1dWorks 2006 Type Library",在Class names编辑框中将显示类型库所提供的所有类对象名字;为避免与Delphi本身的TComponent产生类名冲突,可以将编辑框中的TComponent改名为TSIdComponent。然后点选"Install"或"Create Unit"按钮,Delphi将在Import子目录下生成该类型库的Object Pascal文件sldworks TLB.Pas} SolidWorks提供的所有API函数都包括在这个文件中。接下来就可以利用此sldworks TLB.Pas文件创建SolidWorks对象了。

  2. 2凸轮图形数据库的建立

  凸轮图形数据库的建立是本系统的基础,本系统中一切可视化信息以及绘图所用到的数据均来自于凸轮图形数据库。凸轮图形数据库实质包括两个部分:一是己经收编入库的图形,二是用Delphi现开发SolidWorks绘图。

  2. 3收编入库的凸轮图形的构建步骤

  1)构建步骤分析凸轮结构,建立数据表格,进行凸轮图形设计时,首先要根据工作环境、输入输出运动转换方式、安装空间和布置方式、机器运转速度等选择合适的凸轮机构型式。本系统提供了滚子直动从动件盘形凸轮、平底直动从动件盘形凸轮、滚子摆动从动件盘形凸轮、平底摆动从动件盘形凸轮等型式。基本尺寸参数主要包括凸轮的基圆半径、从动件的偏心距和滚子半径等。运动规律的选择主要根据从动件的工作性能由用户确定,本系统提供了等速运动、等加速等减速运动、余弦加速度运动、正弦加速度运动等。

  每个凸轮都有其相应的数据表格,将凸轮的型式、基本尺寸参数、运动规律以及起始角和结束角等参数记录在凸轮数据表格中。在对这些数据表格进行分析之后,提取各个表格公有的非数据信息,单独创建一个数据库表作为索引表;同时为每个数据表格中的数据信息建立一个数据库表;搜索遍历索引表中的索引字段,就可以实现对凸轮图形数据库中所有数据表格的访问。

  2)建立实体模型,收编入库在对凸轮进行三维造型之前要生成凸轮的二维轮廓线。其方法为:根据凸轮计算程序中求得的凸轮轮廓线坐标数据x (i),Y (i),采用SolidWorks提供的样条曲线连接各点来生成光滑的凸轮轮廓曲线,再进行拉伸操作即可得到三维模型。

  在建立凸轮三维实体模型时(见图2),应使所建立的特征尽可能简单,使参数尺寸尽可能少,利用SolidWorks建立特征功能,并利用宏录制其过程,建立一宏文件(即内部编程)。然后用变量代替宏文件中的关键数据,如凸轮的基圆半径、从动件的偏心距和滚子半径等,而这些变量的数据来源即为凸轮图形数据库下的某种凸轮类型数据表。建模完成后,把凸轮建模过程所录制的宏代码放入参数输入对话框中"确定"按钮的Click事件中。每当按下。"确定"按钮后,首先获得SolidWorks Application对象和PartDoc对象,激活当前的文档对象,然后打开凸轮图。

图2

  2. 4用Delphi现开发SolidWorks绘图

  用Delphi开发SolidWorks绘图功能模块是本系统设计的关键所在。首先要创建SIdWorks对象,然后通过创建好的S1dWorks对象创建PartDoc ,ModelDoc2等子对象,并用这些子对象完成凸轮的构建、编辑、修改等。

  下面的代码片段演示了本系统中如何创建S1dWorks对象及其子对象。

公式1

公式2 

公式3

  然后根据子对象的调用创建一个凸轮三维图形。

  3结语

  本文论述了用Delphi对SolidWorks进行二次开发的方法,重点介绍了凸轮图形库开发技术和实现方案。通过建立凸轮图形库,为设计人员减轻了劳动强度,缩短了设计时间,提高了设计效率。进一步发展的话,将凸轮图形库升级为网络环境下的远程凸轮图形库,使得设计人员可以方便的通过网络获得凸轮图形,从而更好的实现机械产品的远程设计与资源共享。