0 引言
润滑调节油站是油液循环润滑系统的心脏,主要作用是将润滑油液强制压送到机器摩擦部位,在相对运动的机器零件间形成油膜,减少零件的磨擦、磨损,同时对磨擦部位进行冲洗,并带走磨擦产生的热量和碎屑,保证机器正常运转,延长机器使用寿命。油箱作为润滑油站的主要部件,油站中循环的液压油均需通过油箱存储和输送。
本文根据润滑油调节站的结构特点,选择润滑油调节站油箱作为对象,利用SolidWorks对其进行三维造型,并通过Delphi编程实现零件的参数化设计,使油箱的设计更加高效,规范。
Delphi是Borland公司开发的可视化编程环境,它提供了方便、快速及高效率的Windows应用程序开发工具,具有语言简单、功能齐全、使用简捷的优点,同时具有强大的数据库处理功能的优势。利用Delphi对SolidWorks进行二次开发是一种高效,可靠的方法。
1 SolidWorks二次开发关键技术和方法
SolidWorks的对象模型是一个多层次的对象网络,即对象分为若干层,每一层又包括若干子对象,每个对象又都有自己的属性、方法和事件。因此可以通过调用SolidWorks对象的属性、方法来建立适合自己需要的、专用的SolidWorks功能模块。
本文主要采用Delphi+Access 2003(数据库)+SolidWorks API的技术方案,其主要技术和方法如下:
1.1 OLE和COM技术
SolidWorks的二次开发技术主要有两种,一种是基于OLE技术,可以开发exe形式的程序;另一种是基于COM技术,可以生成*.dll格式的文件,作为SolidWorks的插件在SolidWorks中被加载运用。OLE技术,即对象的嵌入与链接技术,使应用程序间能够通过数据嵌入或链接的方式来共享数据。COM技术,即组件对象模型,定义了标准的构建组件的方法,是软件组件互相通讯的一种方式。它是一种二进制的网络标准,允许任意两个组件互相通讯。COM不是一个特殊类型的应用程序,而是一个可以用来为任何类型的应用程序构建组件的普遍的模型。本文是采用OLE技术,使用Delphi对SolidWorks二次开发,生成exe应用程序。
1.2 Delphi与SolidWorks之间的连接
用Delphi对SolidWorks二次开发,首先在Delphi中注册SolidWorks类型库,SolidWorks提供的所有API函数都包含在SldWorks_TIB.pas文件里,在对SolidWorks二次开发的时候必须将此文件包含在工程中。只要在uses子句加入SldWorks_TIB,然后就可以创建SolidWorks应用对象,建立新的零件图或装配图。实现Delphi链接SolidWorks的代码如下:
1.3 数据库的建立和连接
程序中要使用大量的数据,在开发中运用数据库可以对数据的访问和操作更加安全方便。本文使用的数据库是Access 2003,是一种小型桌面数据库,对于处理少量数据和单机访问的数据库时效率很高,与Delphi的连接方便简单。与Delphi连接的代码如下:
2 润滑油站油箱二次开发
2.1 总体程序流程
在开发应用程序时通过Delphi对SolidWorks二次开发生成.exe程序,用户通过程序选择要设计零件类型,并输入零件主要参数,程序对这些参数进行验证计算处理,参数合理后在SolidWorks生成要设计零件三维图形,并将零件和零件的参数保存到数据库。现以润滑油站油箱为例,应用程序的总体流程图如图1所示。
图1 程序总体流程图
2.2 程序界面及数据库设计
软件的界面是人机交互的窗口,界面设计的好坏直接影响软件的认可与使用,本文设计的界面如图2所示,使用了Delphi中的TabControl控件、Image控件、Button控件等等,在设计的时候想到零件参数多,输入框Edit控件分布在零件二维图中见名知意,直观易懂,操作简单。本文在数据处理中选择了ACCESS数据库如图3所示,将程序中使用的零件参数安全存储在数据库,为程序的读取和维护提供了保障。
图2 程序界面
图3 程序数据库
2.3 实例程序流程
在具体到程序实现时,要根据各个零件的结构的不同,程序是实现流程也各不相同,本文以油箱的侧板为实例说明用Delphi对SolidWorks二次开发的具体方法。其中油箱侧板程序的流程图如图4所示。
图4 油箱侧板设计程序流程图
2.4 实例程序核心代码
2.5 程序运行结果
油箱侧板程序运行的结果如图5所示,在SolidWorks中生成所需规格的零件三维图。
图5 程序生成油箱侧板
3 结论
基于SolidWorks平台,使用Delphi 7.0对SolidWorks 2007进行二次开发,编写针对润滑油调节站油箱的快速造型软件,减少了大量重复劳动,提高了企业的生产效率,缩短了产品的设计周期,减少了在实际装配过程中零件与零件之间的干涉发生,对企业具有重要意义。