uf5940 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns a matrix to map coordinates from one coordinate system to another.
NOTE: rp1 and rp2 are invalid when they contain a zero direction vector, or
the X and Y vectors are parallel.

返回
void.

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5940
(
double ref_csys [ 9 ] ,
double dest_csys [ 9 ] ,
double matrix [ 12 ] ,
int * status
)
double (实数型)ref_csys [ 9 ] Input(输入)Real Data For Reference Coordinate System
rp1[0-2] is the origin in absolute coordinates.
rp1[3-8] are the X and Y vectors in absolute coordinates.
double (实数型)dest_csys [ 9 ] Input(输入)Real Data For Destination Coordinate System
rp2[0-2] is the origin in absolute coordinates.
rp2[3-8] are the X and Y vectors in absolute coordinates.
double (实数型)matrix [ 12 ] Output(输出)Resulting Matrix. This must be declared to hold 12 doubles.
int * (整数型指针)statusOutput(输出)Status Code
0 = Success
1 = rp1 Is Invalid
2 = rp2 Is Invalid

 


 
uf5941 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns the transformation of a position. No new objects are created here.

When rp2 is the "Change Coordinate" matrix (from UF5940), ra1 should be a
position with respect to the reference coordinate system in the input in order
to get back ra1 as a position with respect to the destination coordinate system
in the output. When rp2 is any other type of transformation matrix, ra1 should
be a position in the absolute coordinates. The output in ra1 is then a
transformed position in absolute coordinates as well.

返回
void.

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5941
(
double ra1 [ 3 ] ,
double rp2 [ 12 ]
)
double (实数型)ra1 [ 3 ] Input / OutputPosition/ Transformed Position
double (实数型)rp2 [ 12 ] Input(输入)Defined Transformation Matrix. This must be declared
to hold 12 doubles.

 


 
uf5942 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns a product of two previously defined transformation matrices.

This is not a math routine to multiply any 2 matrices. The input matrices are
transformation matrices only, and the product is the compound transformation
matrix.

返回
void.

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5942
(
double matrix1 [ 16 ] ,
double matrix2 [ 16 ] ,
double product [ 16 ]
)
double (实数型)matrix1 [ 16 ] Input(输入)Matrix Number 1. This must be a 16 element
array.
double (实数型)matrix2 [ 16 ] Input(输入)Matrix Number 2. This must be a 16 element
array.
double (实数型)product [ 16 ] Output(输出)Product Matrix. This must be a 16 element
array.

 


 
uf5943 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns a matrix to perform a linear transformation a delta distance along the
X-, Y-, and Z- axes of the absolute coordinate system.

返回
void.

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5943
(
double translation [ 3 ] ,
double matrix [ 16 ]
)
double (实数型)translation [ 3 ] Input(输入)Distance To Translate
rp1[0-2] contains Dx, Dy and Dz respectively.
double (实数型)matrix [ 16 ] Output(输出)Translation Matrix. This must be a 16 element
array.

 


 
uf5944 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns a matrix to perform a scaling, uniform or non-uniform, about an
arbitrary origin.

返回
void.

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5944
(
int * type,
double scales [ 3 ] ,
double origin [ 3 ] ,
double matrix [ 16 ] ,
int * status
)
int * (整数型指针)typeInput(输入)Type
1 - Uniform
2 - Non-Uniform
double (实数型)scales [ 3 ] Input(输入)Scaling Factors.
rp2[0] is Sx (or factors when type=1)
rp2[1] is Sy (not used when type=1)
rp2[2] is Sz (not used when type=1).
double (实数型)origin [ 3 ] Input(输入)Scaling Origin (Absolute Coordinates)
double (实数型)matrix [ 16 ] Output(输出)Scaling Matrix. This must be declared to hold
16 doubles.
int * (整数型指针)statusOutput(输出)Status Code
0 - Success
1 - Scaling Factor Is Not Greater Than Zero
2 - Invalid Option

 


 
uf5945 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns a matrix to perform a rotation around an arbitrary axis.

返回
void

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5945
(
double origin [ 3 ] ,
double direction [ 3 ] ,
double * degrees_rotation,
double matrix [ 16 ] ,
int * status
)
double (实数型)origin [ 3 ] Input(输入)Origin Of The Axis - Absolute Coordinates
double (实数型)direction [ 3 ] Input(输入)Direction Vector - Absolute Coordinates
double * (实数型指针)degrees_rotationInput(输入)Rotation Angle In Degrees
double (实数型)matrix [ 16 ] Output(输出)Rotation Matrix. This must be declared to hold
16 doubles.
int * (整数型指针)statusOutput(输出)Status Code
0 - Success
1 - Direction Vector Is A Zero Vector

 


 
uf5946 (查看源代码)
 
定义在: uf_trns.h
 
概述
Returns a matrix to perform a reflection through a line or a plane.

