UG二次开发培训教程
大型软件UG二次开发
§2.3 UG对象类型及操作
1. 部件对象
(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()
uf_fltr.h——关于区域和过滤器的函数说明。 uf_gdt.h——有关几何尺寸/公差的查询函数和数 据结构。
uf_gexp.h——有关几group.h——与群组有关的操作函数说明。 uf_help.h——实现帮助功能的相关函数及数据结构 声明。
uf_layer.h——与层有关的函数声明。 uf_layout.h——与布局有关的函数声明。 uf_lib.h——与用于查找对象的库的接口声明。 uf_mb.h——查询及设置Menuscript中的对象(如按 钮等)的属性等相关函数及数结构声明。
5. 变量声明
UG/OPEN API支持所有的 C语言数据类型。 对象的标识(实体标识)应声明tag_t类型。
6. 错误号
在没有特别说明时,每一个函数或过程都返 回一个int类型的错误号。当它不为0时,表 示出错,可以调用函数UF_get_fail_message 得到相应的错误信息。
§1.2 UG/OPEN API 的应用范围
1. 版本说明
Unigraphics 16版下连接的函数库是: libufn.lib及libinternal.lib。
Unigraphics 17、18及NX版下连接的函数库是: libufun.lib及libugopenint.lib。
2. 初始化及终止
(完整)1_UG二次开发实用教程 第一章
第1章二次开发应用初步UG/NX是当今世界上最先进和高度集成的、面向制造行业的CAD/CAE/CAM软件系统,可用于产品的整个开发过程,包括产品概念设计、建模、分析和加工。
UG/NX以其强大的设计和加工功能而著称,可以支持目前市场上销售的不同厂家的所有工作站及微机平台,广泛应用于通用机械、模具、汽车及航空航天领域,被很多世界著名公司选定为企业计算机辅助设计、分析、制造的标准。
从20世纪60年代起UG就一直代表着工程制造业CAD/CAM软件产品的最高水平。
20世纪90年代,UG进入中国市场,受到广大CAD/CAM用户的欢迎。
UG在中国的用户已超过1000多家,装机量达到350 多套。
这是因为UG是一个集成化、全面、一体的软件,它包括设计、加工、分析和最流行的产品数据管理(PDM),给企业提供了一个全面的解决方案。
1.1 CAD软件的二次开发随着CAD应用领域的不断扩大和应用水平的不断提高,用户需求与CAD系统规模之间的矛盾日益增加,没有一个CAD系统能够完全满足用户的各种需求。
作为商品化的CAD软件产品,是否拥有一个开放的体系结构,是衡量该软件的优劣性、适用性和生命力的重要标志,而是否拥有一个开发简便、运行高效的二次开发平台又是开放式体系结构的核心和关键。
目前,主流的CAD软件都具有用户定制功能并提供二次开发工具。
通过CAD软件的二次开发工具可以把商品化、通用化的CAD系统用户化、本地化、即以CAD系统为基础平台,在软件开发商所提供的开发环境与编程接口基础之上,根据自身的技术需要研制开发符合相关标准和适合企业实际应用的用户化、专业化、知识化、集成化软件,以进一步提高产品研发的效率。
在通用CAD基础上融入专业知识构建专用CAD系统是当前深化CAD应用的潮流。
把用户的设计思想转化为特定的新功能需要以下基本要素,这些基本要素构成了CAD软件二次开发平台的基本结构:(1)通用CAD软件——管理层。
通用CAD软件是整个开发的基础,是二次开发应用程序的宿主。
UG软件二次开发课程第一课
标题栏 工具栏
工作区 窗口
输出 窗口 状态栏
源代码 编辑窗 口
27
VC界面组成
标题栏 工具栏 工作区窗口 源代码编辑窗口 输出窗口 状态栏
28
VC界面组成
ቤተ መጻሕፍቲ ባይዱ 标题栏
用于显示应用程序名和所打开 的文件名,标题栏的颜色可以表明 对应窗口是否被激活。
29
VC界面组成
工具栏
提供用于VC程序的建立、编辑 及调试的各种工具。
发展起来的,集编辑、编译、运行、调 试为一体的功能强大的集成编程环境 。
18
Visual C++6.0及其开发环境
开发环境是程序员同 VC++的交互界面
通过 它, 可以
访 问 程 序 源 代 码
访 问 资 源 编 辑 器
使 用 内 部 调 试 器
创 建 工 程 文 件
19
Visual C++6.0及其开发环境
在源代码编辑窗口激活的状态下,单击 程序编译按钮。
在程序没有编译错误的情况下,单击程 序联编按钮。
40
编 辑工具
Compile
程程 序序 编联 译编
Go
程 程序 序 执行 执 到断 行点
Execute Program
插入/ 删除 断点
41
程序录入并调试
单击GO按钮运行程序,可在设置断点处 停止,以便检查中间结果,此时中间结 果在输出窗口中显示。
3
产品设计
UG 提供给公司一个从设计、分析到制
造的完全的数字的产品模型。
4
叶轮有限元分析计算 ——划分网格
5
叶轮有限元分析计算——求解
轴向位移 6
手把手教你做UG二次开发
手把手教你做UG二次开发1。
建立两个目录。
建立第一个目录 E:\my_first_UG,在这个目录下建立两个新的目录:E:\my_first_UG\application和E:\my_first_UG\startup。
建立第二个目录E:\my_source,用存放你的源代码。
2。
设置环境变量。
再Windows中设置一个新的环境变量:UGII_USER_DIR=E:\my_first_UG。
3。
打开UG,进入UIStyler应用(在Application菜单的最后)。
4。
设计一个对话框。
1)在"Dialog Title"一栏填入:First Dialog,按Apply(每次输入完成后,都要按Apply,为避免啰嗦,以后不再提及)。
2)在"Cue"一栏输入:%……%¥%¥¥##*%*(*(*—*—((,什么都行,呵呵。
3)在"Prefix Name"中,把CHANGE改为MY。
4)加入四个控件。
String,Push Button,Label和Single Select List编辑对话框的各个控件。
1)改变String控件的标题,标识和长度。
Label “String” -> “Input an item”.Identifier "STR_0" -> "ITEM"Width in... 0 -> 202) 改变Push Button控件的标题,标识和回调函数的名字。
Label "Push Button" -> "Import"Identifier "ACTION_1" -> "IMPORT"callbacks "action_1_act_cb" -> import_cb把"Creates Dialog"激活。
6_UG二次开发实用教程 第六章
第六章零件设计UG的特征建模功能非常强大,UG中几乎所有的几何特征都可以利用UG/OPEN API进行创建。
UG/OPEN API提供诸如UF_MODL_create_XXX_XXX的函数用于创建几何特征,提供诸如UF_MODL_ask_XXX_XXX的函数用于查询特征的属性。
但是通常情况下,修改几何特征往往要通过几何特征的参数来实现。
6.1 基本概念1、明确特征的几何描述利用函数UF_MODL_create_XXX_XXX创建几何特征,首先要明确几何特征的几何描述。
以最简单的圆锥为例,可以通过函数UF_MODL_create_cone1()创建一个圆锥,但是如果你对圆锥特征的几何描述不清楚,你就不能明白函数UF_MODL_create_cone1()中参数的含义。
如果你在使用函数UF_MODL_create_cone1()创建圆锥特征之前,知道在三维空间中描述一个圆锥,需要知道圆锥的原点、高度、底部和顶部的直径、方向。
此时你使用函数UF_MODL_create_cone1()时,int UF_MODL_create_cone1(UF_FEATURE_SIGN signdouble origin [ 3 ]char * heightchar * diam [ 2 ]double direction [ 3 ]tag_t * cone_obj_id )也就是说,在创建任何特征之前,要明确特征的几何描述。
2、分清函数参数的类型在二次开发过程中,必须分清UF函数是针对特征(Feature)操作、还是对象(Object)操作,还是实体(Body)操作。
特征是将用户对UG实体的所有操作过程都以特征的方式记录下来,一个实体往往可以拥有多个特征,如一个block经过倒角(blend),钻孔(hole)后,那么在这个实体上就存在了三个特征,并且按照时间先后顺序排列。
对象是指uf_object_types.h中说明的对象,包括:体(),表面,边缘,直线(line),圆(circle)、二次曲线(conic)和样条曲线(spline)等几何对象,还有基准轴(datum axis),基准面(datum plane)、草图(sketch)、表达式、颜色、线型、组等非几何对象。
(完整)8_UG二次开发实用教程 第八章
第8章工程图UG的制图模块(Drafting)为创建和管理工程图提供了一个综合的自动化工具组,使工程设计人员可以从UG三维实体模型得到完全相关的二维工程图,可生成与实体模型相关的尺寸标注,保证了工程图随着实体模型的改变而同步更新,制图模块可快速创建二维图的多个视图,包括正视图、轴测图、各种剖视图、辅助视图和局部放大视图等。
制图的一般过程如下:进行制图的参数预设置,创建图纸,插入视图,插入符号,标注尺寸,插入表面粗糙度,文字注释、标题栏、明细栏和填写技术要求等。
本章介绍如何利用UF函数实现制图参数的预设置、创建图纸、插入和编辑视图、添加尺寸、辅助文本等相关的制图功能。
工程图的UF函数定义主要包含在头文件uf_drf.h 和uf_draw.h中,其中在头文件uf_drf.h中主要包括制图的符号、标注、尺寸等函数的定义,在头文件uf_draw.h中主要包括制图时的创建及查询截面线和视图函数与类型的定义。
8.1 工程图的设置在创建工程图前,应预先设置工程图的有关参数。
工程图的参数预设置包括:系统制图参数预设置,视图显示参数预设置,注释与符号预设置等内容。
在UG系统中可以从三个方面对工程图的应用参数进行预设置:1.客户缺省文件。
通过ug_metric.def 或ug_English.def 文件预设置相应的参数,这部分内容通常由系统管理员按国标和企标统一标准来设定;2.部件文件制图应用参数预设置。
在部件文件内预设置各种制图参数,这些设置将影响部件文件内所有制图对象,并且这些设置对部件文件的影响优先于客户缺省;3.对部件文件内特定的对象进行参数预设置。
可改变个别制图对象的参数预设置,将影响指定的制图对象。
这些改变优先于客户缺省文件和部件文件制图应用参数预设置。
8.1.1制图参数预设置UF提供四个函数用来查询和设置制图的所有参数,包括对部件文件和部件文件内特定的对象进行参数预查询和设置,它们包含在头文件uf_drf.h中。
8_UG二次开发实用教程第八章
8_UG二次开发实用教程第八章编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(8_UG二次开发实用教程第八章)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为8_UG二次开发实用教程第八章的全部内容。
第8章工程图UG的制图模块(Drafting)为创建和管理工程图提供了一个综合的自动化工具组,使工程设计人员可以从UG三维实体模型得到完全相关的二维工程图,可生成与实体模型相关的尺寸标注,保证了工程图随着实体模型的改变而同步更新,制图模块可快速创建二维图的多个视图,包括正视图、轴测图、各种剖视图、辅助视图和局部放大视图等.制图的一般过程如下:进行制图的参数预设置,创建图纸,插入视图,插入符号,标注尺寸,插入表面粗糙度,文字注释、标题栏、明细栏和填写技术要求等。
本章介绍如何利用UF函数实现制图参数的预设置、创建图纸、插入和编辑视图、添加尺寸、辅助文本等相关的制图功能。
工程图的UF函数定义主要包含在头文件uf_drf.h 和uf_draw。
h中,其中在头文件uf_drf.h中主要包括制图的符号、标注、尺寸等函数的定义,在头文件uf_draw。
h中主要包括制图时的创建及查询截面线和视图函数与类型的定义。
8.1 工程图的设置在创建工程图前,应预先设置工程图的有关参数。
工程图的参数预设置包括:系统制图参数预设置,视图显示参数预设置,注释与符号预设置等内容。
在UG系统中可以从三个方面对工程图的应用参数进行预设置:1.客户缺省文件。
通过ug_metric.def 或 ug_English。
def 文件预设置相应的参数,这部分内容通常由系统管理员按国标和企标统一标准来设定;2。
UG二次开发教程
UG二次开发教程编写:王作雨1。
建立两个目录。
建立第一个目录 E:\my_first_UG,在这个目录下建立两个新的目录:E:\my_first_UG\application和E:\my_first_UG\startup。
建立第二个目录E:\my_source,用存放你的源代码。
2。
设置环境变量。
再Windows中设置一个新的环境变量:UGII_USER_DIR=E:\my_first_UG。
3。
打开UG,进入UIStyler应用(在Application菜单的最后)。
4。
设计一个对话框。
1)在"Dialog Title"一栏填入:First Dialog,按Apply(每次输入完成后,都要按Apply,为避免啰嗦,以后不再提及)。
2)在"Cue"一栏输入:%……%¥%¥¥##*%*(*(*—*—((,什么都行,呵呵。
3)在"Prefix Name"中,把CHANGE改为MY。
4)加入四个控件。
String,Push Button,Label和Single Select List编辑对话框的各个控件。
1)改变String控件的标题,标识和长度。
Label “String” -> “Input an item”.Identifier "STR_0" -> "ITEM"Width in... 0 -> 202) 改变Push Button控件的标题,标识和回调函数的名字。
Label "Push Button" -> "Import"Identifier "ACTION_1" -> "IMPORT"callbacks "action_1_act_cb" -> import_cb把"Creates Dialog"激活。
UG二次开发培训
UG二次开发培训
函数原型:
<return data type> <function name> (argument list) int UF_PART_open(
char *part_name, tag_t *part, UF_PART_load_status_t *error_status)
数据类型(Data Types)
UG\ugdoc\html_files\ugopen_doc\main.html
编译环境配置(内模式)
工程类型:
Regular DLL using shared MFC DLL
必要的头文件:
#include "uf.h" 其它
必要的库文件:
#pragma comment(lib, "libufun.lib") #pragma comment(lib, "libugopenint.lib")
内模式(.dll):启动UG后自动加载运行 外模式(.exe):单独运行,没有图形界面
UG二次开发工具箱
UG/Open API
UG/Open C++
GRIP MenuScript User Interface Styler UG\ugdoc\html_files\mainlibrary.chm
Open API Programmer’s Guide MenuScript User’s Guide User Interface Styler
UG软件二次开发课程第二课PPT课件
最常用的UF数据类型
uf_list_p_t 它表示一个UG实体链,是一个结构,
由两个成员组成。 eid 表示链中的一个实体, * next 表示指向链中下一项的指针
40
uf_list_p_t 定义
typedef struct uf_list_s *uf_list_p_t;
struct uf_list_s {
UG软件二次开发概念
任何一款软件都不能完全满足用户的所 有需求
购买了UG软件之后,为了更好的使用, 针对本单位产品的特点进行一些二次开 发是必不可少的
这对提高产品的设计效率,缩短产品的 设计周期并使设计符合国家标准等,具 有重大意义。
1
二次开发可以做什么?
可利用UG提供的二次开发接口 建立参数化标准件库 建立特定产品的加工模板 开发方便实用的工具库 建立配套的刀具库
即必须在头文件中加以声明,如 # include <uf_part.h> # include <uf_curve.h>
30
标准命名法
优点
函数名称使程序设计人员很容易知道函 数的含义及所属库函数
31
UF函数命名规则
固定命名法 是早期版本所命名的UF函数
如 uc1601 ( ); uf5943 ( );
51
UF的License
所有的UF程序在运行时都需要 UG/Open API License的支持
因此程序必须正确地初始化以获得 一个License,终止时也要归还曾占用 的License以供下次调用UF函数时使用。
52
UF的License使用
License的初始化和终止化的操作使 用以下函数: int UF_initialize();/*UF初始化*/ int UF_terminate();/*UF终止化*/
第10章 UG二次开发入门
第10章UG 二次开发入门本章导读需要说明的是,界面二次开发的过程所实现的功能基本上软件本身已实现了,开发者所要做的就是对这些功能重新组合实现特殊需求以提高效率,而对于软件本身未涉及的功能突破的可能性是不大的。
本章中主要介绍UG Open/API的开发过程方法及过程,包括.men文件的制作、UIStyler对话框的设计、以及用户必须清楚的关键函数的讲解和几种调试方法的介绍,最后结合实例进行详细说明。
图10.1 二次开发实例图10.2 UIStyler编辑器参数化技术UG二次开发知识储备UG二次开发介绍实例详解10.1 参数化技术UG参数化设计技术以其强有力的草图设计、尺寸驱动修改图形功能,成为初始设计、产品建模及修改系列设计、多方案比较和动态设计的有效手段,是提高三维模型设计效率的最好方法之一。
10.1.1 技术简介参数化设计是通过修改尺寸而实现对图纸的修改的设计方法。
在参数化设计的过程中,用户无需进行干预,由CAD系统对整个图形的约束集进行分析和求解。
参数化设计的驱动机制为参数,提供修改参数,可以对图形对几何数据进行修改。
参数化设计过程中,修改参数必须满足产品的约束条件。
由用户控制的,即能够独立变化的参数一般只有几个,称之主参数或主约束,其它约束可由产品结构特征确定或与主约束有确定关系,称为次要约束。
10.1.2 技术分类及其实现方法参数化技术的基本方法,从基于约束的参数化技术的实施机理来看,目前主要有两大类型:(1)编程参数化。
这种方法通过分析模型的特点,确定样板各尺寸之间的数字关系。
给定输入参数,然后确定其它参数的值,并用高级语言在CAD系统中加以实现。
这种方法主要适用于结构较稳定,仅尺寸数值发生变化或仅有局部结构变化的场合,常见于在通用商品CAD软件上进行二次开发,如进行标准件和常用件的建库工作等,其优点是三维模型完全实现了程序驱动,但不足之处是编程工作量大、开发效率低、适用面窄。
(2)人工交互参数化基于几何约束的变量几何法。
UG软件二次开发课程第三课 PPT课件
char *block_len[3] = {"1","2","3"};
char *block_len1[3] = {"1", "1", "1"};
tag_t blk_obj;
tag_t blk1_obj;
UF_CALL(UF_MODL_create_block1(sign, block_orig, block_len, &blk_obj));
{ do_ugopen_api(); /* 运行用户所编写的主程序 */ UF_CALL(UF_terminate()); /* 终止内部UF并释放License */
} }
25
卸除UF程序
❖ 设置UF程序运行以后立刻从内存中卸除,即当 重新修改、编译成新的DLL文件时,UG无须 关闭重启动,就可调用此新的*.DLL文件
34
35
36
37
38
使用UG/OPEN API例程
❖ 利用UG提供的例程来了 解用户怎样开发一个可以 调用UG的User Function程序及程序如何 在UG中起作用。
39
应用UG例程
❖ UG例程 利用UG的User Function生成两个
Block(矩形实体),并作布尔运算。
40
步骤
3
在uf_csys.h的坐标系定义
/* Constants for coordinate systems */ /* * UF_CSYS_ROOT_COORDS is coordinate space of
the root part which is the whole part being * displayed * UF_CSYS_WORK_COORDS is coordinate space of
UG二次开发资料(SIEMENS内部培训)5.
MENU_FILES BEFORE
END_OF_BEFORE 与BEFORE相对应,其间的内容都是在BEFORE指定的 菜单项之前。 AFTER END_OF_AFTER HIDE SHOW 在已有的菜单文件中定义的某个菜单项之后加上一个 新项。 与AFTER相对应,其间的内容都是在AFTER指定的菜 单项之后。 隐藏一个菜单文件定义的菜单项。 显示菜单项
31
菜单文件及语法 – 示例1
VERSION 120 EDIT UG_GATEWAY_MAIN_MENUBAR HIDE UG_WINDOW BEFORE UG_HELP CASCADE_BUTTON CUSTOM_MENU LABEL 主菜单 END_OF_BEFORE MENU CUSTOM_MENU TOGGLE_BUTTON T_B_NAME LABEL TOGGLE按钮 ACCELERATOR Ctrl+1 ACTIONS TOG_BUTTON_ACTION
29
CREATE EDIT
TITLE TOP_MENU END_OF_TOP_MENU CASCADE_BUTTON
菜单文件及语法
MENU END_OF_MENU MODIFY END_OF_MODIFY BUTTON TOGGLE_BUTTON APPLICATION_BUTT ON 非顶层菜单定义开始 非顶层菜单定义结束 修改已有的菜单项,而不改变它们的位置 修改结束 在菜单中添加一个菜单项 Example: TOGGLE_BUTTON UG_VIEW_POPUP_ZOOM 应用模块菜单项,单击该菜单项,进入相应的应用 模块。 Example: APPLICATION_BUTTON UG_APP_MODELING 在不同菜单项组之间提供一个可见的分隔线 菜单项名称,也就是在交互环境下所看到的菜单项 的名称。 指定菜单命令的快捷键 指定菜单项是否灰化显示
UG二次开发实用入门教程_UG对象类型及操作
UG⼆次开发实⽤⼊门教程_UG对象类型及操作UG⼆次开发实⽤⼊门教程_UG 对象类型及操作(1)_Parts2014年03⽉29⽇? UG API(UFUN) ?共2924字?暂⽆评论?被围观127 阅读+ 所有的UG对象类型都通过它们唯⼀的标识tag来引⽤,这些UG对象分类如下:PartsUF objects(uf_object_types.h中说明的)Expressions(表达式)对每⼀类对象,都有UG/OPEN API中明确的函数对它们进⾏操作。
Parts对每⼀个加载到UG环境中的part⽂件,都有⼀个关联的part object代表它,也为每⼀个part object分配⼀个tag(标记符)。
⼀个UG part ⽂件(以.prt扩展名的⼆进制⽂件) 是UF objects, expressions, and Parasolid objects永久保存之地。
另外UG part ⽂件还包含下列内容:创建part的计算机类型保存part的UG版本part的历史(i.e. a log of when the part was saved, by what program, etc.)状态、描述和⽤户区的可永久保存在part⽂件中的信息。
在part中查询objects。
对Parts操作的函数UF_OBJ_cycle_objs_in_part访问part的属性。
UF_ATTR_ask_part_attrs关闭和再打开part。
UF_PART_close 和UF_PART_reopen获取part的⽂件名。
UF_PART_ask_part_name查询其它信息。
UF_PART_ask_customer_area, UF_PART_ask_description, UF_PART_ask_status设置状态、描述等信息。
UF_PART_set_customer_area, UF_PART_set_description, UF_PART_set_status查询part的历史。
UG二次开发实用教程
UG二次开发实用教程UG(Unigraphics)二次开发是指在UG基础上进行功能扩展和定制开发,以满足特定需求。
UG二次开发可以帮助用户提高工作效率、简化操作流程并增强软件功能。
本文将介绍UG二次开发的基本原则、常用技术和实用案例。
一、UG二次开发的基本原则1.熟悉UG软件架构:UG软件由多个模块组成,包括界面模块、内核模块、数据库模块等。
在进行二次开发前,需要熟悉UG软件的架构和各个模块的功能,了解开发的具体目标和需求。
2.选择合适的开发语言和工具:UG二次开发可以使用多种开发语言和工具,如C++、VB、C#等。
选择合适的开发语言和工具有助于提高开发效率和开发质量。
3.合理规划开发流程:UG二次开发需要进行合理的开发流程规划,包括需求分析、设计、编码、测试和部署等阶段。
合理规划开发流程可以提高开发效率和软件质量。
二、常用的UG二次开发技术1.基于UGOpen进行二次开发:UGOpen是UG软件的二次开发接口,可以实现UG软件的功能扩展和定制开发。
UGOpen提供了丰富的API和类库,可以方便地进行功能扩展和定制开发。
2.使用C++进行开发:C++是一种高效、灵活的编程语言,适合进行UG二次开发。
C++可以通过UGOpen接口与UG软件进行交互,实现自定义功能的开发。
3.使用VB进行开发:VB是一种易学易用的编程语言,适合进行简单的界面和脚本开发。
VB可以通过UGOpen接口与UG软件进行交互,实现自定义界面和工具的开发。
4.使用C#进行开发:C#是一种面向对象的编程语言,具有强大的开发功能和良好的可移植性。
C#可以通过UGOpen接口与UG软件进行交互,实现自定义功能的开发。
三、UG二次开发的实用案例1.增加自定义功能:UG二次开发可以增加一些常用的自定义功能,例如自动化建模、批量处理、数据导入导出等。
通过二次开发,可以提高工作效率,简化操作流程。
2.定制界面和工具:UG二次开发可以定制界面和工具,使其更加符合用户需求。
4_UG二次开发实用教程 第四章
intdialog_id,
UF_STYLER_item_value_type_p_tvalue
);
表4-4函数UF_STYLER_set_value()的成员说明
参数
参数描述
dialog_id
输入参数,表示被查询控件所属对话框的标识,通常是由styler对话框传递回调函数的
指明value的数据类型
value
union类型的数据,表明控件的值。注意:必须利用函数UF_STYLER_free_value释放为字符串或数组申请的内存。
表4-2对话框控件的常用属性
属性
描述
Label
控件的文本描述,一般表示控件用途;如果控件设置了位图属性,则显示为文本提示信息
Object Identifier
int reason;
const char *item_id;
int subitem_index;
int count;
int item_attr;
int indicator;
UF_STYLER_value_t value;
};
表4-1结构UF_STYLER_item_value_type_s的成员说明
4.1
4.1
UG的UIStyler应用模块提供给用户可视化建立UG风格对话框的功能。在UG主菜单中选择菜单项“Application→User Interface Styler...”,进入UIStyler应用模块,UIStyler可视化界面如图4-1所示。
图4-1UIStyler可视化界面
4.1
UIStyler可视化界面包括基本对话框、对象浏览器、属性编辑器、控件栏和控件编辑工具五部分。用户在控件栏中选择控件后放置在基本对话框中,通过对象浏览器查看在基本对话框中设置的控件对象信息、利用控件编辑工具调整控件布局,通过属性编辑器编辑对话框及指定控件的属性。
[计算机软件及应用]UG二次开发技术ppt课件
YSMALL---2 YLARGE---5
ZSMALL---3 ZLARGE---6
例如语句:ln2=LINE/PARLEL,ln1,YSMALL,1.0 可简写成: ln2=LINE/PARLEL,ln1,2,1.0
二、全局参数存取符号格式(GPA Symbol Format)
全局参数存取符号格式(Global Parameter Access Symbol Format)用于访问 UG系统中各 种对象的状态设置和参数。
一个GPA符号格式最长有6个字母,并以符号 &开头,每个GPA符号都有确定的含义,或 者与系统参数相连,或者与一个常数相连, 并且有一个给定的存取类型、数据类型以 及数据范围。
• 具有统一的数据库,真正实现了 CAD/CAM/CAE等各模块之间的无数据交换 的自由切换,可实施并行工程。
• 采用复合建模技术,可将实体建模、曲面 建模、线框建模、显示几何建模与参数化 建模融为一体。
• 用基于特征的建模和编辑方法作为实体造 型的基础,形象直观,类似于工程师传统 的设计方法,并能用参数驱动。
26 15
48 37
DATA/str,’This is a GRIP program’ 说明:给字符串str赋值。
STRING/txt(3,20) DATA/txt,’This is a line’,’This is $ a point’,’This is s string’ 说明:给字符串数组txt赋值。
一、陈述格式(Statement Format)
陈述格式的GRIP命令是应用最广泛的一种格 式,主要完成UG中的实体生成和编辑的各 种操作。陈述格式的GRIP命令由主词或者主 词加辅词构成。
UG二次开发资料(SIEMENS内部培训)2
24
工程路径设置 - 环境变量法
UG 环境配置文件ugii_env.dat 中存在3个用于注册 工程路径的环境变量,如下表所示。去掉环境变量前的 注释符“#",在等号后写入具体的工程路径,则在 UG 启 动的同时会将这些环境变量所指定的工程路径中的资源 按照优先级的顺序加载。
环境变量名 工程路径 优先级 最高 其次 最低
UG_VENDOR_DIR 存放 UG 指定应用开发产品的工程路径 UG_SITE_DIR UG_USER_DIR 存放其余应用开发产品的工程路径 存放用户自己应用开发产品的工程路径
25
API运行模式
26
© UGS Corp. 2007. All rights reserved.
API运行模式 – 内部模式
19
应用程序框架
菜单:菜单文件(.men)和工具条文件(.tbr),放在应用程 序目录的startup子目录中。 对话框:对话框文件(.dlg),放在程序目录的application 子目录中。 应用程序(回调函数):应用程序(.dll),放在程序目录 的startup子目录中。 UG/Open API库函数:默认存放在 “$UGII_BASE_DIR\ugopen”目录中。在创建应用程序时需 要配置。
二次开发应用框架
日期:2007年 8 月
1
© UGS Corp. 2007. All rights reserved.
主要内容
¾二次开发工程项目的创建 ¾应用程序框架 ¾工程路径设置 ¾API运行模式 ¾程序的初始化及终止 ¾用户入口
2
工程项目的创建
3
© UGS Corp. 2007. All rights reserved.
内部模式(Internal开发模式)的程序只能在UG的界 面环境下运行。在运行内部程序时,它们以 .dll (动态链 接库)的方式被调到UG的进程空间中。它必须启动UG才 能运行。 内部程序有下列特点: 9执行代码小,连接快; 9内部程序一旦被加载到内存中,只能通过UG/Open API 的卸载功能才能从UG运行功能中卸载它; 9运行结果在UG的界面图形环境中可见; 9入口函数是ufusr或ufsta; 9最大的优点是能处理UG的UI的对象接口,实现和UG界 面的无缝集成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. UG 二次开发流程
UG 二次开发流程如下:
1.选择NX6开发模板 2.设置开发环境 3.添加引用连接 4.编写代码 5.调试 6.添加快捷图标
3. UG 二次开发流程
3.1.选择NX6开发模板
在VB开发环境选择 NX6的二次开发模 板,设置名称,选 择位置,设置解决 方案名称。注意这 些名称最好是英文, 便于UG调试,因为 UG暂时不支持中文。
UG二次开发培训
——基于的UGNX6.0二次开发基础
陶剑 2011年9月
/item.htm?id=14679405989
目录
1Байду номын сангаас UG二次开发简介 2. 软件的安装与设置
3. UG 二次开发流程 4. 一个简单开发实例
3. UG 二次开发流程
3.2 设置开发环境(1)
单击“确定” 后进入应用设 置界面, 将”USE APIs” 的两个勾都勾 上。
3. UG 二次开发流程
3.2 设置开发环境(2)
单击“NEXT” 后进入接入点 设置界面,选 择图示的接入 和退出方式。
3. UG 二次开发流程
软件的安装与设置
2.2 安装
软件的安装与设置
2.3 设置(1)
初次启动弹出默认 环境设置,如右图 所示,选择VB开发 设置即可。
软件的安装与设置
2.3 设置(2)
默认环境VB并不支持直接进行UG二次开发,需要将 UG二次开发模板导入到VB的开发环境中。
1. UG二次开发简介
1.2 UG二次开发的意义
出错
效率
软件的安装与设置
2.1 简介
从VB6.0以后VB不再提供单独的安装包安装, 而是和VC,VC++,VJ#一起集成在基于统一的.NET 平台的Visual Studio一起发布,我们将要使用性能 比较稳定的 Visual Studio 2005CHS版本 对UG NX6.0进行二次开发。
3.3 添加引用连接(1)
单击”FINISH” 后进入编程模 块界面,但此 时的编程模块 有两个错误 (VB有错误会 在出错的地方 出现波浪线, 类似于WORD) 需要改正。
3. UG 二次开发流程
3.3 添加引用连接(2)
双击”My Project” 选择引用,NX6的 四个库函数引用 错误,需要重新 定向。
3. UG 二次开发流程
3.6 添加快捷图标(2)
在startup文件夹中新建TXT文件,添加格式如下的文本,保存后将文 件后缀改为TBR,注意文本所指文件必须存在,且和你开发的DLL文 件一致。
4. 一个简单开发实例
本实例开发的功能是读取所选操作的程序名,加工刀具和 加工余量三个参数,在编程界面添加如下代码:
软件的安装与设置
2.3 设置(3)
打开UG安装目录,复制VB开发模板文件夹。
软件的安装与设置
2.3 设置(4)
将VB开发模板文件夹粘贴到Visual Studio安装目录下。
软件的安装与设置
2.3 设置(4)
再次打开VB开发环境,即有了NX6的二次开发模板了。
4. 一个简单开发实例
Sub Main()下添加如下代码:
Try '获取选择的操作数 tufs.UiOnt.AskSelectedNodes(mcount, mytag) If mcount = 0 Then MsgBox("未选择加工操作!", MsgBoxStyle.OkOnly, "提示") Exit Sub End If '获取操作名称 tufs.Oper.AskNameFromTag(mytag(0), toolpathname) '获取加工刀具 Dim tooltag As NXOpen.Tag '定义刀具标记 tufs.Oper.AskCutterGroup(mytag(0), tooltag) tufs.Obj.AskName(tooltag, toolname) '获取加工余量 tufs.Param.AskDoubleValue(mytag(0), NXOpen.UF.UFConstants.UF_PARAM_STOCK_PART, stock) '输出结果 MsgBox("您选择的操作参数如下:" + Chr(13) + _ "程序名:" + toolpathname + Chr(13) + _ "刀具: " + toolname + Chr(13) + _ "余量: " + stock.ToString + Chr(13), MsgBoxStyle.OkOnly, "提示") Catch ex As Exception MsgBox(ex) End Try
1. UG二次开发简介
1.1 UG二次开发简介
二次开发是在软件原有功能基础上进行的对软件功能 的针对性扩充改造,以满足不同用户对特定功能的要求。 如UG原本不具备批量设置程序参数,二次开发就能实现这 一功能。二次开发的前提是软件提供了二次开发的接口和 相应的功能函数。目前在UG上应用得比较成功的通用性的 二次开发主要有华中科技大学CAD/CAM国家重点实验室和 UGS公司合作开发的级进模向导。再有就是一些在建模和 编程上用的一些小型外挂,如东创,进玉电极外挂等。由 于二次开发的针对性较强,这样其通用性往往会受到不同 程度的限制。
3. UG 二次开发流程
3.3 添加引用连接(3)
选择如图所 示的定向目 录,注意: 目录定向完 成后,不要 选择复制引 用的库文件, 否则会造成 使用麻烦。
3. UG 二次开发流程
3.4 编写程序代码
3. UG 二次开发流程
3.5 程序调试(1)
3. UG 二次开发流程
在Module Module1下定义如下变量: Dim ts As Session = Session.GetSession() Dim tui As UI = UI.GetUI() Dim tufs As UFSession = UFSession.GetUFSession() Dim mytag() As NXOpen.Tag '选择的加工操作标记 Dim mcount As Integer '选择的加工操作数量 Dim toolpathname As String '定义选择的第一个加工操作的名称 Dim toolname As String '定义选择的第一个加工操作的刀具名称 Dim stock As Double '选择的第一个加工操作的加工余量
3.5 程序调试(2)
3. UG 二次开发流程
3.5 程序调试(3)
3. UG 二次开发流程
3.6 添加快捷图标(1)
将插件添加到UG功能区,在D盘新建一个包含application 和startup文件 夹的目录TOOL,并新建环境变量UGII_USER_DIR=D:\TOOL
4. 一个简单开发实例
本实例运行效果如图: