点击查看详细介绍

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

misnn 9年前 806 0

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


函数结构:
UF_ASSEM_add_to_cset
(
tag_t cset,
tag_t component,
logical level
)

函数说明:
允许您将组件添加到现有的组件集。您可以在单级(级别= FALSE)添加组件,其中,仅给定的组件将被添加到集合。或者,你可以添加各级组件(级别= TRUE),所有的孩子给定组件的组件也默认添加到组。这意味着,如果随后,该组件具有组件添加或删除时,变化也反映在组件集。

函数参数:
第1个参数为输入:
cset代表参数变量,tag_t 为输入参数类型,组件集的对象标识符

第2个参数为输入:
component代表参数变量,tag_t 为输入参数类型,要添加组件的对象标识符

第3个参数为输入:
level代表参数变量,logical 为输入参数类型,包括子组件切换

UF_ASSEM_add_to_cset函数实例代码演示:
下面的示例打开现有的装配部分,然后创建一个组件集,并添加所有的组件,各级明确地,所设定的。
[quote]
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <uf_defs.h>
#include <uf.h>
#include <uf_part.h>
#include <uf_assem.h>
static int cycle_components
(
tag_t component, /* Component to cycle I/O */
tag_t cset /* Component set to be modified I/O */
)
{
int inx, ifail = 0, component_count = 0;
tag_t *child_components = NULL;
logical level = FALSE;
if (component == NULL_TAG) return 0;
component_count = UF_ASSEM_ask_part_occ_children(component,
&child_components);
for (inx = 0; inx < component_count; inx++)
{
ifail = UF_ASSEM_add_to_cset(cset,
child_components[inx], level);
if (ifail == 0) ifail = cycle_components(child_components[inx],
cset);
else break;
}
UF_free(child_components);
return ifail;
}
/*ARGSUSED*/
extern void ufusr(char *name, int *rtcode, int rtlen)
{
/*
Short example of the use of creating component set in an
assembly
*/
int status = 0;
tag_t root_part_occ = NULL_TAG;
tag_t displayed_part = NULL_TAG;
tag_t cset = NULL_TAG;
static char* cset_name = "my_cset";
status = UF_initialize();
if(!status)
{
strcpy(name, "");
displayed_part = UF_PART_ask_display_part();
if (displayed_part != NULL_TAG)
{
root_part_occ = UF_ASSEM_ask_root_part_occ(displayed_part);
if (root_part_occ != NULL_TAG)
{
*rtcode = UF_ASSEM_create_cset(displayed_part, cset_name,
&cset);
if (*rtcode == 0)
{
*rtcode = cycle_components(root_part_occ, cset);
}
}
}
if (*rtcode == 0)
{
/*
This assumes we have successfully executed the program
*/
printf("The NX Open API program has succeeded\n"
" Return code is %d\n",*rtcode);
}
else
{
/*
This assumes we failed
*/
printf("The NX Open API program has failed\n"
" Return code is %d\n", *rtcode);
}
UF_terminate();
}
}




[/quote]

0

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