UF_CURVE_create_proj_curves1
Defined in: uf_curve.h
int UF_CURVE_create_proj_curves1(int n_curve_refs, tag_t * curve_refs, int n_face_refs, tag_t * face_refs, int copy_flag, UF_CURVE_proj1_p_t proj_data, tag_t * proj_curve_feature )
overview 概述
Creates projection curves.
Objects to project may be points, curves, sketch feature identifiers, or other projected curve feature identifiers. The "number of curves and points" is the number of such object tags (and does not include the numbers of curves in any sketch or projection curve feature).
For copy_flag=1 or 2, a group identifier is returned. You can perform operations on the entire group or extract individual curves from the group and operate on them.
CAUTION: Because multiple projection curves can be returned for single defining curves, no attempt is made to assure that the order of the output curves in the group corresponds to the order of the input curves. If the order is important, for copy_flag = 1 or 2, the curves should be projected one at a time.
NOTE: The Along Vector option (proj_type = 3) projects the selected objects along a specified vector. You can project the curves in the direction indicated by the vector by setting the multiplicity to 1 (single), or in both directions by setting the multiplicity to 2 (both). The Along Vector option produces all possible images on the face.
CAUTION: For copy_flag = 2 (move), new curves/points are created and the original curves/points are deleted. For a projected curve feature created using copy_flag=3, the feature can be deleted using UF_MODL_delete_feature. Individual projection curves of the feature can not be deleted.
UF_MODL_move_feature can be used to move the projected curve feature.
Points can not be projected using "angle and vector" (proj_type = 4) or "equal arc length" (proj_type =6).
NOTE: You can change the tolerance used to create a curve projection by using the subroutine UF_MODL_set_distance_tolerance. The projection along face normals or along a vector produces an exact projection when projecting onto a plane.
创建投影曲线。要投影的对象可以是点、曲线、草图特征标识符或其他投影曲线特征标识符。“曲线和点的数量”是这样的对象标签的数量(不包括任何草图或投影曲线特征中的曲线数量)。对于 copy _ Flag = 1或2,返回一个组标识符。您可以对整个组执行操作,或者从组中提取单个曲线并对它们进行操作。注意: 由于单条定义曲线可以返回多条投影曲线,因此没有尝试确保组中输出曲线的顺序与输入曲线的顺序相对应。如果顺序很重要,对于 copy _ Flag = 1或2,曲线应该一次投影一条。注意: 沿向量选项(proj _ type = 3)沿着指定的向量投影选定的对象。您可以通过将多样性设置为1(单一) ,或者通过将多样性设置为2(两者) ,将曲线投影到矢量指示的方向上。沿向量选项生成脸上所有可能的图像。注意: 对于 copy _ Flag = 2(move) ,将创建新的曲线/点,并删除原始曲线/点。对于使用 copy _ Flag = 3创建的投影曲线特性,可以使用 UF _ MODL _ delete _ Feature 删除该特性。不能删除特征的个别投影曲线。UF _ MODL _ move _ Feature 可以用来移动投影曲线特征。点不能使用“角度和向量”(proj _ type = 4)或“等弧长”(proj _ type = 6)进行投影。注意: 您可以通过使用子例程 UF _ MODL _ set _ range _ 更改用于创建曲线投影的公差。沿面法线或向量的投影在投影到平面上时产生精确的投影。
UFUN例子
获取源码例子请搜索 里海NX二次开发3000例专栏
parameters 参数
| int | n_curve_refs | Input | Number of curves and points 曲线和点数 |
| tag_t * | curve_refs | Input | Array of curve and point identifiers. 曲线和点标识符数组。 |
| int | n_face_refs | Input | Number of sheet bodies, faces and planes 板体、面和平面数 |
| tag_t * | face_refs | Input | Array of plane, datum plane, face or sheet body identifiers. 平面、基准面、面或板体标识符阵列。 |
| int | copy_flag | Input | Copy flag: 1 = copy 2 = move 3= associate 复制标志: 1 = 复制2 = 移动3 = 关联 |
| UF_CURVE_proj1_p_t | proj_data | Input | Pointer to projection curve data structure. See documentation of UF_CURVE_proj1_s for entries. 指向投影曲线数据结构的指针。参见 UF _ CURVE _ proj1 _ s 文档中的条目。 |
| tag_t * | proj_curve_feature | Output | Group identifier for copy_flag = 1 or 2, Projected curve feature identifier for copy_flag=3 组标识符为 copy _ Flag = 1或2,投影曲线特征标识符为 copy _ Flag = 3 |