APP下载

基于数据库技术的麻花钻参数化设计

2014-04-27荆浩旗白海清代雪峰

关键词:麻花钻刀面数据源

荆浩旗, 白海清, 杨 柳, 代雪峰

(陕西理工学院机械工程学院,陕西 汉中 723003)

在现代机械加工中,孔加工是最重要的加工工种之一。麻花钻诞生至今已有百余年的历史,但它仍然是应用最广泛的孔加工刀具,尤其在以汽车与航空等孔加工占重要比重的制造业中,麻花钻占相当重要的地位。由于麻花钻结构比较复杂,加上不同的加工工艺对麻花钻的要求不同,其设计也是一个复杂繁琐的过程。所以,实现麻花钻的参数化设计,开发独立的麻花钻设计系统非常必要。

1 系统总体方案设计

Unigraphics(简称UG)是当前最先进和紧密集成、面向制造业CAID/CAD/CAE/CAM的高端软件[1]平台之一,UG系统提供了强大的二次开发工具集UG/Open与特征扩展功能。参数化设计是在模型构建过程中用参数变量来控制模型的几何尺寸和约束关系,以达到驱动几何图形的目的。本文采用编程方法[1]实现参数化设计,即在现有UG系统基础上,通过二次开发接口、高级开发语言和数据库等相关技术,来实现产品的参数化设计,是一种高级的参数化设计方法。

本文采用UG/Open API和GRIP进行参数化设计,充分利用了各开发语言的特点,用UG/Open UIStyler和MenuScript制作与UG系统无缝集成的用户界面,采用UG/Open API控制用户界面,采用GRIP简单、方便的编程,并接收通过用户界面传来的数据实现参数化建模。系统还采用API与MFC实现数据库技术的开发,建立麻花钻参数化数据库,完成麻花钻设计系统的开发,成功应用于相关产品的设计开发。

2 基于GRIP和API的麻花钻参数化设计

2.1 基于GRIP模型的建立

GRIP是UG/Open中的一个重要模块,它是UG的内嵌语言,是一种图形交互式、解释性的编程语言[2],能够实现UG的绝大多数交互操作,如几何体模型建立、装配创建和工程图绘制等功能。本文采用GRIP语言编程来实现麻花钻模型的建立。

麻花钻制造过程主要包括磨削螺旋槽和刃磨后刀面。根据制造过程中主要参数,结合UG软件,对相关参数进行转化。根据近些年人们对麻花钻建模过程的研究[3-5],采用GRIP语言进行编程,主要分为以下几个步骤。

2.1.1 螺旋槽的绘制

麻花钻螺旋槽的设计关系到加工过程中的排屑、散热、冷却等直接影响加工质量的问题。螺旋槽的绘制首先是绘制麻花钻螺旋槽横向截形,包括钻刃曲线[6]、刃带部分曲线等绘制;再绘制螺旋线、刀具轴线等;最后以螺旋槽横向截形为扫掠曲线,分别以刀具轴线与螺旋线为导引线,自动扫掠生成刀具螺旋槽。建模参数包括钻头半径、半锥角、螺旋角、钻芯半径。

用GRIP语言编写程序,调用相关GRIP内部函数完成以上操作过程,实现螺旋槽实体的绘制,如图1所示,部分代码如下:

2.1.2 后刀面的绘制

在钻削加工过程中,后刀面磨损较为严重,也是麻花钻设计的重点。本文麻花钻后刀面的刃磨采用常用的锥面刃磨法。考虑到后刀面的翘尾现象[6],让钻头附加一个绕圆锥母线逆时针的旋转角度[7]。在建模过程中,对刃磨参数进行转化,最终后刀面的刃磨参数主要包括锥顶距,锥顶半角和附加旋转角度。

用GRIP语言编写程序,实现圆锥面轴线与母线的绘制,再调用相关函数实现母线绕轴线旋转生成圆锥面的操作,旋转复制得到对侧圆锥面,再调用实心体分割函数,以圆锥面为边界分别切割螺旋槽实体,得到圆锥后刀面,如图2所示。

