UG NX OPEN 二次开发实例:UFUN(C语言)API文档翻译,创建块

UF是使用C语言的,所以有C语言的结构,枚举,指针,预定义常数等等,也有一定的数据结构。

笔记方式是直接使用实例进行,并对出现过的各种数据,自定义类型进行总结。

通过对API文档的翻译,函数分析,实例进行学习,重点是总结各个出现过的数据类型。

请关注评论哦

例如此次实例出现过的数据类型有:UF_FEATURE_SIGN sign, double corner_pt [ 3 ] , char * edge_len [ 3 ] , tag_t * blk_obj_id.

如果不懂得配置开发环境的,请私聊我。

创建块

一,API文档翻译:

Creates a block.创建一个块。

The Corner Point indicates the origin of the block to be created.

角点:即要创建块的原点

The X, Y and Z lengths control the size of the edge lengths.

X、Y和Z的长度控制边的大小长度。

The sign parameter controls the boolean operation performed.

符号参数控制布尔运算。

The output of this function is the object identifier associated to the block.

此函数的输出是与块关联的对象标识符。

The origin point is with respect to the Absolute CSYS.

原点相对于绝对CSY。

However, the direction of the edge lengths are with respect to the WCS.

但是,边长度的方向与WCS有关。

环境:内部和外部

需要许可证(S):solid_modeling

函数原型

int UF_MODL_create_block1
(
UF_FEATURE_SIGN sign,
double corner_pt [ 3 ] ,
char * edge_len [ 3 ] ,
tag_t * blk_obj_id
)

每一个函数都有其返回值,返回一个int数值。

函数名分析:UF_MODL_create_block1

UF即UF函数,

MODL即建模模块

create,创建

block:函数实际功能实体。

在现有API文档中,创建块有两个函数;此函数,即创建block1的是一个更新的函数,一般的,使用较新的函数。

UF_FEATURE_SIGN 重点,是一个枚举类型。

此类型在创建特征时总会出现,对应的就是布尔运算,文档翻译太长,放在文章后面。

现在只需记得四个比较常用的四个:

1,创建:UF_NULLSIGN = create new target solid

2,求和:UF_POSITIVE = add to target solid

3,求差:UF_NEGATIVE = subtract from target solid

4:求交:UF_UNSIGNED = intersect with target solid

//枚举类型,直接选择一个值即可。
UF_FEATURE_SIGN sign = UF_NULLSIGN; 

 //一个double类型的数组
	double corner_pt [ 3 ] = {0,0,0};

//一个指针数组,char类型,注意其赋值形式
//可以这么理解,首先,是一个数组,里面存放着指针,char*型。
//分别为“长”,“宽”,“高”。
	char  *edge_len [ 3 ] = { "10","20","30" };	

 //tag_t是最常用的类型,生成“块”后的tag_t存放在这个变量里。
	tag_t  blk_obj_id ;

	UF_MODL_create_block1(
		sign,							 //输入
		corner_pt, 		 //输入
		edge_len, 		 //输入
		&blk_obj_id  //输出
	);

最后输出的这个 tag_t 这个变量需要再说明一下,

在函数原型中,是这样表示的,tag_t * blk_tag,可以看出有个*号,因为是输出,即可看成是表示是一个指针,在数据声明定义这里就直接把*去掉,即tag_t blk_obj_id ;

在函数里,就用&来接受一个指针。可以看成是固定用法。

原文链接:,转发请注明来源!