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

下载本文档

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

文档简介

二次开发应用框架,日期:2007年8月,2,主要内容,二次开发工程项目的创建,应用程序框架,工程路径设置,API运行模式,程序的初始化及终止,用户入口,工程项目的创建,4,概述,二次开发工程的创建常用有3种:UG/OpenAppWizardWin32应用程序向导MFC应用程序向导,UG应用开发程序采用了动态链接库(DLL,DynamicLinkLibrary)技术,使用上述任何一种应用向导开发程序,最终生成的结果都是DLL文件,UG启动时会自动加载动态链接库文件供用户调用,从而实现了应用开发程序与UG平台的无缝集成。,5,利用UG/OpenAppWizard向导设置向导1,我们假设VisualC+.NET2003安装在C:ProgramFilesMicrosoftVisualStudio.NET2003Vc7:,第一步:从UG安装路径的目录下UGII_BASE_DIRugopenvc7_filesvcprojects拷贝所有文件到C:ProgramFilesMicrosoftVisualStudio.NET2003Vc7vcprojects,6,利用UG/OpenAppWizard向导设置向导2,第二步:拷贝整个目录UGII_BASE_DIRUGOPENvc7_filesVCWizardsUnigraphics_NX_Open到C:ProgramFilesMicrosoftVisualStudio.NET2003Vc7VCWizards,7,利用UG/OpenAppWizard向导,1.4节已经详细介绍了使用UG/OpenAPPwizard创建一个简单的FirstProject程序。该向导是UG软件本身提供的应用向导,随着UG版本和开发环境的升级而升级。该向导操作简便,运行稳定,可以快速构建开发体系,但通常不支持MFC类库,因此常常应用于辅助工具的开发。,8,利用UG/OpenAppWizard向导,9,利用UG/OpenAppWizard向导,10,利用UG/OpenAppWizard向导,11,利用Win32应用程序向导-新建项目,12,利用Win32应用程序向导-设置项目属性(1),13,利用Win32应用程序向导-设置项目属性(2),14,利用Win32应用程序向导-设置项目属性(3),15,利用Win32应用程序向导-设置项目属性(4),16,利用Win32应用程序向导-设置项目属性(5),17,利用Win32应用程序向导-设置项目属性(6),应用程序框架,19,应用程序框架,UG/OpenAPI应用程序一般包括菜单、对话框、应用程序(DLL)和UG/OpenAPI库函数四部分,其中菜单和对话框是程序与用户交互的工具,从菜单可以启动应用程序、对话框等,在对话框激活控件时,将调用相应的回调函数,应用程序(回调函数)用基本的C/C+语言和的库函数编码。,20,应用程序框架,菜单:菜单文件(.men)和工具条文件(.tbr),放在应用程序目录的startup子目录中。对话框:对话框文件(.dlg),放在程序目录的application子目录中。应用程序(回调函数):应用程序(.dll),放在程序目录的startup子目录中。UG/OpenAPI库函数:默认存放在“$UGII_BASE_DIRugopen”目录中。在创建应用程序时需要配置。,21,应用程序框架,UG规定的目录有startup、application、udo和dfa。UG对它们存放的文件做了如下的规定:(1)Startup目录存放UG启动时需加载的动态链接库文件(*.dll)、菜单脚本文件(*.men)和用户工具栏脚本文件(*.tbr)。(2)Application目录存放具体的功能扩展程序文件,如UIstyler对话框文件(*.dlg)。(3)Udo目录用于存放与用户自定义对象相关的动态链接库文件。(4)Dfa目录存放KF程序文件(*.dfa)及对应的对话框文件。,工具图标文件(*.bmp),工程路径设置,23,工程路径设置-配置文件法,$UGII_BASE_DIRUGIIugii_env.datUGII_CUSTOM_DIRECTORY_FILE=$UGII_DEFAULT_MENU_DIRcustom_dirs.datUGII_UG_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新版本的发布而改变并被覆盖,建议不要编辑该文件。,24,工程路径设置-配置文件法,当UG启动时,系统检查这两个文件中注册的工程路径并自动加载该路径下的所有资源,包括用户菜单、对话框和动态链接库等。,配置文件custom_dirs.dat的基本语法如下:(1)文件中允许使用注释,注释符“#”。(2)每一行只能写一条工程路径,要确保路径的正确。(3)custom_dirs.dat允许添加多个文件路径,UG在启动时将按照先后顺序依次载入。,25,工程路径设置-环境变量法,UG环境配置文件ugii_env.dat中存在3个用于注册工程路径的环境变量,如下表所示。去掉环境变量前的注释符“#,在等号后写入具体的工程路径,则在UG启动的同时会将这些环境变量所指定的工程路径中的资源按照优先级的顺序加载。,API运行模式,27,API运行模式内部模式,内部模式(Internal开发模式)的程序只能在UG的界面环境下运行。在运行内部程序时,它们以.dll(动态链接库)的方式被调到UG的进程空间中。它必须启动UG才能运行。,执行代码小,连接快;内部程序一旦被加载到内存中,只能通过UG/OpenAPI的卸载功能才能从UG运行功能中卸载它;运行结果在UG的界面图形环境中可见;入口函数是ufusr或ufsta;最大的优点是能处理UG的UI的对象接口,实现和UG界面的无缝集成,内部程序有下列特点:,28,API运行模式内部模式,内部模式的应用程序执行方式,直接激活方式该方式不用设置环境变量,程序编译连接后即可执行。在UG环境中选择菜单:File-Execute-NXOpen,将出现一个文件打开对话框,选取相应应用程序(.dll)即可。用户菜单调用方式使用该方式必须设置环境变量UG_USER_DIR,将环境变量UG_USER_DIR指向应用程序主目录,将应用程序(.dll)放置到主目录的$UGII_USER_DIRapplication或$UGII_USER_DIRstartup子目录下。,29,API运行模式内部模式,UIStyler回调函数方式由UIStyler创建的对话框回调函数中激活应用程序(.dll)通过用户出口根据用户出口不同,设置相应的环境变量,激活对应入口函数应用程序.dll。,30,API运行模式内部模式,内部程序的一般格式如下:#include/*Prototypesexistinthisfile.*/voidufusr()/*申明变量*/UF_initiialize();/*用户代码*/UF_terminate();,31,API运行模式外部模式,外部模式下的程序可以在操作系统下运行,不必在UG环境中作为UG的子程序运行。外部程序是可执行程序,运行时只要有UGLicense的支持,就可以由操作系统直接执行,不需要启动UG。,它的优点是不必启动UG,属于后台执行,这样可以节约运行时间,其缺点在于它不能和UG发生联系,因而不能利用UG的显示窗口动态反馈操作结果,同时也不能实现一些用户的交互操作和管理或控制出图,所以它一般用于part零件文件大量创建,而不适用于用户交互性的几何建模和修改、存取外部程序在操作系统平台的命令行直接执行即可。,32,API运行模式外部模式,外部程序的一般格式如下:#include/*头文件*/intmain(intargc,char*argv)/*申明变量*/UF_initiialize();/*用户代码*/UF_terminate();,程序的初始化及终止,34,程序的初始化,所有UG/OpenAPI程序的使用,必须及时进行初始化和终止,以确保获取或释放UG/openAPI的执行许可权限。在调用UG/OpenAPI的函数前,应先调用UF_initialize()来获得执行许可权限。一般来说,第一个调用的UG/openAPI函数就是UF_initialize()。当不再调用API函数的时候,必须调用UF_terminate()来释放执行许可权限。,UF_initialize()函数的调用应该紧跟程序中的变量声明部分,而intUF_terminate()则应在程序最后才被调用,对于外部UF和内部UF都是如此,这说明外部UF的运行虽然脱离UG,但仍离不开API执行许可权限的支持。,用户入口,36,用户入口,UserExit是UG/OpenAPI中的一个重要概念。UG在运行过程中某些特定的地点存在着规定的入口,当进程执行到这些入口时,UG会自动检查用户是否在此处已定义了指向内部UF程序位置的环境。若没有定义则以UG默认的方式继续运行下去;若已定义则从该处自动运行用户开发程序,这个过程被称为UserExit。,利用不同的UserExit能让用户程序在UG运行到特定点时被自动执行。不同的入口具有不同的UserE

温馨提示

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

评论

0/150

提交评论