图1 螺旋槽实体的绘制

图2 圆锥后刀面的绘制

根据文献[8]的相关优化参数,在GRIP程序中设置初值,并调用函数实现接收从用户界面传递过来的参数,主要代码如下:

2.2 系统菜单栏与对话框的设计

采用二次开发工具UG/Open UIStyler和MenuScript设计与UG系统风格一致的菜单栏与对话框,可以方便的调用相关模块,与UG系统无缝集成。

2.2.1 开发路径的设置

首先自定义目录,如D:UGOPEN,在目录下创建startup、application、grip、database四个文件夹,用于存放相关的系统开发文件,供系统查找调用。在计算机属性中设置【环境变量】,新建“UGII_USER_DIR=D:UGOPEN”,完成开发环境的设置。

2.2.2 菜单栏与工具栏的设计

编写菜单文件,在UG界面菜单添加新的菜单栏“麻花钻参数化设计”,菜单下含两个下拉子菜单“锥柄麻花钻”和“直柄麻花钻”。在菜单的基础上,制作工具栏,可以点击工具栏来快速、直接响应,实现和菜单栏一样的效果,如图3所示。

图3 系统菜单栏与工具栏

2.2.3 系统对话框的设计

UIStyler是用户开发对话框的可视化工具,创建与UG风格一样的对话框。进入UIStyler模块,选择对话框所需的控件,设置对话框的属性及回调函数,根据麻花钻的主要设计参数以及麻花钻参数库的设计要求,创建如图4所示的系统对话框。

以直柄麻花钻设计为例,保存创建的直柄麻花钻对话框,如图4(a)所示,命名为“drill_spur”,系统将生成编程代码头文件、模板文件和对话框文件,将对话框文件复制到application目录下,由用户应用程序调用。

2.3 API调用GRIP程序的实现

在VC++环境下,用API语言编程调用GRIP程序,把通过人机交互界面输入的参数传递到GRIP程序中,实现麻花钻的参数化设计。复制工程向导文件到VC++目录下,建立UG与VC++的连接,启动VC++,在项目类别中选择“Unigraphics NX App Wizard V1”作为应用程序向导,创建工程“drill_spur”。将 UIStyler模块生成的编程源代码文件“drill_spur.h”和“drill_spur.cpp”加载到工程中。程序的编写主要是修改两个编程源代码文件,该程序主要包括:入口函数程序,调取GRIP程序,传递对话框中数值程序等。

部分源代码如下:

图4 系统对话框

3 系统数据库的建立

3.1 建立数据库

数据库是应用程序存储数据的仓库[1],本系统采用C/S结构的开发模式,即客户层和数据层的结构模式。客户层主要完成麻花钻信息的查询、添加入库、删除以及麻花钻参数化建模;数据层主要用来存储麻花钻的数据信息,为客户层提供数据支持。本系统采用Access管理系统构建数据库,设定“钻头半径”为主键。

3.2 注册数据库

选择数据库的管理系统建立数据库后,需要在用户计算机上注册数据源。选择【控制面板】→【管理工具】→【数据源ODBC】,进入数据源注册界面,用ODBC数据源管理器注册添加“drill_spur.mdb”数据源。

3.3 联合UG/Open API和MFC实现后台数据库的访问

在UG二次开发的系统中,为实现对外部数据源的访问,需要利用MFC中封装的ODBC功能的类[1],通过类与ODBC的接口,解决了API应用程序不能直接支持MFC的问题,使用户避免处理繁杂的ODBC API步骤,就可以进行数据库的操作。

在VC++环境下,创建应用程序框架,建立 MFC AppWizard(dll)工程,命名为“drill_spur_data”。在应用程序中的全局对象类theAPP的下面添加 UG/Open API函数入口,添加相关的程序代码[9]。连接数据库,生成对话框类的实例,如图5所示。建立与数据库的连接,通过类的方法实现对数据库的后台访问。一个好的数据库应允许用户添加入库和删除数据,对话框中各个控件的属性值[10]要与Access建立的数据库的字段名称及顺序一致,且主键不能有重复,添加(insert)和删除(delete)都是通过SQL语句来编辑的。

