购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_DRAW_define_view_boundary( tag_t view_tag, int curve_count, UF_DRAW_define_boundary_p_t* boundary_curves) 函数说明:
创建一个封闭的,连接的,非自相交的视图边界曲线的循环。有效的曲线类型UF_line_type,UF_circle_type,和UF_spline_type。所有的曲线必须在视图中可见。如果曲线型是UF_circle_type,圆必须的平面 视图。下面的图显示了一个的结构的一个例子任意视图势必通过选择几条曲线定义。在该图中,与每个曲线相关联的数字用于说明曲线选择 订购。 数字。任意观的构建约束
函数参数:
第1个参数为输入:
view_tag代表参数变量,tag_t 为输入参数类型,其边界的视图标记是被定义。
第2个参数为输入:
输入int 整数型的参数,参数的变量格式为curve_count,算上在曲线中的曲线标签
第3个参数为输入:
boundary_curves代表参数变量,UF_DRAW_define_boundary_p_t* 为输入参数类型,curve_count指针被用来定义视图边界结构的阵列。
UF_DRAW_define_view_boundary函数实例代码演示:
此代码使用的一部分与命名对象,“圆边界”,定义视图的边界。
[quote]
#include <stdlib.h>
#include <stdio.h>
#include <uf.h>
#include <uf_defs.h>
#include <uf_draw.h>
#include <uf_draw_types.h>
#include <uf_drf_types.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;
const int num_objects = 1;
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 = "CIRCLE_BOUNDARY";
UF_DRAW_define_boundary_t * boundary_curves = NULL;
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 )
/* 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 && object_tag )
{
boundary_curves = (UF_DRAW_define_boundary_t *)malloc
(num_objects * sizeof(UF_DRAW_define_boundary_t));
boundary_curves[0].curve_tag = object_tag;
ifail = UF_DRAW_define_view_boundary( view_tag,
num_objects,
&object_tag );
}
printf( "UF_DRAW_define_view_boundary " );
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
printf( "is successful.\n" );
free( boundary_curves );
ifail = UF_terminate();
}
[/quote]