点击查看详细介绍

UF_DRAW_add_detail_view() 函数的参数解释说明、函数详细用法,以及实例代码演示

misnn 7年前 648 0

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


函数结构:
UF_DRAW_add_detail_view
(
const tag_t drawing_tag,
const tag_t parent_view_tag,
double xy1 [ 2 ],
double xy2 [ 2 ],
const double view_scale,
double dwg_reference_point [ 2 ],
tag_t * detail_view_tag
)

函数说明:
该函数添加到当前图形的详细视图。目前需要输入图纸的限制标签是当前图形的标签。我们打算放宽此限制的未来。其结果是,我们要求的输入标签确保将来的代码更改将不会被公开NX要求API开发。

函数参数:
第1个参数为输入:
drawing_tag代表参数变量,const tag_t 为输入参数类型,绘制标签,必须是当前图形。

第2个参数为输入:
parent_view_tag代表参数变量,const tag_t 为输入参数类型,父视图的标签。

第3个参数为输入:
输入double 双精度类型的参数,参数的变量格式为xy1 [ 2 ],左区的下角来创建详细视图,在绘制坐标(X1,Y1)。

第4个参数为输入:
输入double 双精度类型的参数,参数的变量格式为xy2 [ 2 ],区域的右上角创建详细视图,在绘制坐标(x2,y2)上。这个角落应该是对角垄断1。

第5个参数为输入:
输入const double 双精度类型的参数,参数的变量格式为view_scale,详细视图所需的视图比例。

第6个参数为输入:
输入double 双精度类型的参数,参数的变量格式为dwg_reference_point [ 2 ],绘制参考点(图中坐标x,y)

第7个参数为输出:
detail_view_tag代表参数变量,tag_t * 为输出参数类型,新的详细视图标记。

UF_DRAW_add_detail_view函数实例代码演示:
下面的示例将TOP@1视图的详细视图该图,为2.5的比例。
[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>
void ufusr(char *param, int *retcod, int param_len)
{
double corner1[2] = {1.0, 1.0};
double corner2[2] = {4.0, 4.0};
double reference_point[2] = {10.0, 12.0};
double detail_view_scale = 2.5;
int ifail = 0;
tag_t drawing_tag = NULL_TAG;
tag_t part_tag = NULL_TAG;
tag_t parent_view_tag = NULL_TAG;
tag_t detail_view_tag = NULL_TAG;
char error_message[133];
char *view_name = "TOP@1";

ifail = UF_initialize();

if( !ifail )
part_tag = UF_PART_ask_display_part();

if( !ifail && part_tag != NULL_TAG )
ifail = UF_DRAW_ask_current_drawing( &drawing_tag );

if( !ifail && part_tag != NULL_TAG && drawing_tag != NULL_TAG
)
{
ifail = UF_OBJ_cycle_by_name( view_name, &parent_view_tag );

if( !ifail && parent_view_tag != NULL_TAG )
ifail = UF_DRAW_add_detail_view( drawing_tag,
parent_view_tag,
corner1,
corner2,
detail_view_scale,
reference_point,
}
printf( "UF_DRAW_add_detail_view " );
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 ( drawing_tag == NULL_TAG )
printf( "fails.\nError is: no current drawing.\n" );
else
printf( "is successful.\n" );

ifail = UF_terminate();
}



[/quote]

0

最新回复 (0)
请登录后发表新帖