购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_DRAW_ask_view_parm_scale( tag_t view_tag, tag_t * exp_tag, double * scale_value) 函数说明:
如果视图比例为联想,这个函数输出表达式标签和视图比例值。如果视图比例为不相关联,这个功能还是输出视图比例值,但表达等于NULL_TAG并返回一个错误。
函数参数:
第1个参数为输入:
view_tag代表参数变量,tag_t 为输入参数类型,鉴于从其中获得的比例值和相关联的表达式。
第2个参数为输出:
exp_tag代表参数变量,tag_t * 为输出参数类型,关联到视图比例的表情,空Tag如果视图比例为不相关联
第3个参数为输出:
输出double * 双精度类型的参数,参数的变量格式为scale_value,视图的比例值。
UF_DRAW_ask_view_parm_scale函数实例代码演示:
在以下示例中的代码获得比率值和绘图员视图相关的表达。
[quote]
#include <stdio.h>
#include <uf.h>
#include <uf_defs.h>
#include <uf_draw.h>
#include <uf_draw_types.h>
#include <uf_obj.h>
#include <uf_view.h>
void ufusr(char *param, int *retcod, int param_len)
{
char drawing_name [MAX_ENTITY_NAME_SIZE] = "";
char view_name [MAX_ENTITY_NAME_SIZE] = "";
char error_message[MAX_LINE_SIZE + 1] = "";
tag_t view_tag = NULL_TAG;
tag_t drawing_tag = NULL_TAG;
tag_t exp_tag = NULL_TAG;
double scale;
int ifail = 0, len;
ifail = UF_initialize();
if (!ifail)
{
/* Get the tag of drawing. */
ifail = UF_DRAW_ask_current_drawing(&drawing_tag);
}
if (!ifail)
{
/* Get the name of first drawing. */
ifail = uc5027(drawing_tag, drawing_name, &len);
}
if (!ifail)
{
/* Get the name of the drawing's first view. */
ifail = uc6499 (drawing_name, view_name);
}
if (!ifail)
{
/* Get the view's tag. */
ifail = UF_VIEW_ask_tag_of_view_name (view_name,
&view_tag);
}
if (!ifail)
{
/* Get the parametric view scale. */
ifail = UF_DRAW_ask_view_parm_scale (view_tag, &exp_tag,
&scale);
}
printf ("UF_DRAW_ask_view_parm_scale sample ");
if (ifail)
{
ifail = UF_get_fail_message( ifail, error_message );
printf( "fails.\nError is: %s\n", error_message );
}
else
{
printf( "is successful.\n" );
printf( "The scale value is %g \n", scale );
}
UF_terminate();
}
[/quote]