点击查看详细介绍

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

misnn 10年前 1369 0

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


函数结构:
UF_DRF_ask_centerline_info
(
tag_t centerline_tag,
UF_DRF_valid_cline_form_t * centerline_type,
double centerline_origin [ 3 ],
UF_DRF_centerline_info_p_t * centerline_info
)

函数说明:
返回中心线类型,中心线对象的数量,和中心线数据给出指定中心线标签。对于圆形和螺栓圆周中心线,则总是返回中心点方法为centerline_type。对于偏移中心线的圆柱形,UF_DRF_offcyl_cline总是返回centerline_type。使用UF_DRF_ask_associativity_data查询中心线的关联性数据包括相关的位置(S)的坐标。

函数参数:
第1个参数为输入:
centerline_tag代表参数变量,tag_t 为输入参数类型,中心线的标签

第2个参数为输出:
centerline_type代表参数变量,UF_DRF_valid_cline_form_t * 为输出参数类型,中心线的类型(见uf_drf_types.h)

第3个参数为输出:
输出double 双精度类型的参数,参数的变量格式为centerline_origin [ 3 ],中线起源

第4个参数为输出:
centerline_info代表参数变量,UF_DRF_centerline_info_p_t * 为输出参数类型,中线信息。这必须通过调用UF_DRF_free_centerline释放。

UF_DRF_ask_centerline_info函数实例代码演示:
在下面的示例中的代码查询中心线信息。
[quote]
#include <stdio.h>
#include <uf.h>
#include <uf_assem.h>
#include <uf_defs.h>
#include <uf_drf.h>
#include <uf_obj.h>
#include <uf_object_types.h>
#include <uf_part.h>
void ufusr(char *param, int *retcod, int param_len)
{
int ifail = 0;
int subtype, type;
tag_t centerline_tag = NULL_TAG;
char error_message[133] = "";
double centerline_origin[ 3 ];
UF_DRF_valid_cline_form_t centerline_type;
UF_DRF_centerline_info_t *centerline;

/* Initialize NX Open API. */
ifail = UF_initialize();
/* Find the tag to a drafting entity. */
ifail = UF_OBJ_cycle_objs_in_part( UF_ASSEM_ask_work_part(),
UF_drafting_entity_type,
¢erline_tag );
/* Retrieve the object subtype. */
if( !ifail && centerline_tag )
{
ifail = UF_OBJ_ask_type_and_subtype( centerline_tag,
&type, &subtype );
}

/* Test centerline subtype. */
if( !ifail && ( subtype >= UF_draft_linear_cntrln_subtype
&& subtype <= UF_draft_sym_cntrln_subtype ))
{
ifail = UF_DRF_ask_centerline_info ( centerline_tag,
¢erline_type,
¢erline_origin[0],
¢erline );
/* Free the memory that contains centerline information.*/
if( !ifail )
{
UF_DRF_free_centerline( ¢erline );
}
}
printf( "UF_DRF_ask_centerline_info sample " );
if( ifail )
{
ifail = UF_get_fail_message( ifail, error_message );
printf( "fails.\nError is: %s\n", error_message );
}
else
printf( "is successful.\n" );
UF_terminate();
}



[/quote]

0

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