NX二次开发UF_MODL_create_extrusion_dir 函数介绍

110 阅读3分钟

UF_MODL_create_extrusion_dir

Defined in: uf_modl_sweep.h 
int UF_MODL_create_extrusion_dir(tag_t * extrude_array, int extrude_count, UF_MODL_SWEEP_TRIM_object_p_t trim_ptr, UF_MODL_SWEEP_TRIM_OPTS trim_options, char * taper_angle, char * limits [ 2 ] , char * offsets [ 2 ] , double region_point [ 3 ] , logical cut_specified, logical solid_body_creation, tag_t datum_eid, UF_FEATURE_SIGN sign, tag_t * * objects, int * object_count )

overview 概述

Creates an extruded feature. This function behaves like UF_MODL_create_extrusion, except that the extruded direction is determined by the direction of the input datum. The resulting body is a solid if the input string is closed and the solid_creation option is TRUE. Otherwise a sheet body results. A sheet can not be tapered and the taper_angle must be set to 0.0. The UF_MODL_SWEEP_TRIM_object structure is used to define the trim objects. The trim_options is used to define the trim options if the UF_MODL_SWEEP_TRIM_object structure is specified.

The limits of extrusion are valid only if the UF_MODL_SWEEP_TRIM_object structure is not specified (NULL). The region point corresponds to the point chosen after selecting intersecting objects. If the region_point_specified is false then the region point is ignored.


创建一个挤压特性。这个函数的行为类似于 UF _ MODL _ create _  挤压,只不过挤压的方向是由输入数据的方向决定的。如果输入字符串是关闭的,并且 Solid _ create 选项为 TRUE,则生成的主体为实体。否则将产生工作表主体。纸张不能变细,而且锥度 _ 角必须设置为0.0。UF _ MODL _ SWEEP _ TRIM _ object 结构用于定义修剪对象。如果指定了 UF _ MODL _ SWEEP _ TRIM _ object 结构,则使用 trim _ options 定义 trim 选项。只有在未指定 UF _ MODL _ SWEEP _ TRIM _ object 结构(NULL)的情况下,挤压限制才有效。区域点对应于选择相交对象后所选择的点。如果 region _ point _ spected 为 false,则忽略该区域点。

UFUN例子

获取源码例子请搜索 里海NX二次开发3000例专栏

parameters 参数

tag_t *extrude_arrayInputList of objects to be extruded.
要挤压的对象列表。
intextrude_countInputCount of the objects to be extruded.
要挤压的物体的数量。
UF_MODL_SWEEP_TRIM_object_p_ttrim_ptrInputThe structure that contains the trimming data.
包含裁剪数据的结构。
UF_MODL_SWEEP_TRIM_OPTStrim_optionsInputTrimming options: DO_NOT_EXTEND_TRIM_FACE = do not extend the trimming face, DO_NOT_EXTEND_AND_EXTEND_TRIM_FACE = first do not extend the trimming face and perform boolean operation. If fails, extend the trimming face and perform boolean. EXTEND_FIRST_TRIM_FACE = extend the first trimming face, EXTEND_SECOND_TRIM_FACE = extend the second trimming face, EXTEND_BOTH_TRIM_FACES = extend both trimming faces
修剪选项: DO _ NOT _ EXTEND _ TRIM _ FACE = 不要扩展修剪面,DO _ NOT _ EXTEND _ AND _ EXTEND _ TRIM _ FACE = 首先不要扩展修剪面并执行布尔运算。如果失败,扩大修整面和执行布尔。EXTEND _ FIRST _ TRIM _ FACE = 延伸第一修边面,EXTEND _ SECOND _ TRIM _ FACE = 延伸第二修边面,EXTEND _ BOTH _ TRIM _ FACE = 延伸两个修边面
char *taper_angleInputThe taper angle for the extrusion.
挤压用锥角。
char *limits [ 2 ]Inputextrude_count The limits of the extrusion. Only used if the trim_ptr argument is NULL.
挤压的限制。只有在 trime _ ptr 参数为 NULL 时才使用。
char *offsets [ 2 ]InputThe offsets for open strings
开放字符串的偏移量
doubleregion_point [ 3 ]InputThe point on the region desired.
所需区域上的点。
logicalcut_specifiedInputTRUE or FALSE for region desired.
所需区域为真或假。
logicalsolid_body_creationInputIf TRUE, create solid bodies if the input string is closed. Otherwise sheet bodies will be created.
如果为 TRUE,则在输入字符串关闭时创建实体,否则将创建工作表实体。
tag_tdatum_eidInputObject identifier of a datum which will provide the direction of the extrusion.
数据的对象标识符,它将提供挤压的方向。
UF_FEATURE_SIGNsignInputThe sign of the operation to be performed: UF_POSITIVE = add to target solid UF_NEGATIVE = subtract from target solid UF_UNSIGNED = intersect with target solid
要执行的操作符号: UF _ POSITIVE = 加入到目标固体 UF _ NEGATIVE = 减去目标固体 UF _ UNSIGNED = 与目标固体相交
tag_t * *objectsOutput to UF_freeAn array of extruded feature tags. This must be freed by calling UF_free.
一个挤压的特性标签的数组。这必须通过调用 UF _ free 来释放。
int *object_countOutputThe number of features returned in the objects array.
在对象数组中返回的特性数。