




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型软件UG二次开发,主讲:于红英,1.1 UG/OPEN API 简介及约定,UG/OPEN API 是UG与外部应用程序的接口,它是UG提供的一系列函数和过程的集合。通过C语言编程来调用这些函数或过程,能够实现:,对UG模型文件及相应模型进行操作,包括建立UG模型、查询模型对象、建立并遍历装配体、创建工程图等;,在UG主界面中创建交互式程序界面,创建并管理用户定义对象等,第一章 UG/OPEN API 概述,函数和过程在$UGII_BASE_DIR/ugopen 目录下的头文件中定义。,uf.hUG/OPEN API 的公共类型和函数定义。 uf assem.h与装配有关的类型和函数定义。 uf_attr.h关于PART和对象属性的类型及函数定义。 uf_bound.h关于边界的类型和函数定义。 uf_brep.h关于边界表示的类型和函数定义。 uf_cam.h使用UF_CAM模块的相关类型和函数定义。 uf_disp.h与显示相关的函数及类型定义。 uf_cfi.h文件操作的函数说明。,uf_clear.h间隙分析的相关函数和定义。 uf clone.h装配件与PDM系统之间的接口。 uf_csys.h坐标系的操作函数与类型说明。 uf_curve.h曲线和点的操作函数及相关信息说明。 uf_dbc_mld.h关于铸模的函数说明。 uf_defs.hUF的对象ID链表的定义。 uf_dirpath.h目录及路径操作函数的说明。 uf_dpud .hCAM编程的驱动设置及查询的函数和类型定义。 uf_draw.h制图时的截面线、图等的创建及查询函数和类型的定义。 uf_drf.h制图的符号、标注、尺寸等函数的定义。,uf_drpos .h CAM编程的相关函数及类型说明。 uf_eplib_types.h支持程序库的一些类型定义。 uf_error.h错误处理的函数及数据结构说明。 uf_eval.h曲线及边的分析评估函数及类型说明。 uf_exit.h用户出口的函数说明。 uf_facet.h面片化的相关函数及数据结构说明。 uf_fam.h关于零件族的操作函数及数据结构说明。 uf_fltr.h关于区域和过滤器的函数说明。 uf_gdt.h有关几何尺寸公差的查询函数和数据结构。 uf_gexp.h有关几何表达式的函数及数据结构说明。,uf_group.h与群组有关的操作函数说明。 uf_help.h实现帮助功能的相关函数及数据结构声明。 uf_layer.h与层有关的函数声明。 uf_layout.h与布局有关的函数声明。 uf_lib.h与用于查找对象的库的接口声明。 uf_mb.h查询及设置Menuscript中的对象(如按钮等)的属性等相关函数及数结构声明。 uf_mech.h与运动学分析有关(运动单元和运动副定义)的函数声明。 uf_mold.h与模型创建、查询有关的函数声明和数据类型定义。 uf_mold_features.h与特征建模相关的函数声明和数据类型定义。,uf_mold_general.h普通建模函数及数据结构声明。 uf_mold_smd.h与钣金建模等有关的函数及数据类型声明。 uf_motion.h对传动机构进行干涉分析、测量、轨迹跟踪等函数声明。 uf_mtx.h关于矩阵操作的函数声明。 uf_ncgroup.h访问CAM UF_NCGROUPS对象的相关函数和结构声明。 uf_obj.h有关Unigraphics对象及属性的访问函数定义。 uf_object._types.h有关 Unigraphics对象及属性结构的定义。,uf_part.h与部件文件操作有关的函数及数据类型声明。 uf_path.h有关刀轨的函数声明。 uf_patt.h有关 Unigraphics的模式及着色状态的函数声明。 uf_plist.h对Part List(COM表)的操作函数及结构声明。 uf_plot.h与绘图(出图)有关的函数声明。 uf_ps.h提供直接访问 Parasolid的函数功能。 uf_rlist.h有关Route (管路)List的函数声明。 uf_route.h有关(管路)Route的函数声明。 uf_rule.h提供有关设计规范及违规操作数据记录等功能的函数声明。,uf_sket.h有关草图的函数及结构声明。 uf_smd.hUGOPEN与钣金模块的公共接口声明。 uf_so.hUGOPEN与敏捷对象(smart Object)的公共接口,通过敏捷对象能够得到其父对象的相关关信息。 uf_std.h提供 Unigraphics与有关标准(如CGM)的接口函数声明。 uf_styler.h有关UIStyler的操作函数声明。 uf_trns.h提供对坐标、矩阵、位置及对象的转换功能(移动、选择、镜像、缩放)的函数声明。 uf_udobj.h关于用户定义对象的函数及结构声明。 uf_ugmgr.hUG/Manager的相应函数声明。,uf_udop.h关于用户定义操作的函数及结构声明。 uf_ugfont.h关于Unigraphics的部件文件中字形表的操作函数及结构声明。 uf_ui.h用户界面功能的相应函数及结构声明。 uf_undo.h关于Undo操作的相应函数及结构声明。 uf_vec.h向量操作的函数声明。 uf_view.h视图的操作、查询等函数声明。 uf_ wave.hWAVE功能的相应函数声明。 uf_web.hWeb功能的相应函数声明。 uf_weight.h用于重量重心管理的函数声明。 uf_weld.h关于焊接的相应函数声明。 uf_xs.h与电子表格相关的函数声明。,版本说明,Unigraphics 16版下连接的函数库是: libufn.lib及libinternal.lib。,Unigraphics 17、18及NX版下连接的函数库是: libufun.lib及libugopenint.lib。,2. 初始化及终止,所有的 UGIOPEN API使用,必须及时进行初始化和终止,以确保获取或释放UG/OPEN API的执行许可权限。,利用函数UF_initialize()进行初始化,利用函数UF_terminate()终止执行许可权限。,3. 函数应用的特殊要求,在创建几何模型、遍历模型或执行其他的一些基本操作时,必须首先创建或打开一个Unigraphics的模型文件。,对象标识类tag_t是UG/OPEN API编程时最常用的变量类型,它类似于C语言中的指针。UG/OPEN API中关于 tag_t类的子类很多。对于函数或过程中的tag_t类型,应根据具体要求使用合适的于类。,例如:当要查询一个点对象的坐标时,送入查询函数中的tag_t应是点类型几何对象的tag_t,而不是线或面等其他几何对象的tag_t。,4. 对象创建,UG/OPEN API拥有大量的用于创建和修改UG对象的函数和过程。UG/OPEN API 的大部分函数不提供错误信息,在创建对象时一般返回对象标识(tag_t)。当返回的对象标识=NULL_TAG时,表示创建对象时出现了错误。,5. 变量声明,UGOPEN API支持所有的 C语言数据类型。对象的标识(实体标识)应声明tag_t类型。,6. 错误号,在没有特别说明时,每一个函数或过程都返回一个int类型的错误号。当它不为0时,表示出错,可以调用函数UF_get_fail_message得到相应的错误信息。,1.2 UG/OPEN API 的应用范围,用户化定制CAD环境:提供用户化CAD规范;提供用户化标准件库;定制用户化CAD界面等。,2.开发在UG软件平台上的用户专用软件,3.开发UG软件与其它CAD软件的接口,1.3 程序的运行模式及执行方式,运行模式:,(1)Internal,只能在UG界面环境下运行。具有如下特点:,1)执行代码小,连接快 2)程序一旦被加载到内存中,只能通过UG/OPEN API的卸载功能才能从UG的运行环境中卸它; 3)运行结果在UG界面中可见; 4)入口函数是ufusr或ufsta。,2.程序的执行方式,(1)FileExecuteUser Function (2)通过定制用户菜单 (3)通过用户工具图标,(1)External,只能在操作系统下运行,不在UG环境中作为UG的子进程运行。,第二章 UG/OPEN API 的约定及编程初步,函数名称及参数约定,UG/OPEN API 的数据类型,Unigraphics对象类型及操作,2.1 函数名称及参数约定,函数名称约定,标准名称约定,格式:UF_ area _ name ,原有的名称约定,格式:uc xxxx 和uf xxxx ,2.参数约定,返回数据类型函数名(变量列表),函数原型:,变量有: I、 O或OFInput、 Output或Output Free)等,例如:函数UF_PART_open() 函数名称: UF_PART_open 语法格式: int UF_PART_open(Char *part_name, tag_t *part, UF_PART_load_status_t *error_status),注意: error_status结构中包含错误代码和部件文件名称,使用结束后应使用函数UF_free_string_array()和UF_free()释放内存。,2.2 UG/OPEN API 的数据类型,UG/OPEN API 数据结构命名约定,UG/OPEN API 数据结构的命名约定除了下述后缀的约定下,类似于函数的命名约定:,_t数据类型 _p_t数据类型的指针 _s结构标识 _u_t联合类型 _u_p_t联合类型的指针 _f_t函数指针,typedef struct UF_ASSEM_options_s int load_options; int parts_list; int update; int emphasize; int emphasize_color; int failure_actfon; int maintain_work_part; int load_latest: int load_components; int load_fully int load_substitution; UF_ASSEM_options_t, *UF_ASSEM_options_p_t;,2. tag_t 数据类型,Typedef unsigned int tag_t,tag_p_t,作用:把UG/OPEN API与对象模型联系起来。当UG的模型被加载到UG环境中后,tag_t相当于对象的唯一标识,大部分的UG/OPEN API 函数的 变量列表中都有一个tag_t指针或tag_t类。,2.3 UG对象类型及操作,部件对象,(1)在部件中查询对象 UF_OBJ_cycle_objs_in_part() (2)访问部件的属性: UF_ATTR_ask_part_attrs() (3)关闭和再打开部件 UF_PART_close()和 UF_PART_reopen() (4)获取部件的文件名 UF_PART_ask_part_name(),2. UF对象,UF_OBJ_set_color() UF_OBJ_set_line_width() UF_OBJ_set_layer(),3. 表达式对象,UF_MODL_ask_exp() UF_MODL_eval_exp() UF_MODL_edit_exp() UF_update(),第三章 用户界面接口,对话框界面及相关概念,UG信息窗口,对象选择功能,文件选择对话框,信息输入及提示功能,3.1 对话框界面及相关概念,术语和概念,UG/OPEN Dialogs通过UG/OPEN API提供的函数生成的对话框,如uc1616(),UF_UI_select_single()等,UIStyler Dialogs使用UIStyler工具创建的对话框。,Custom Dialogs开发者使用Motif创建的Xwindow环境上的对话框。,Callback当交互事件发生时,UG自动执行由用户编写的C子过程。,2. 调用对话框界面,(1) 通过MenuScript在UG的主菜单上附加一个下拉菜单来调用对话框 (2) 从一个UIStyler对话框调用对话框 (3) 通过菜单FileExecute UG/OPEN APIUser Function调用对话框,3. 取消对话框,(1) UF_UI_cancel_uf_dialog() (2) UF_UI_dismiss_dialog_area_2(),3.2 UG信息窗口,UF_UI_open_listing_window() UF_UI_is_listing_window_open() UF_UI_write_listing_window() UF_UI_save_listing_window() UF_UI_close_listing_window(),3.3 文件选择对话框,UF_UI_create_part() UF_UI_open_part(),extern int UF_UI_create_part ( const UF_UI_err_p_t error_fn, char * file_name, int * units, tag_t * part, int * response );,extern int UF_UI_open_part ( const UF_UI_err_p_t error_fn, char * file_name, logical * use_disp_file, tag_t * part, int * response, UF_PART_load_status_t * error_status );,3.4 信息输入及提示功能,uc1600()获取用户的字符输入。 uc1607()显示键盘输入界面并获取整数输入。 uc1608()显示键盘输入菜单界面并获取整型或实型输入。 uc1609()显示键盘输入对话框并获取实型数。 uc1601()信息提示。,第四章 UIStyler对话框使用,UIStyler的使用,UIStyler控件介绍,UIStyler常用数据类型和函数,4.1 UIStyler的使用,UIStyler启动,2.UIStyler控件种类,UG/Open UIStyler-Dialog Item Reference,基本对话框,4.2 UIStyler控件介绍,2. 对话框基本属性,3. 对话框选择属性,4. 对话框基本回调函数,4.3 常用数据类型和函数,1. UF_STYLER_item_value_type_s,UF_STYLER_item_value_type_s int reason; const char *item_id; int subitem_index; int count; int item_attr; int indicator; UF_STYLER_value_t value; ;,2. UF_STYLER_ask_value,UF_STYLER_ask_value( int dialog_id, UF_STYLER_value_type_p_t value ),3. UF_STYLER_set_value,UF_STYLER_set_value( int dialog_id, UF_STYLER_value_type_p_t value ),第五章 MenuScript应用,菜单脚本文件及其语法,MenuScript函数,MenuScript应用实例,5.1 菜单脚本文件及其语法,系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 克拉玛依市中烟工业2025秋招烟草配方研究岗位高频笔试题库含答案
- 中国邮政2025黄冈市秋招揽投部储备干部岗位高频笔试题库含答案
- 芜湖市烟草公司2025秋招市场营销类岗位面试模拟题及答案
- 吉林省烟草公司2025秋招会计核算岗位高频笔试题库含答案
- 中国邮政2025荆州市秋招直播电商专员岗位高频笔试题库含答案
- 中国邮政2025铁岭市秋招数据分析岗位高频笔试题库含答案
- 邯郸市烟草公司2025秋招配送管理岗位高频笔试题库含答案
- 2025年宁波镇海区人民医院招聘编外工作人员3人考试参考题库及答案解析
- 中国邮政2025哈尔滨市秋招新媒体推广岗位高频笔试题库含答案
- 中国邮政2025宿州市秋招综合管理职能类岗位高频笔试题库含答案
- 北京京剧院劳动合同制职工招考聘用模拟卷含答案
- 风电工程电气监理细则资料
- 苏教版二下《折彩粽》教学设计
- 铁路工程量清单指南
- 化妆品进货验收台帐
- 工程经济学ppt全套教学课件
- 附件4:医院血透室医疗质量检查表
- 精选艾森克人格问卷测试成人版和少年版计分方式
- 《作用于肾上腺素受体的药物》精品PPT
- WS T 310.2-2016医院消毒供应中心第2部分:清洗消毒及灭菌技术操作规范1
- 粉体合成与制备
评论
0/150
提交评论