对MFC工程进行编译链接,实现对数据库的访问,将生成的drill_spur_data.lib复制到工程文件夹下,将生成的drill_spur_data.dll文件复制到上述startup目录中。

图5 MFC类对话框

4 系统的实现

在VC++环境下对工程drill_spur的对话框源文件进行修改,主要是对相关回调函数进行代码修改添加,以及对相关头文件的添加,实现调用GRIP程序和对数据库文件访问的响应。

将UG 库文件“libugopenint.lib”、“libufun.lib”和“drill_spur_data.lib”添加到所建立工程的【Project】→【Setting】的【Link】选项中,在【Tools】→【Options】的【Directaries】选项中添加 API库函数所在的路径。对工程进行编译链接,生成对应的drill_spur.dll,将它复制到startup目录下供系统调用。

启动UG,点击相应的菜单栏或工具栏,弹出对话框,输入相关的参数,也可以通过麻花钻参数库选择优化的参数,即单击【直柄麻花钻参数库】,弹出由MFC设计的对话框,进行数据的选择、添加入库或删除等操作,单击确定或应用,自动生成所需的直柄麻花钻实体模型,如图6(a)所示。

以上是标准直柄麻花钻的设计过程,锥柄麻花钻的设计过程与其类似,主要是柄部参数有所不同,在此不再详细叙述,自动生成的新的标准锥柄麻花钻如图6(b)所示。

图6 自动生成麻花钻实体模型

5 结语

系统采用UG二次开发工具集UG/Open,结合API和GRIP开发语言,实现了麻花钻的参数化设计计算;采用API与MFC建立了麻花钻参数化数据库,解决API应用程序不能直接支持MFC的问题,实现对外部数据源的访问;采用编程技术实现麻花钻的快速造型,提高了麻花钻的设计效率与准确性,并为麻花钻设计改进、数控加工、切削仿真及性能分析等工作奠定了基础。

[1]黄勇,张博林,薛运锋.UG二次开发与数据库应用基础与典型范例[M].北京:电子工业出版社,2008:154-188.

[2]陈周.基于UG的油缸参数化设计[D].江苏:江南大学,2009:10-11.

[3]阙银昌,李珊,王磊,等.基于UG的麻花钻三维建模研究[J].机械设计与制造,2007(6):176-178.

[4]苟向锋,张红梅,张亚东.基于UG的麻花钻三维实体参数化设计[J].兰州理工大学学报,2012,38(2):37-41.

[5]荆浩旗,白海清,王春月,等.基于UG/Open GRIP的麻花钻参数化设计[J].陕西理工学院学报:自然科学版,2014,30(2):10-14.

[6]刘世瑶,耿芬然.深孔麻花钻的端截形及螺旋面的加工[J].河北冶金,2002(4):27-31.

[7]王忠魁.麻花钻新型锥面刃磨法[J].陕西工学院学报:自然科学版,1999,15(1):1-6.

[8]戴俊平.麻花钻内锥面刃磨试验[J].陕西工学院学报:自然科学版,2003,19(1):5-7.

[9]范孝良,王川.基于MFC与UG/Open数据库系统的研究应用[J].机械工程师,2010(8):45-46.

[10]程杰,夏链,韩江.基于UG/Open的斜齿轮数据库的设计[J].组合机床与自动化加工技术,2013(2):1-3.

猜你喜欢

麻花钻刀面数据源
麻花钻虚拟仿真实验教学系统设计
钻尖直线刃后刀面的砂轮磨削轨迹算法研究
杀 鱼
Web 大数据系统数据源选择*
巧切面包不掉渣
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
加工非标准小精孔对麻花钻切削部分的改制
标准麻花钻刃磨对孔加工精度的影响浅析
分布式异构数据源标准化查询设计与实现