UG软件二次开发课程第二课.ppt

上传人:b****1 文档编号:1412298 上传时间:2022-10-22 格式:PPT 页数:62 大小:1.59MB
下载 相关 举报
UG软件二次开发课程第二课.ppt_第1页
第1页 / 共62页
UG软件二次开发课程第二课.ppt_第2页
第2页 / 共62页
UG软件二次开发课程第二课.ppt_第3页
第3页 / 共62页
UG软件二次开发课程第二课.ppt_第4页
第4页 / 共62页
UG软件二次开发课程第二课.ppt_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

UG软件二次开发课程第二课.ppt

《UG软件二次开发课程第二课.ppt》由会员分享,可在线阅读,更多相关《UG软件二次开发课程第二课.ppt(62页珍藏版)》请在冰豆网上搜索。

UG软件二次开发课程第二课.ppt

1,UG软件二次开发概念,任何一款软件都不能完全满足用户的所有需求购买了UG软件之后,为了更好的使用,针对本单位产品的特点进行一些二次开发是必不可少的这对提高产品的设计效率,缩短产品的设计周期并使设计符合国家标准等,具有重大意义。

2,二次开发可以做什么?

可利用UG提供的二次开发接口建立参数化标准件库建立特定产品的加工模板开发方便实用的工具库建立配套的刀具库,3,UG二次开发示例标准件库,4,5,6,7,UG开发工具UG/Open,8,UG/Open介绍,UG/Open是一系列UG开发工具的总称。

它们随UG一起发布,以开放性架构面向不同的软件平台提供灵活的开发支持。

UG/Open的所有文件,包括开发工具、头文件、库均存放在以下目录中:

D:

EDS(UG主目录)UGOpen,9,UG/Open主要包括,GRIP图形交互程序API应用程序接口UIStyler用户界面设计工具MenuScript菜单脚本语言,10,UG的二次开发接口,UG/OpenAPIUG开放应用程序接口,也称UserFunction(用户函数)。

UG/OpenAPI是UG/Open二次开发软件包的一个重要组成部分,11,API的功能,API的核心包含了约2000个C函数,分别用来实现大部分的UG操作使用这些C函数,用户可以建立、编辑、查询并修改UG的各种实体对象,实现用户界面的交互,控制UG行为等,12,UG的实体对象,包括.part文件、点、线、面、实体、特征、坐标系、表达式等,13,UF,后面的课程中UG/OpenAPI均简称为UF。

14,UF程序的源代码并不能被UG直接执行,它和C程序一样必须通过编辑形成动态链接库.dll或可执行文件.exe后才能发挥作用,外部UF和内部UF,15,外部UF和内部UF,程序运行环境不同,外部UFUF程序内部UF,16,外部UF和内部UF,外部UF程序,独立于UG之外的普通C程序,是可执行程序(*.EXE),通过UG的运行库调用API的功能。

运行时只要有UGLicense的支持,就可以由操作系统直接执行,不需要启动UGGateway(主界面)。

17,外部UF,优点,调用灵活,用途广泛不必启动UG,属于后台运行,节约运行时间。

18,外部UF,缺点,不能和UGGateway发生联系,因而不能利用UG的显示窗口动态反馈操作结果,同时也不能实现一些须由用户完成的交互操作。

19,外部UF,外部UF用途,一般多用于Part文件的大量创建、存取和管理或控制出图。

不适用于用户交互性的几何建模和修改。

20,内部UF,内部UF程序,运行UG内部的API程序,通过动态链接成为UG的一部分。

以动态链接库(*.DLL)的形式创建并编译的。

必须启动UGGateway才能被运行。

21,内部UF,UG调用内部UF的方式,启动UG后,从FileExecuteUG/OpenUserFunction或者Ctrl+U(快捷方式)进入,运行内部UF程序(ufusr接口函数),22,内部UF,UG调用内部UF的方式,从用户创建的菜单中(MenuScript)调出用户定制的界面(UIStyler),运行程序(ufsta),23,内部UF,优点,能处理UG的UI(UserInterface)对象接口实现和UG界面的无缝集成并扩充UG的特定功能,24,内部UF,执行时每个步骤都能从UG的显示窗口中得到动态反映能方便地通过UI界面对象来实现与用户的交互、屏幕选取等复杂操作,优点,25,注意!

所有的UF函数都可用于内部UF方式,但不一定能用于外部UF方式,26,在UGDocument中关于UF函数的注释文件里对每个UF函数都有Internal(内部)和External(外部)的指明。

寻求帮助,27,28,UF函数命名规则,标准命名法根据函数所属的模块和实现的功能给函数赋予有意义的名称。

