点击查看详细介绍

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

misnn 10年前 1478 0

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


函数结构:
UF_MODL_create_boss
(
double location [ 3 ],
double direction [ 3 ],
char * diame,
char * height,
char * angle,
tag_t face,
tag_t * feature_obj_id
)

函数说明:
使用给老板出身,方向,直径老板的功能,高度,刀尖角度,和位置的脸。放置面用于确定哪些面对老板关联。此输出功能是相关联的老板的对象标识符。

函数参数:
第1个参数为输入:
输入double 双精度类型的参数,参数的变量格式为location [ 3 ],老大的位置。

第2个参数为输入:
输入double 双精度类型的参数,参数的变量格式为direction [ 3 ],老大的方向。

第3个参数为输入:
输入char * 字符类型的参数,参数的变量格式为diame,老板直径。

第4个参数为输入:
输入char * 字符类型的参数,参数的变量格式为height,老板的高度。

第5个参数为输入:
输入char * 字符类型的参数,参数的变量格式为angle,老板刀尖角度。

第6个参数为输入:
face代表参数变量,tag_t 为输入参数类型,面临的RPO约束(可能是一个基准面)

第7个参数为输出:
feature_obj_id代表参数变量,tag_t * 为输出参数类型,创建老板的功能对象标识符

UF_MODL_create_boss函数实例代码演示:
描述此功能是展示一个小样本程序UF_MODL_create_boss,UF_MODL_create_rect_pad的调用,和UF_MODL_create_rect_pocket。它被放置我们直接文档UFUN在开始的包括语句。
[quote]
#include <stdio.h>
#include <uf.h>
#include <uf_defs.h>
#include <uf_modl.h>
#include <uf_modl_primitives.h>
#include <uf_part.h>

/* ARGSUSED */
void ufusr(char *param, int *retcod, int param_len)
{
int ifail=0;
int units=1; /*1=metric, 2=english*/
char error_message[MAX_LINE_SIZE + 1];
char * prtnam = "cre_fea_by_dtm_tst";
char * blk_edg_len[3] = {"50", "60", "70"};
char * pad_size[3]={"5","6","5.5"};
char * pock_len[3]={"6.2","6.3","6.4"};
char * boss_diam="5";
char * boss_height="6";
char * boss_ang="10";
char * pad_corner="1";
char * pad_ang="10";
char * pock_corner="3";
char * pock_floor=".1";
char * pock_ang="5";
tag_t blk_tag;
tag_t targ_tag=NULL_TAG;
tag_t plane_tag;
tag_t boss_tag;
tag_t pad_tag;
tag_t pock_tag;
tag_t part_tag;
double blk_corner[3] = {0,0,0};
double planepnt[3]={0,0,0};
double planedir[3]={1,0,0};
double boss_loc[3]={0,45,65};
double boss_dir[3]={-1,0,0};
double pad_loc[3]={0,45,15};
double pad_dir[3]={-1,0,0};
double pad_x_dir[3]={0,0,-1};
double pock_loc[3]={0,45,35};
double pock_dir[3]={1,0,0};
double pock_x_dir[3]={0,0,-1};

ifail = UF_initialize();

if( !ifail )
{
/* Create new part. */
ifail = UF_PART_new( prtnam, units, &part_tag );
}

if( !ifail )
{
/* Create block. */
ifail = UF_MODL_create_block( UF_NULLSIGN, targ_tag,
blk_corner, blk_edg_len,
&blk_tag );
}

if( !ifail )
{
/* Create fixed datum plane. */
ifail = UF_MODL_create_fixed_dplane( planepnt, planedir,
&plane_tag );
}

if( !ifail )
{
/* Create Boss */
ifail = UF_MODL_create_boss( boss_loc, boss_dir, boss_diam,
boss_height, boss_ang, plane_tag,
&boss_tag );
}

if( !ifail )
{
/* Create Pad */
ifail = UF_MODL_create_rect_pad( pad_loc, pad_dir, pad_x_dir,
pad_size, pad_corner, pad_ang,
plane_tag, &pad_tag);
}

if( !ifail )
{
/* Create Pocket */
ifail = UF_MODL_create_rect_pocket( pock_loc, pock_dir,
pock_x_dir,pock_len,
pock_corner, pock_floor,
pock_ang, plane_tag, &pock_tag);
}

printf( "UF_MODL_cre_fea_by_dtm sample " );
if( ifail )
{
ifail = UF_get_fail_message( ifail, error_message );
printf( "fails.\nError is: %s\n", error_message );
}
else
printf( "is successful.\n" );

ifail = UF_terminate();

}



[/quote]

0

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