购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_DRF_create_radius_dim( UF_DRF_object_p_t object, UF_DRF_text_t* drf_text, double dimension_3d_origin [ 3 ], tag_t* dimension_tag) 函数说明:
?创建并显示半径尺寸。
函数参数:
第1个参数为输入:
object代表参数变量,UF_DRF_object_p_t 为输入参数类型,圆弧对象的数据(见uf_drf_types.h)有效的对象类型:圆弧,圆实线,圆柱面
第2个参数为输入:
drf_text代表参数变量,UF_DRF_text_t* 为输入参数类型,关联文本(见uf_drf_types.h)
第3个参数为输入:
输入double 双精度类型的参数,参数的变量格式为dimension_3d_origin [ 3 ],3D尺寸起源于WCS坐标
第4个参数为输出:
dimension_tag代表参数变量,tag_t* 为输出参数类型,创建半径尺寸的对象标记
UF_DRF_create_radius_dim函数实例代码演示:
这个例子创建一个半径尺寸。
[quote]
#include <stdio.h>
#include <uf.h>
#include <uf_defs.h>
#include <uf_drf.h>
#include <uf_curve.h>
#include <uf_csys.h>
void ufusr(char *param, int *retcod, int param_len)
{
int status = 0;
static double origin[3] = {13.0, 16.0, 0.0};
static char dimtxt[15+1] = "RADIUS DIM TEXT";
static char apptxt[3][132+1] = {"APPENDED TEXT",
"APP TXT LINE 2",
"APP TXT LINE 3"};
char stat_msg[133];
tag_t wcs, arc_tag, dimension_tag;
UF_CURVE_arc_t arc_coords;
UF_DRF_object_t arc;
UF_DRF_text_t drf_text;
status = UF_initialize();
if (!status)
{
/* initialize the object structure */
UF_DRF_init_object_structure(&arc);
/* load drf_text specification */
drf_text.user_dim_text = dimtxt;
drf_text.lines_app_text = 3;
drf_text.appended_text = apptxt;
/* create an arc */
UF_CSYS_ask_wcs(&wcs);
UF_CSYS_ask_matrix_of_object(wcs, &arc_coords.matrix_tag);
arc_coords.start_angle = 0.0;
arc_coords.end_angle = 1.5 * PI;
arc_coords.arc_center[0] = 15.0;
arc_coords.arc_center[1] = 15.0;
arc_coords.arc_center[2] = 0.0;
arc_coords.radius = 3.0;
status = UF_CURVE_create_arc(&arc_coords, &arc_tag);
}
if (!status)
{
/* create a radius dimension */
arc.object_tag = arc_tag;
arc.object_view_tag = NULL_TAG;
arc.object_assoc_type = UF_DRF_arc_center;
arc.object_assoc_modifier = 0;
status = UF_DRF_create_radius_dim(&arc, &drf_text, origin,
&dimension_tag);
}
printf("UF_DRF_create_radius_dim ");
if (status)
{
UF_get_fail_message(status, stat_msg);
printf("has ERROR %d: %s.\n", status, stat_msg);
}
else
printf("is successful.\n");
UF_terminate();
}
[/quote]