29,标准命名法,externintUF_CURVE_create_point(doublepoint3,tag_t*point);在绝对坐标系中产生一个点。

externintUF_PART_new(char*part_name,intunits,tag_t*part);生成一个新的part文件,并把它作为工作文件。

30,标准命名法,一般函数开头的大写部分表示此函数所在UG/OpenAPI的库函数名称,如UF_CURVE_create_point即必须在头文件中加以声明,如#include#include,31,标准命名法,函数名称使程序设计人员很容易知道函数的含义及所属库函数,优点,32,UF函数命名规则,固定命名法是早期版本所命名的UF函数如uc1601();uf5943();,33,固定命名法,缺点,函数名称使程序设计人员很难明了函数的含义及所属库函数,34,忠告,固定命名法在后面的版本中有部分保留,随着版本升级较容易被放弃。

建议:

使用UG的函数时尽量避免使用此类函数,以保证开发程序的延续性。

35,UF的数据结构标识,UF是完全以C语言来实现的,其中大量运用了C的结构、枚举、指针和预定义常数等。

一般从后缀上已经对它们的类型进行了明确的标识,36,UF的数据结构标识,_t原始数据结构类型_p_t指向该数据结构的指针类型_s结构类型_u_t联合类型_u_p_t指向联合的指针_f_t指向函数的指针,37,最常用的UF数据类型,tag_t它是任何确定存在的UG对象的唯一标识,这里对象是指UG的Part、Object、Feature、Expression等,38,tag_t定义,typedefunsignedinttag_t,*tag_p_t;tag_t其实只是一个整数型,用来作为UG实体的id(唯一标识码)。

39,UF中有一个特殊的Tag-NULL_TAG是用来表示暂时不标识任何对象的Tag,相当于初值为零。

40,最常用的UF数据类型,uf_list_p_t它表示一个UG实体链,是一个结构,由两个成员组成。

eid表示链中的一个实体,*next表示指向链中下一项的指针,41,uf_list_p_t定义,typedefstructuf_list_s*uf_list_p_t;structuf_list_stag_teid;/*ObjectID*/structuf_list_s*next;/*PointertothenextOIDinthelist*/;,42,路标,这些结构体定义可以在UGS/ugopen中的uf_defs.h文件中找到。

43,Object、Body和Feature的区别,在UG中对象包含不同的类型,有Part、Object、Feature和Body等使用UG/OPENAPI中的函数时需要用到这些类型,因此有必要分清它们的概念及范围。

44,Object、Body和Feature的区别,Feature它是将用户对UG实体的所有操作过程都以特定(Feature)的方式记录下来,利用UF函数可以从Feature中得到其body。

45,Feature,一个实体往往可以拥有多个特征,如一个block经过倒角、钻孔后,那么在这个实体上就存在了两个特征,并且按照时间先后顺序排列。

46,Object,Object:

是指基准轴datumaxis、基准面datumplane、草图sketch、直线line、圆circle、二次曲线conic和样条曲线spline等二维元素。

利用UF函数可以从Object中得到一个Feature。

47,Body,Body指UG三维实体利用UF函数可以从Body中得到所有在其上操作过的Feature,48,5个基本实体特征,BLOCKCYLINDERCONE,SPHERETUBE,49,操作对象,在使用UF函数时必须分清它们是针对Body操作、针对Object操作,还是针对Feature操作。

操作对象?

50,操作对象,在UF中提供了Feature、Body和Object相互转换的UF函数,哇!

它们之间可相互转换,51,对象转换,从特征feature中取出bodyUF_MODL_ask_feat_body从object中取出特征feature从body中取出特征链features从特征feature中取出object,52,UF的License,所有的UF程序在运行时都需要UG/OpenAPILicense的支持因此程序必须正确地初始化以获得一个License,终止时也要归还曾占用的License以供下次调用UF函数时使用。

53,UF的License使用,intUF_initialize();/*UF初始化*/intUF_terminate();/*UF终止化*/,License的初始化和终止化的操作使用以下函数:

54,UF的License使用,intUF_initialize();/*UF初始化*/在调用UF函数前调用,intUF_terminate();/*UF终止化*/在整个程序结束前调用,55,UF的License使用,UF初始化和UF终止化函数的调用对于外部UF和内部UF都是如此,这说明外部UF的运行虽然脱离UGGateway,但仍离不开APILicense的支持。

56,寻找UG/OpenAPIReferenceGuide程序/UnigraphicsV18.0/UGDocumentationHelpUG界面中/HELP/Documentation,获取函数及说明,57,58,59,60,61,62,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1