购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_DRF_create_sym_cline( UF_DRF_object_p_t object1, UF_DRF_object_p_t object2, tag_t* centerline_tag) 函数说明:
创建并显示一个对称中心线(中心线型)DRF_symmetrical_cline的。
函数参数:
第1个参数为输入:
object1代表参数变量,UF_DRF_object_p_t 为输入参数类型,相关中心线第一个对象(见uf_drf_types.h)有效的对象类型:点,弧,实线
第2个参数为输入:
object2代表参数变量,UF_DRF_object_p_t 为输入参数类型,关联到中心线第二物体
第3个参数为输出:
centerline_tag代表参数变量,tag_t* 为输出参数类型,创建中心线的对象标记
UF_DRF_create_sym_cline函数实例代码演示:
这个例子创建一个对称中心线。
[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;
char stat_msg[133];
tag_t wcs, arc1_tag, arc2_tag, cl_tag;
UF_CURVE_arc_t arc_coords;
UF_DRF_object_t object1, object2;
status = UF_initialize();
if (!status)
{
/* initialize the object structures */
UF_DRF_init_object_structure(&object1);
UF_DRF_init_object_structure(&object2);
/* create two arcs */
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 = TWOPI;
arc_coords.arc_center[0] = 10.0;
arc_coords.arc_center[1] = 10.0;
arc_coords.arc_center[2] = 0.0;
arc_coords.radius = 1.0;
status = UF_CURVE_create_arc(&arc_coords, &arc1_tag);
}
if (!status)
{
arc_coords.arc_center[0] = 15.0;
arc_coords.arc_center[1] = 15.0;
status = UF_CURVE_create_arc(&arc_coords, &arc2_tag);
}
if (!status)
{
object1.object_tag = arc1_tag;
object1.object_view_tag = NULL_TAG;
object1.object_assoc_type = UF_DRF_end_point;
object1.object_assoc_modifier = UF_DRF_first_end_point;
object2.object_tag = arc2_tag;
object2.object_view_tag = NULL_TAG;
object2.object_assoc_type = UF_DRF_end_point;
object2.object_assoc_modifier = UF_DRF_first_end_point;
/* create a symmetrical centerline */
status = UF_DRF_create_sym_cline(&object1, &object2,
&cl_tag);
}
printf("UF_DRF_create_sym_cline ");
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]