您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 利用UG二次开发技术实现铣刀快速建模方法
利用UG二次开发技术实现铣刀快速建模方法摘要:快速建模可以帮助设计人员节省工作时间。介绍了一种利用UG的二次开发技术在VisualC++上使用Access建立数据库,实现快速建立铣刀模型的方法。引言UG是当今世界上最先进的CAD/CAM/CAE高端软件平台之一,虽然其通用CAD/CAM/CA功能可以解决大部分的实际需求,但是往往对一些更加专业的、更为具体的问题捉襟见肘,以至于其利用率不高,往往停留在操作层面,浪费了很多人力和物力,因此其二次开发技术也越来越受到许多企业的重视。与此同时,数控刀具在建模过程中由于其种类繁多、复杂,也没有统一的快速建模方法。为此,本文介绍了一种数控铣刀的快速建模方法,以帮助工作人员提高建模效率,节省工作时间。1系统总体结构在对系统的功能需求进行充分分析的基础上,建立了如图1所示的体系结构。在图1所示系统中,UG是整个平台的基础,负责调用C++程序,Acces则用来储存铣刀几何参数数据,C++是编辑语言工具,负责编写对话框及建模语言,并生成动态链接文件,是数据库与UG连接的桥梁。其具体实现过程为:建立铣刀几何信息数据库,利用VisualC++的MFCODBC数据库访问技术创建ODBC访问函数读取数据库中的数据,并通过UG的二次开发技术调用VisualC++程序完成对铣刀的快速建模。2数据库的建立2.1数据库建立工具的选择Access是微软公司推出的基于Windows的桌面关系数据库管理系统,具有存储方式单一、面向对象、界面友好、易操作、集成环境、处理多种数据信息、支持ODBC等优点,故笔者选择Access作为数据库开发的工具。2.2建立数据库本文以建立刀具几何信息数据为例,具体说明数据库的建立过程。(1)打开Access2007,新建数据库文件,命名为“刀具几何信息.accdb”。(2)单击左上角视图,选择设计视图进入如图2所示界面,在字段名称中输入“刀具类型”,数据类型选择“文本”,其他几何参数视所选择的刀具类型而定。例如球形铣刀则要在字段名称下输入圆头直径、锥角、刀长,切削刃长度等,数据类型选择数字,保存完毕后选择数据表视图。(3)进入数据表视图后,就可以在刀具类型列表中输入各种铣刀名称以及在刀具几何参数下输入具体的数值了,如图3所示。(4)输入完成后点击保存,球头铣刀的几何参数数据就录入完成了,其他所需数据可按上述方法逐一录入。表1给出了各种铣刀所需录入的几何参数。3UG平台的开发3.1对UG进行二次开发本文通过创建嵌套于UG的用户菜单,调用VisualC++创建的人机交互界面,方便工作人员输入相关数据,并利用VisualC++程序调用数据库文件自动选择刀具几何数据。3.2自定义菜单的创建利用UG/OpenMenuscript开发工具进行自定义菜单的创建。首先在计算机中定义环境变量,在“我的电脑”上单击鼠标右键-选择属性命令-切换到高级选项卡-单击环境变量-注册环境变量,变量名为UGII-USER-DIR,变量值为C:\ug-menu,单击确定保存。然后在相应变量值下创建startup和application两个文件夹,在startup文件夹中编写菜单文件函数并保存为.men格式。自定义的菜单见图4,所编写的函数代码如下:VERSION120EDITUG-GATEWAY-MAIN-MENUBARBEFOREUG-HELPCASCADE-BUTTONmenu-name-1LABEL铣刀快速建模END-OF-BEFOREMENUmenu-name-1BUTTONmenu-name-21LABEL开始END-OF-MENU然后在菜单中定义Actions调用的应用程序,其主要过程为:¹选择菜单;○4进入ufsta程序入口;(四)通过status=UF-MB-add-actions(actionTable)对actionTable中包含的函数进行注册,并调用相应函数。其中actionTable是UF-MB-action-t数据类型,定义格式如下:StaticUF-MB-action-tactionTable[]={{FUN1,FUN1,NULL}{NULL,NULL,NULL}};3.3对话框设计在菜单中启动VisualC++程序定义的对话框,需要注册数据源,其方法是在系统中选择“控制面板”-管理工具-数据源命令,在对话框中选择Access数据库,单击“添加”按钮,然后选择“刀具几何信息”,确定好路径再单击“确定”即可。启动VisualC++程序,创建“choicecutter”工程,在选择“BaseClass”时选择“ClistView”设计对话框。对话框设计的部分源程序如下:#includestdafx.h#include刀具选择.h#includeMainFrm.h#include刀具选择Doc.h#include刀具选择View.h#ifdef-DEBUG#definenewDEBUG-NEW#undefTHIS-FILEstaticcharTHIS-FILE[]=-FILE-;#endif//CMyAppBEGIN-MESSAGE-MAP(CMyApp,CWinApp)//{{AFX-MSG-MAP(CMyApp)ON-COMMAND(ID-APP-ABOUT,OnAppAbout)}}AFX-MSG-MAP//StandardfilebaseddocumentcommandsON-COMMAND(ID-FILE-NEW,CWinApp::OnFileNew)ON-COMMAND(ID-FILE-OPEN,CWinApp::OnFileOpen)//StandardprintsetupcommandON-COMMAND(ID-FILE-PRINT-SETUP,CWinApp::OnFilePrintSetup)END-MESSAGE-MAP()设计好的对话框分别见图5和图6。3.4建立数据库连接首先在StdAfx.h中定义用MFCODBC进行数据库编程所需的头文件#includeafxdb.h。然后在daojuVIEW.h中定义CGearView类成员变量CDatabase和CRecordest,其代码为:CDatabase*m-pdatabase;CRecordest*m-pest。最后在daojuVIEW.h类的OnInitialUpdate()函数中用CDatabase对象的Open函数建立与数据库的连接,其主要代码如下:VoidCDaoView::OnInitialUpdate(){CListVIEW::OnInitialUpdate();try{m-pdatabase=newCDatabase;m-pdatabase-open(-T(dao),FALSE,FALSE,-T(ODBC:DSN=dao),FALSE);m-pest=newCRecordset();m-pest-m-pDatabase=m-pdatabase;}catch(CDBException*e){e-ReportError();deletem-pdatabase;deletem-pest;m-pest=NULL;e-Delete();return;}}4快速建模实例利用上述方案快速建立的铣刀模型如图7所示。5结语快速建模是今后3D建模的趋势,通过实践证明该方法简单有效,有一定的通用性,可以降低工作量,提高工作效率,节省建模时间,提升企业竞争力。
本文标题:利用UG二次开发技术实现铣刀快速建模方法
链接地址:https://www.777doc.com/doc-2608867 .html