UG二次开发实用教程_第1页
UG二次开发实用教程_第2页
UG二次开发实用教程_第3页
UG二次开发实用教程_第4页
UG二次开发实用教程_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 UGSC. 2007. All rights reserved.二次开发应用框架二次开发应用框架日期:2007年 8 月 UGSC. 2007. All rights reserved.2主要内容主要内容 二次开发工程项目的创建应用程序框架工程路径设置API运行模式程序的初始化及终止用户入口 UGSC. 2007. All rights reserved. UGSC. 2007. All rights reserved.4概述概述 二次开发工程的创建常用有3种: UG/Open AppWizard Win32应用程序向导 MFC应用程序向导UG应用开发程序采用了动态链接库(DLL,Dynam

2、ic Link Library)技术,使用上述任何一种应用向导开发程序,最终生成的结果都是DLL文件,UG启动时会自动加载动态链接库文件供用户调用,从而实现了应用开发程序与UG平台的无缝集成。 UGSC. 2007. All rights reserved.5利用利用UG/Open AppWizard向导向导 设置向导设置向导1 我们假设 Visual C+ .NET 2003 安装在 C:ProgramFilesMicrosoft Visual Studio .NET 2003Vc7 :第一步:从UG安装路径的目录下 UGII_BASE_DIRugopenvc7_filesvcproject

3、s 拷贝所有文件到拷贝所有文件到C:Program FilesMicrosoft Visual Studio .NET 2003Vc7vcprojects UGSC. 2007. All rights reserved.6利用利用UG/Open AppWizard向导向导 设置向导设置向导2 第二步:拷贝整个目录 UGII_BASE_DIRUGOPENvc7_filesVCWizardsUnigraphics_NX_Open到到 C:Program FilesMicrosoft Visual Studio .NET 2003Vc7VCWizards UGSC. 2007. All rights

4、 reserved.7利用利用UG/Open AppWizard向导向导 1.4节已经详细介绍了使用UG/Open APPwizard 创建一个简单的First Project程序。该向导是UG软件本身提供的应用向导,随着UG版本和开发环境的升级而升级。该向导操作简便,运行稳定,可以快速构建开发体系,但通常不支持MFC类库,因此常常应用于辅助工具的开发。 UGSC. 2007. All rights reserved.8利用利用UG/Open AppWizard向导向导 UGSC. 2007. All rights reserved.9利用利用UG/Open AppWizard向导向导 UGS

5、C. 2007. All rights reserved.10利用利用UG/Open AppWizard向导向导 UGSC. 2007. All rights reserved.11利用利用Win32应用程序向导应用程序向导 - 新建项目新建项目 UGSC. 2007. All rights reserved.12利用利用Win32应用程序向导应用程序向导 - 设置项目属性设置项目属性(1) UGSC. 2007. All rights reserved.13利用利用Win32应用程序向导应用程序向导 - 设置项目属性设置项目属性(2) UGSC. 2007. All rights reser

6、ved.14利用利用Win32应用程序向导应用程序向导 - 设置项目属性设置项目属性(3) UGSC. 2007. All rights reserved.15利用利用Win32应用程序向导应用程序向导 - 设置项目属性设置项目属性(4) UGSC. 2007. All rights reserved.16利用利用Win32应用程序向导应用程序向导 - 设置项目属性设置项目属性(5) UGSC. 2007. All rights reserved.17利用利用Win32应用程序向导应用程序向导 - 设置项目属性设置项目属性(6) UGSC. 2007. All rights reserved.

7、 UGSC. 2007. All rights reserved.19 UG/Open API 应用程序一般包括菜单、对话框、应用程序(DLL)和UG/Open API库函数四部分,其中菜单和对话框是程序与用户交互的工具,从菜单可以启动应用程序、对话框等,在对话框激活控件时,将调用相应的回调函数,应用程序(回调函数)用基本的C/C+语言和的库函数编码。 UGSC. 2007. All rights reserved.20菜单:菜单文件(.men)和工具条文件(.tbr),放在应用程序目录的startup子目录中。对话框:对话框文件(.dlg),放在程序目录的application子目录中。应用

8、程序(回调函数):应用程序(.dll),放在程序目录的startup子目录中。UG/Open API库函数:默认存放在“$UGII_BASE_DIRugopen”目录中。在创建应用程序时需要配置。 UGSC. 2007. All rights reserved.21UG规定的目录有 startup、application 、udo和dfa。UG对它们存放的文件做了如下的规定: ( 1 ) Startup 目录存放UG启动时需加载的动态链接库文件(*.dll)、菜单脚本文件( *.men)和用户工具栏脚本文件(*.tbr)。 ( 2 ) Application 目录存放具体的功能扩展程序文件,如

9、UIstyler 对话框文件(*.dlg)。 ( 3 )Udo目录用于存放与用户自定义对象相关的动态链接库文件。( 4 ) Dfa目录存放KF程序文件(*.dfa)及对应的对话框文件。工具图标文件(*.bmp ) UGSC. 2007. All rights reserved.工程路径设置 UGSC. 2007. All rights reserved.23工程路径设置工程路径设置 - 配置文件法$UGII_BASE_DIRUGIIugii_env.datUGII_CUSTOM_DIRECTORY_FILE=$UGII_DEFAULT_MENU_DIRcustom_dirs.datUGII_U

10、G_CUSTOM_DIRECTORY_FILE=$UGII_DEFAULT_MENU_DIRug_custom_dirs.dat在默认情况下,custom_dirs.dat和ug_custom_dirs.dat位于路径“$UGII_BASE_DIRugiimenus”。custom_dirs.dat用于存放用户指定的目录,UG最初安装后该文件不包含任何目录,且该文件不会随着UG新版本的发布而更新。Ug_custom_dirs.dat用于存放UG指定的目录,该文件会随着UG新版本的发布而改变并被覆盖,建议不要编辑该文件。 UGSC. 2007. All rights reserved.24工程路

