1. 程式人生 > 實用技巧 >NX二次開發-座標系轉換

NX二次開發-座標系轉換

NX二次開發-座標系轉換

  1. 從CSYS轉換到ACS;
 1 void MapPointFromCsysToAcs(tag_t csys, double* point)
 2 {
 3     if (NULL_TAG == csys)
 4     {
 5         return;
 6     }
 7 
 8     double csysOrigin[3] = { 0.0 };
 9     tag_t matrixTag = NULL;
10     double csysMatrix[9] = { 0.0 };
11     UF_CSYS_ask_csys_info(csys, &matrixTag, csysOrigin);
12 UF_CSYS_ask_matrix_values(matrixTag, csysMatrix); 13 UF_MTX3_vec_multiply_t(point, csysMatrix, point); 14 UF_VEC3_add(point, csysOrigin, point); 15 }
  1. 從ACS轉換到CSYS。
 1 void MapPointFromAcsToCsys(tag_t csys, double* point)
 2 {
 3     if (NULL_TAG == csys)
 4     {
 5         return;
6 } 7 8 double csysOrigin[3] = { 0.0 }; 9 tag_t matrixTag = NULL_TAG; 10 double csysMatrix[9] = { 0.0 }; 11 UF_CSYS_ask_csys_info(csys, &matrixTag, csysOrigin); 12 UF_CSYS_ask_matrix_values(matrixTag, csysMatrix); 13 UF_VEC3_sub(point, csysOrigin, point); 14 UF_MTX3_vec_multiply(point, csysMatrix, point);
15 }