好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于Pro, Toolkit和数据库技术的参数化CAD系统开发.doc

6页
  • 卖家[上传人]:ss****gk
  • 文档编号:233988732
  • 上传时间:2022-01-03
  • 文档格式:DOC
  • 文档大小:139KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于Pro, Toolkit和数据库技术的参数化CAD系统开发摘要本文介绍了基于Pro/Toolkit和ADO数据库技术的参数化CAD系统的开发方法及实例,该方 法利用Pro/ENGINEER软件自带的Pro/Toolkit二次开发丁具,通过VC++6. 0高级语言建立 dll动态链接库,创建用八界而,并采用ADO数据库实现对零件参数的管理从而快速实现零件 的修改及更新设计.该方法不仅适用于机械行业典型零件的参数化设计,并对标准零件库的 建立有借鉴意义.1. 引言随着CAD技术的发展,三维CAD软件也得到了广泛应川,PTC公司的Pro/ENGINEER(以下简称 Pro/E)以其参数化驱动、单一全关联的数据库、功能齐全的模块等强人优势而占据着重要地 位.对于结构简单的零件,应用Pro/E的三维造型模块中的命令即可实现,但对于结构复杂, 参数繁多的典型冬件如齿轮、带轮,模架等,每个零件的设计都需要人量的参数,关系式等, 这样将造成烦琐的重复劳动,降低设计效率,本系统即是利用Pro/Toolki t软件包和VC++6. 0 高级语言对Pro/E实施二次开发,开发了基于数据库管理的参数化CAD系统.2. 系统总体结构本系统参数化设计的思想是:首先在Pro/E环境中创建典型零件三维实体模型库,并建立零 件的基本参数,然后利用VC++6.0创建的用户界面输入零件的参数;应用Pro/Toolki 次开发创建集成于Pro/E的用户菜单,编写VC++6. 0与Pro/E的接口,利用数据库读取实体模 型的参数,从而实现零件的快速设计及更新•系统的总体结构如图1,主要由以卜儿个主要模 块组成.⑴零件的参数化设计模块该模块应用PRO/E主要是用于建立零件的三维模型及模型中的参数或关系式.(2) Pro/Toolkit 接口模块Pro/Toolkit提供了一个很大的C函数库,利用其库隊I数编写的外部应用程序可方便乂安全 地访问Pto/E的数据库及其应用程序,进行二次开发,扩展其功能.因此,也可以把Pto/T看成 是PTC用户应用程序的界面(API).(3) 用户界面设计模块该模块主要应用VC++6. 0建立用八界血,实现零件参数的输入及对数据库数据的管理操作.(4) 数据库管理模块 该模块应用ADO技术创建数据库,实现零件参数的有效管理.下而重点介绍本系统中的关键技术:Pro/Toolkit接口技术、参数化设计方法、数据库管理 技术.3. Pro/Toolkit 接口技术 3. 1 Pro/Toolkit应用程序模式Pro/T应用程序主要有两种模式:同步模式和异步模式.由于在本论文中应用的主要是同步模式,所以下面介绍的主要是和同步模式相关的技术. 同步模式乂可分为两种:动态连接库模式和多过程模式.(1) 动态连接库模式Pro/T应用程序代码集成到Pro/E中所用的标准方法是通过应用动态连接库,用户应用程序 经过VC++6. 0编译片生成动态连接库文件(*. dll)供PR0/E调用.这种模式称为〃动态连接库 模式〃.(2) 多过程模式Pro/T也支持集成的第二种方法:多过程模式,也称分离模式.在多过程模式下,Pro/T应用程 序代码被编译和链接生成一•个独立的可执行文件(*• exe文件).与DLL模式相比,多过程模式需要更多的通信开销.因此,本系统应用动态连接库模式(DLL Mode).3.2 Pro/Toolkit应用程序结构(1) Pro/T应用程序的主程序Pro/T应用程序的主程序与一般C语言的程序有所区别,它无须包括main函数,而必须包含 两个称为user initializeO和user terminate ()的函数,分别在Pto/T开始和Pro/E会话 结束时被调用.本系统中用户应用程序的主程序的主要代码为:extern "C" int user initializeO{ProError status;ProFi1eName message file;uiCmdCmdld cmd id;// ProCmdActionAdd为添加菜单按钮动作两数status 二 ProCmdActionAdd("ShowTest",(uiCmdCmdActFn)ShowGeerDlg,uiCmdPrioDefault, AccessDefault,PRO B TRUE, PRO B TRUE, &cmd id);// ProMenubarmenuPushbuttonAdd为添加菜单按钮,提供用户程序的接口.status 二 ProMenubannenuPushbuttonAdd( "Utilities", "ShowGeetDlg", "ShowGcetDlg", "Show the dialog to select geer elcmcnt", NULL, PRO B TRUE,cmd id, ProStringToWstring(message file, "Message2.txt"));return status;}而user terminate ()函数可由用户定义,如:extern "C" void user terminate(){//用户添加的终止代码(2) 用户添加的函数体这是用户H已根据需要添加的函数代码,用户H己的应用程序通过这些函数体实现.3.3 Pro/Toolkit应用程序编译、连接和注册⑴ 应用程序的编译和连接本系统所用的是Windows平台,采用VC++6. 06. 0卄做调试器.应用VC++6. 0建立并编译Pro/T应用程序项目,主要步骤如下:1) 编写C语言源程序,打开此程序,运行选择VC++6. 0主菜单命令Build/Bu订d生成一个默认 的工程项日.2) 选择VC++6. 0主菜单命令Tools/Options,系统弹出Options对话林£,打开Directories选 项卡,在 Show directories for 下拉列表框中分别选择 Includes files Library files, 并分别添加相应的包含文件和库文件路径.择VC++6. 0主菜单命令Project/Settings,系统弹出Project Settings对话框.打开Link 选项卡,在Category 一栏选General,在Output file name编辑框中填写输出文件名称,在 Object/library modules文本框中加入对应的库文件.将Category切换至Customize,选中 Force files out设置强制输出.⑵应用程序的注册和运行编译连接成功生成可执行程序厉,需要先进行PRO/T应用程序的注册.应用程序的注册有自动和手动注册方式,与自动注册方式相比,手动注册方式可以在不关闭 Pro/E系统的前提下反复修改应用程序,可提高系统运行效率.本系统应用的是手动注册方 式.本系统的注册文件protk. dat的内容如下:NAME Accessory (应用程序名)EXEC FILE・\Release\Accessory.dll (应川程序编译厉生成的动态链接库文件)TEXT D1R .\text (存储文本文件如菜单文件,信息文件等的位置)STARTUP dll (应用程序启动方式)ALLOW STOP TRUE (应用程序终止方式)REVISION 2008 (Pro/E 版本)END (结束)注册时,将Pro/E的起始位置设置为包含用户应用程序和零件模型的文件夹,启动Pro/E后, 选择Pro/E界面上的〃工具〃厂辅助应用程序〃选项,选择〃注册〃按钮,选择注册文件 protk. dat,完成注册.注册成功后选择〃运行〃按钮运行应用程序.3. 4 Pro/Engineer与MFC的接口开发技术由于Pro/Toolkit没有提供数据库编程接口.为此,本系统开发了 Pro/T与MFC的接口,可利 用MFC强大的功能实现对话框的开发与数据库的访问.这里釆用动态链接库(DLL)方式可以实现三者之间的通信,接口方案如图2所示.接口实现的主要原理为:1) 使用CwinApp类來生成第一•个DI丄丁•程,名为PTC. DLL,工程选用共亨MFC常规DLL(Regular dll using Shared MFC DLL)选项,然后在此工程中加入Pro/T程序,主要是 user initialize ()函数代码.2) 使用同样的方法与选项生成第二个DLL 丁程,名为MFC. DLL,并在此工程中用类向导 (ClassWizard)和资源编辑器(Resource Edit)生成所需的MFC类(如对话框类,数据库类等),并定义 一个函数完成该类的初始化.图2 Pro/T二次开发应用程序调用方式3) PTC. DLL中的Pro/T程序中调用MFC. DLL的导出函数,这是接口实现的关键.加入Pro/T 程序所用 到的库,如 protk. dll, protoolkit, dll, mpr. lib, •••'debug、mfc. lib 等并指出其 路径且设为强制输出,使用MFC的编译选项,对两个工程进行编译,生成新的PTC. DLL和 MFC. DLL.4) 在Pro/E中,用DLL方式加载Pro/T程序PTC. DLL,再通过Pro/T程序调用MFC应用程序MFC. DLL.4. 参数化设计方法很多机械零件包括一•些标准零件,每一类里面都有很多种结构相同而尺寸规格不同的零件, 如果一套套的绘制,重复工作量很人.采用参数化设计时,先使川每类中的一•套标准尺寸惣 立一个模型,并在其中设置必要的参数,最后通过用八程序选择零件并调用零件的参数化 设计界面,利用该界面快速生成其它规格的同类零件.参数化设计的关键程序代码如下:载入零件在实现零件的参数化设计之前,需要先通过PRO/E将零件调入内存并打开该零件模型窗口. 主要的程序代码为:ProMdl part: //创建模型句柄Pi'oMdlLoad(Lz,. \\gear\\gear. prt/z, PRO MDL PART, PRO B FALSE, &part.); //装入模型零件 到内存ProName name; //定义 Pro/Toolkit 支持的变量名ProStri ngToWstri ng (name, "GEAR") ; //将当前模型零件名 GEAR 转换为 Pro/Engi neer 支持 的格式int winid;ProObjectwindowCreate(name, PRO PART, &winid); 〃为内存中的零件创建窗口ProMdlDisplay(part) ; //将装入内存中的模型文件设为当前编辑ProWindowActivate(winid); 〃激活创建的窗口 ⑵创建零件的参数本CAD系统先运用Pro/Toolkit函数先建立和与模型再生相关的参数,这些参数可以控制所要生成的零件或组件•再利用VC++6. 0的良 好用户界而和数据库接口实现对零件参数的控制和管理,从而实现零件的更新.应用Pro/Toolkit T具创建零件参数的主要代码为:ProMdl Model; 〃定义Pro/Toolkit支持的模型名ProWindowMdlGct (i, Model) ; //获得指定窗口的模型句柄ProMode litem model item; //定义一个模型项,用來描述模型中包含的所有项日ProMdlToModel i tem (Model, & model item) ; //把模型项与模型句柄关联,使之对应我们要操 作的。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.