NX二次开发-UFUN CSYS坐标系转换UF_CSYS_map_point

NX二次开发-UFUN CSYS坐标系转换UF_CSYS_map_point

NX9+VS2012

#include 
#include 
#include 
#include 


UF_initialize();

//创建向量方向
double Vec[3] = { 10.0, 23.5, 75.8 };

//3*3矩阵,输入Z向量,得到矩阵
double Mtx[9];
UF_MTX3_initialize_z(Vec, Mtx);

//创建矩阵
tag_t MatrixTag = NULL_TAG;
UF_CSYS_create_matrix(Mtx, &MatrixTag);

//创建临时坐标系
double P1[3] = { 0.0, 0.0, 0.0 };//直线起点
tag_t CsysTag = NULL_TAG;
UF_CSYS_create_temp_csys(P1, MatrixTag, &CsysTag);

//设置WCS
UF_CSYS_set_wcs(CsysTag);

//创建直线终点
double P2[3] = { P1[0], P1[1], P1[2] + 100 };

//从当前工作坐标系转换到绝对坐标系
int InputCsys = UF_CSYS_ROOT_WCS_COORDS;
int OutputCsys = UF_CSYS_ROOT_COORDS;
double OutputPoint[3];
UF_CSYS_map_point(InputCsys, P2, OutputCsys, OutputPoint);

//创建直线
UF_CURVE_line_t LineCoods;
LineCoods.start_point[0] = P1[0];
LineCoods.start_point[1] = P1[1];
LineCoods.start_point[2] = P1[2];
LineCoods.end_point[0] &

你可能感兴趣的:(9块9抄NX二次开发代码,UG/NX二次开发)