购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_DRAW_define_bound_by_objects( const tag_t view_tag, const int num_objects, tag_t* bounded_objects) 函数说明:
设置视图边界类型来绑定到对象,并定义数组必须包含与视图的边界的对象。
函数参数:
第1个参数为输入:
view_tag代表参数变量,const tag_t 为输入参数类型,其位置的视图的标记是被定义。
第2个参数为输入:
输入const int 整数型的参数,参数的变量格式为num_objects,有界对象数组中的代码数量。
第3个参数为输入:
bounded_objects代表参数变量,tag_t* 为输入参数类型,num_objects的对象的标签阵列被用于计算视图边界的边界框。
UF_DRAW_define_bound_by_objects函数实例代码演示:
此示例使用一个名为圆形边缘的一部分,“BAND OBJ”,以定义边界限制。
[quote]
#include <stdlib.h>
#include <stdio.h>
#include <uf.h>
#include <uf_defs.h>
#include <uf_draw.h>
#include <uf_obj.h>
#include <uf_part.h>
#include <uf_view.h>
void ufusr(char *param, int *retcod, int param_len)
{
int ifail = 0;
tag_t object_tag = NULL_TAG;
tag_t view_tag = NULL_TAG;
tag_t part_tag = NULL_TAG;
char error_message[133];
char * view_name = "TOP@1";
char * object_name = "BNDOBJ";
ifail = UF_initialize();
if( !ifail )
part_tag = UF_PART_ask_display_part();
if( !ifail && part_tag != NULL_TAG )
ifail = UF_VIEW_ask_tag_of_view_name( view_name,
&view_tag );
if( !ifail && part_tag != NULL_TAG &&
view_tag != NULL_TAG )
/* retrieve tag of circle to define view boundary */
/* this example uses a part with a named object */
ifail = UF_OBJ_cycle_by_name( object_name,
&object_tag );
if( !ifail && part_tag != NULL_TAG &&
view_tag != NULL_TAG && object_tag != NULL_TAG)
ifail = UF_DRAW_define_bound_by_objects( view_tag,
1,
&object_tag );
printf( "UF_DRAW_define_bound_by_objects " );
if( ifail )
{
ifail = UF_get_fail_message( ifail, error_message );
printf( "fails.\nError is: %s\n", error_message );
}
else if ( part_tag == NULL_TAG )
printf( "fails.\nError is: no active part.\n" );
else if ( object_tag == NULL_TAG )
printf( "fails.\nError is: named object not found.\n");
else if ( view_tag == NULL_TAG )
printf( "fails.\nError is: view not found.\n");
else
printf( "is successful.\n" );
ifail = UF_terminate();
}
[/quote]