11、径设置工程路径设置 - 配置文件法当UG启动时,系统检查这两个文件中注册的工程路径并自动加载该路径下的所有资源,包括用户菜单、对话框和动态链接库等。 配置文件custom_dirs.dat 的基本语法如下:( 1 ) 文件中允许使用注释,注释符“#” 。( 2 ) 每一行只能写一条工程路径,要确保路径的正确。( 3 ) custom_dirs.dat允许添加多个文件路径,UG在启动时将按照先后顺序依次载入。 UGSC. 2007. All rights reserved.25工程路径设置工程路径设置 - 环境变量法 UG 环境配置文件ugii_env.dat 中存在3个用于注册工程路径的环境变

12、量,如下表所示。去掉环境变量前的注释符“#,在等号后写入具体的工程路径,则在 UG 启动的同时会将这些环境变量所指定的工程路径中的资源按照优先级的顺序加载。环境变量名工程路径优先级UG_VENDOR_DIR存放 UG 指定应用开发产品的工程路径最高UG_SITE_DIR存放其余应用开发产品的工程路径其次UG_USER_DIR存放用户自己应用开发产品的工程路径最低 UGSC. 2007. All rights reserved.API运行模式 UGSC. 2007. All rights reserved.27API运行模式运行模式 内部模式内部模式 内部模式(Internal开发模式)的程序只

13、能在UG的界面环境下运行。在运行内部程序时,它们以 .dll (动态链接库)的方式被调到UG的进程空间中。它必须启动UG才能运行。 执行代码小,连接快;内部程序一旦被加载到内存中,只能通过UG/Open API的卸载功能才能从UG运行功能中卸载它;运行结果在UG的界面图形环境中可见;入口函数是ufusr或ufsta;最大的优点是能处理UG的UI的对象接口,实现和UG界面的无缝集成 内部程序有下列特点: UGSC. 2007. All rights reserved.28API运行模式运行模式 内部模式内部模式 内部模式的应用程序执行方式直接激活方式 该方式不用设置环境变量,程序编译连接后即可执

14、行。在UG环境中选择菜单:File- Execute-NX Open,将出现一个文件打开对话框,选取相应应用程序(.dll)即可。用户菜单调用方式 使用该方式必须设置环境变量UG_USER_DIR,将环境变量UG_USER_DIR指向应用程序主目录,将应用程序(.dll)放置到主目录的$UGII_USER_DIRapplication或$UGII_USER_DIRstartup子目录下。 UGSC. 2007. All rights reserved.29API运行模式运行模式 内部模式内部模式 UIStyler 回调函数方式 由UIStyler创建的对话框回调函数中激活应用程序(.dll)通

15、过用户出口 根据用户出口不同,设置相应的环境变量,激活对应入口函数应用程序.dll。 UGSC. 2007. All rights reserved.30API运行模式运行模式 内部模式内部模式 内部程序的一般格式如下:#include /* Prototypes exist in this file.*/void ufusr( ) /*申明变量*/ UF_initiialize(); /*用户代码*/ UF_terminate(); UGSC. 2007. All rights reserved.31API运行模式运行模式 外部模式外部模式 外部模式下的程序可以在操作系统下运行,不必在UG环

16、境中作为UG 的子程序运行。外部程序是可执行程序,运行时只要有UG License 的支持,就可以由操作系统直接执行,不需要启动UG。 它的优点是不必启动UG,属于后台执行,这样可以节约运行时间,其缺点在于它不能和UG发生联系,因而不能利用UG的显示窗口动态反馈操作结果,同时也不能实现一些用户的交互操作和管理或控制出图,所以它一般用于part 零件文件大量创建,而不适用于用户交互性的几何建模和修改、存取外部程序在操作系统平台的命令行直接执行即可。 UGSC. 2007. All rights reserved.32API运行模式运行模式 外部模式外部模式 外部程序的一般格式如下:#includ

17、e /*头文件*/int main(int argc, char* argv) /*申明变量*/ UF_initiialize(); /*用户代码*/ UF_terminate(); UGSC. 2007. All rights reserved.程序的初始化及终止 UGSC. 2007. All rights reserved.34程序的初始化程序的初始化 所有UG/Open API程序的使用,必须及时进行初始化和终止,以确保获取或释放UG/open API的执行许可权限。在调用UG/Open API的函数前,应先调用 UF_initialize()来获得执行许可权限。一般来说,第一个调用的

18、UG/open API函数就是UF_initialize()。当不再调用API函数的时候,必须调用UF_terminate()来释放执行许可权限。 UF_initialize()函数的调用应该紧跟程序中的变量声明部分,而int UF_terminate()则应在程序最后才被调用,对于外部UF和内部UF都是如此,这说明外部UF的运行虽然脱离UG,但仍离不开API执行许可权限的支持。 UGSC. 2007. All rights reserved.用户入口 UGSC. 2007. All rights reserved.36用户入口用户入口 User Exit是UG/Open API中的一个重要概念。UG在运行过程中某些特定的地点存在着规定的入口,当进程执行到这些入口时,UG会自动检查用户是否在此处已定义了指向内部UF程序位置的环境。若没有定义则以UG默认的方式继续运行下去;若已定义则从该处自动运行用户开发程序,这个过程被称为User Exit。 利用不同的User Exit能让用户程序在UG运行到特定点时被自动执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论