When the line is perpendicular to the XY plane there is an infinite number of
planes that pass through the line and are perpendicular to the XY plane;
therefore, error code = 2.

返回
void

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5946
(
tag_t * object,
double matrix [ 16 ] ,
int * status
)
tag_t * (tag_t型的指针)objectInput(输入)Line Or Plane Object Identifier
double (实数型)matrix [ 16 ] Output(输出)Mirror matrix. This must be declared to hold 16
doubles.
int * (整数型指针)statusOutput(输出)Status Code
0 - Success
1 - Invalid Line Or Plane Object Identifier
2 - Unique Plane Through Line Cannot Be Defined

 


 
uf5947 (查看源代码)
 
定义在: uf_trns.h
 
概述
Transform objects according to a previously defined matrix. The matrix should
be defined by calls to uf5942-uf5946.

The upper limit on the number of objects to transform is 32767. The object
types supported for non-uniform scaling are the same as those supported by
non-uniform scaling in interactive NX.

返回
void

环境
Internal & External
 
需要许可证(S)
gateway (UG入口基本模块,Gateway是所有其它Uuigraphics模块的一个必要条件)

 
void uf5947
(
const double rp1 [ 16 ] ,
const tag_t objects [ ] ,
const int * n_objects,
const int * move_or_copy,
const int * dest_layer,
const int * trace_curves,
tag_t * copies,
tag_t * trace_curve_group,
int * status
)
const doublerp1 [ 16 ] Input(输入)Defined Transformation Matrix. This must be
a 16 element array. This array should be
initialized using the functions uf5942-uf5946
to produce the required transformation.
const tag_tobjects [ ] Input(输入)Array of object identifiers.
const int *n_objectsInput(输入)Number of objects in objects array.
const int *move_or_copyInput(输入)Move/Copy Status
1 - Move
2 - copy.
const int *dest_layerInput(输入)Destination Layer,
0 - the original layer,
-1 - the work layer
1 - 256 - the specified layer
const int *trace_curvesInput(输入)Trace Curve Status, 1 means on, 2 means off.
tag_t * (tag_t型的指针)copiesOutput(输出)List of copied object identifiers. This is
not used when move_or_copy is equal to 1 (move).
When move_or_copy is 2 (copy), this must be dimensioned
by the caller as large enough to contain the same number
of objects that are in the objects array.
tag_t * (tag_t型的指针)trace_curve_groupOutput(输出)Group of trace curves. This is not used when
the trace_curves input is set to 2 (off).
int * (整数型指针)statusOutput(输出)Status Code
0 - Success
1 - Too Many Or Too Few Entities To
Transform
2 - Invalid Parameter
3 - Invalid Object (Not Alive Or Not
Transformable)
4 - Shear Matrix With Non-shearable
Objects In The List
5 - Modeling update error
6 - Error adding modeling data to copied solid
7 - Cannot scale parametric solid
8 - Transformation is unsuitable for the object
9 - Cannot scale developed curve
10 - Cannot mirror solid
11 - Cannot transform occurrence
12 - Cannot transform sketches or sketch curves

 


 
UF_MODL_ask_entity_parents (查看源代码)
 
定义在: uf_trns.h
 
概述
The following function will check if there are any parents with input entities.
If input entities have parents, the parent entities will be collected

返回
Error code

环境
Internal & External

历史
Originally released in NX502
 
需要许可证(S)
solid_modeling

 
int UF_MODL_ask_entity_parents
(
int num_entities,
tag_t * entities,
logical * found_parent,
int * num_parent_entities,
tag_t * * parent_entities
)
int (整数型)num_entitiesInput(输入)- number of entries in following array
tag_t * (tag_t型的指针)entitiesInput(输入)- array of entities to transform
logical *found_parentOutput(输出)- if found_parent = false, found no parents
if found_parent = true, found parents
int * (整数型指针)num_parent_entitiesOutput(输出)- if found_parent = true, the number of parent entities will be output
tag_t * *parent_entitiesOutput to be freed
输出并释放
- if found_parent = true, the parent entities will be output
call UF_free to free parent_entities only if found_parent = true

 


 
UF_MODL_transform_entities (查看源代码)
 
定义在: uf_trns.h
 
概述
The following function will transform the input entities
and all of its parents.
It supports input entities from diffferent components in assembly context.
The component of input entity will be fully loaded after transforming if it's partially loaded.

返回
Error code

环境
Internal & External

历史
Originally released in NX502
 
需要许可证(S)
solid_modeling

 
int UF_MODL_transform_entities
(
int num_entities,
tag_t * entities,
double matrix [ 16 ]
)
int (整数型)num_entitiesInput(输入)- number of entries in following array
tag_t * (tag_t型的指针)entitiesInput(输入)- array of entities to transform
double (实数型)matrix [ 16 ] Input(输入)- matrix defining transform