购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_CURVE_create_isocline( int face_cnt, tag_t faces [ ], double direction [ 3 ], const char * start_angle, const char * end_angle, const char * step_angle, tag_t * isocline_feat) 函数说明:
创建一个新加入了曲线的功能,包括一个新的样条曲线表示加入曲线和边缘的输入列表中。曲线可以草图曲线。您加入可能没有曲线或边差距。建模距离和角度公差用于创建和验证所产生的样条曲线。建模精度可达通过UF_MODL_set_distance_tolerance或UF_MODL_set_angle_tolerance修改。
函数参数:
第1个参数为输入:
输入int 整数型的参数,参数的变量格式为face_cnt,面数
第2个参数为输入:
faces [ ]代表参数变量,tag_t 为输入参数类型,面阵列用于计算平衡线曲线
第3个参数为输入:
输入double 双精度类型的参数,参数的变量格式为direction [ 3 ],平衡线方向向量
第4个参数为输入:
输入const char * 字符类型的参数,参数的变量格式为start_angle,开始角度(-90到90度)
第5个参数为输入:
输入const char * 字符类型的参数,参数的变量格式为end_angle,结束角(-90?90度)
第6个参数为输入:
输入const char * 字符类型的参数,参数的变量格式为step_angle,步距角(NULL单角)
第7个参数为输出:
isocline_feat代表参数变量,tag_t * 为输出参数类型,新的特性标签
UF_CURVE_create_isocline函数实例代码演示:
下面的示例创建使用一个的平衡线曲线的特征面由用户选择。输出是曲线的家庭在角度0,30,60,和90度,相对于所述Y轴。
[quote]
#include <stdio.h>
#include <uf.h>
#include <uf_ui.h>
#include <uf_modl.h>
#include <uf_curve.h>
#include <uf_object_types.h>
void ufusr (char *param ,int *retcod, int param_len)
{
int rc, response;
tag_t view, iso_feat, faces[1] = {NULL_TAG};
double dir[3] = { 0.0, 1.0, 0.0 };
char *start = "0.0", *end = "90.0", *step = "30.0
";
double cursor[3];
UF_UI_selection_options_t opts;
UF_UI_mask_t mask =
{UF_solid_type, 0, UF_UI_SEL_FEATURE_ANY_FACE};
UF_initialize();
/* Ask user to select a face
*/
opts.other_options = 0;
opts.reserved = NULL;
opts.num_mask_triples = 1;
opts.mask_triples = &mask;
opts.scope = UF_UI_SEL_SCOPE_WORK_PART;
UF_UI_select_single( "Select Isocline Face",
&opts,
&response,
&faces[0],
cursor,
&view );
if ( faces[0] != NULL_TAG )
{
/* Create isocline feature on selected face
*/
rc = UF_CURVE_create_isocline( 1,
faces,
dir,
start,
end,
step,
&iso_feat );
}
UF_terminate();
}
[/quote]