点击查看详细介绍

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

misnn 9年前 938 0

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


函数结构:
UF_DRF_create_id_symbol
(
UF_DRF_id_symbol_type_t id_symbol_type,
const char* upper_text_string,
const char* lower_text_string,
double origin_3d [ 3 ],
UF_DRF_leader_mode_t leader_mode,
UF_DRF_leader_attach_type_t leader_attach_type,
UF_DRF_object_p_t object,
double model_pos_3d [ 3 ],
tag_t* id_symbol_tag
)

函数说明:
创建并显示一个ID符号。

函数参数:
第1个参数为输入:
id_symbol_type代表参数变量,UF_DRF_id_symbol_type_t 为输入参数类型,ID符号类型UF_DRF_sym_circle=圈UF_DRF_sym_divcir=分圈UF_DRF_sym_square=平方UF_DRF_sym_divsqr=分为方形UF_DRF_sym_hexagon=六角UF_DRF_sym_divhex=分六边形UF_DRF_sym_triup=三角形,点起来UF_DRF_sym_tridown=三角形,点下去UF_DRF_sym_datum=基准目标UF_DRF_sym_roundbox=圆角盒

第2个参数为输入:
输入const char* 字符类型的参数,参数的变量格式为upper_text_string,上面的文本字符串(最大长度MAX_ID_SYM_TEXT字符)

第3个参数为输入:
输入const char* 字符类型的参数,参数的变量格式为lower_text_string,下面的文本字符串(最大长度MAX_ID_SYM_TEXT字符)

第4个参数为输入:
输入double 双精度类型的参数,参数的变量格式为origin_3d [ 3 ],在WCS坐标3D对象原点

第5个参数为输入:
leader_mode代表参数变量,UF_DRF_leader_mode_t 为输入参数类型,利达模式UF_DRF_without_leader=无领导UF_DRF_with_leader=与领导者

第6个参数为输入:
leader_attach_type代表参数变量,UF_DRF_leader_attach_type_t 为输入参数类型,利达附件类型UF_DRF_leader附加对象=连接对象UF_DRF_leader_attach屏幕=屏幕位置

第7个参数为输入:
object代表参数变量,UF_DRF_object_p_t 为输入参数类型,对象的数据附加领袖(见uf_drf_types.h)有效的对象类型:点,线,弧,二次曲线,三次样条,B曲线,实线。如果leader_attach_type是UF_DRF_leader_attach_screen,则对象= NULL。

第8个参数为输入:
输入double 双精度类型的参数,参数的变量格式为model_pos_3d [ 3 ],3D模型空间中的位置。如果leader_attach_type= UF_DRF_leader_attach_object,这个位置被用作近似点在对象上附加的领导者如果leader_attach_type= UF_DRF_leader_attach_screen,这一立场是领导者的终点

第9个参数为输出:
id_symbol_tag代表参数变量,tag_t* 为输出参数类型,创建ID符号的对象标记。

UF_DRF_create_id_symbol函数实例代码演示:
这个例子创建一个ID符号。
[quote]
#include <stdio.h>
#include <string.h>
#include <uf.h>
#include <uf_defs.h>
#include <uf_drf.h>
#include <uf_curve.h>
void ufusr(char *param, int *retcod, int param_len)
{
int status = 0;
static double origin[3] = {22.0, 3.0, 0.0};
static double base_pt[3] = {20.0, 5.0, 0.0};
char text[10][132+1];
char stat_msg[133];
tag_t base_pt_tag, text_aid_tag;
UF_DRF_object_t object;
status = UF_initialize();
if (!status)
{
/* initialize the object structures */
UF_DRF_init_object_structure(&object);
/* create a base point */
status = UF_CURVE_create_point(base_pt, &base_pt_tag);
}
if (!status)
{
/* create an id symbol */
strcpy(text[0], "ID SYMBOL");
strcpy(text[1], "LOWER");
object.object_tag = base_pt_tag;
object.object_view_tag = NULL_TAG;
object.object_assoc_type = UF_DRF_end_point;
object.object_assoc_modifier = UF_DRF_first_end_point;
status = UF_DRF_create_id_symbol(UF_DRF_sym_divhex,
text[0], text[1], origin, UF_DRF_with_leader,
UF_DRF_leader_attach_object, &object, base_pt,
&text_aid_tag);
}
printf("UF_DRF_create_id_symbol ");
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]

0

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