函数名称:

UF_ASSEM_add_part_to_assembly

函数功能:

在父部件下添加一个部件实例。如果部件未加载,则将其加载到当前会话中。根据parts_list的开关的设置(参加UF_ASSEM_ask_assem_option和UF_ASSEM_option_s),实例会添加到部件列表中。

用户分配的结构error_status将填充已加载部件的名称及其关联错误代码。必须使用UF_free和UF_free_string_array释放已分配的数据。

如果refset_name是一个空指针或长度为零的字符串,则使用整个部件。如果instance_name是一个空指针或长度为零的字符串,则实例无名称。

函数原型:

int UF_ASSEM_add_part_to_assembly(tag_t parent_part, const char *part, const char *refset_name, const char *instance_name, double origin[3], double csys_matrix[6], int layer, tag_t *instance, UF_PART_load_status_t *error_status)

参数说明:

parent_part(Input): 将添加零件的父部件标识

part(Input): 零件名称,零件名称可以包含路径,字符数不能超过MAX_FSPEC_NCHARS

refset_name(Input): 要在组件使用的引用集名称,refset_name不能超过UF_OBJ_NAME_NCHARS,不能包含路径,并且不应具有文件扩展名

instance_name(Input): 新实例的名称,instance_name不能超过UF_OBJ_NAME_NCHARS,不能包含路径,并且不应具有文件扩展名

origin[3](Input): 新创建的实例在父部件中的位置

csys_matrix[6](Input): 实例方向

layer(Input): -1使用原图层, 0使用工作图层, 1-255使用指定图层

instance(Output): 在工作部件中的新实例标识

error_status(Output to UF_*free*): 由名称和相关错误代码组成的结构体,此数组必须使用UF_free_string_array和UF_free释放。有关释放此结构的详细信息,请参阅UF_PART_load_status_t结构体的描述

注意事项:

1.从NX3开始使用UF_PART_free_load_status函数替代UF_free_string_array和UF_free来释放error_status。例如,UF_PART_free_load_status(&error_status)

2.如果路径所指的文件名不存在将报错。

3.参数parent_part只能接收类型为原型的标识,如果输入NULL_TAG或实例及事例,函数将报错