diff --git a/sourceCode/workpieceHolePositioning.cpp b/sourceCode/workpieceHolePositioning.cpp index a4a1c12..7a95067 100644 --- a/sourceCode/workpieceHolePositioning.cpp +++ b/sourceCode/workpieceHolePositioning.cpp @@ -7,7 +7,8 @@ //version 1.0.0 : base version release to customer //version 1.0.2 : 添加了工件姿态(欧拉角输出) -std::string m_strVersion = "1.0.2"; +//version 1.1.0 : c对工件姿态规范化为中心点(操作点)加三个方向矢量 +std::string m_strVersion = "1.1.0"; const char* wd_workpieceHolePositioningVersion(void) { return m_strVersion.c_str(); @@ -553,6 +554,10 @@ void wd_workpieceHolePositioning( vector_x.x = vector_y.y * vector_z.z - vector_z.y * vector_y.z; vector_x.y = vector_y.z * vector_z.x - vector_z.z * vector_y.x; vector_x.z = vector_y.x * vector_z.y - vector_z.x * vector_y.y; + workpiecePositioning[i].x_dir = vector_x; + workpiecePositioning[i].y_dir = vector_y; + workpiecePositioning[i].z_dir = vector_z; +#if 0 //得到旋转矩阵 double R[3][3]; R[0][0] = vector_x.x; @@ -566,9 +571,9 @@ void wd_workpieceHolePositioning( R[0][2] = vector_z.x; R[1][2] = vector_z.y; R[2][2] = vector_z.z; - SSG_EulerAngles eulerAngle = rotationMatrixToEulerZYX(R); workpiecePositioning[i].workpiecePose = eulerAngle; +#endif } return; diff --git a/sourceCode/workpieceHolePositioning_Export.h b/sourceCode/workpieceHolePositioning_Export.h index e7653fa..98e6019 100644 --- a/sourceCode/workpieceHolePositioning_Export.h +++ b/sourceCode/workpieceHolePositioning_Export.h @@ -19,9 +19,9 @@ typedef struct std::vector holes; std::vector holesDir; SVzNL3DPoint center; - SVzNL3DPoint z_dir; - SVzNL3DPoint y_dir; - SSG_EulerAngles workpiecePose; + SVzNL3DPoint z_dir; //z方向向量(归一化) + SVzNL3DPoint y_dir; //y方向向量(归一化) + SVzNL3DPoint x_dir; //x方向向量(归一化) }WD_workpieceInfo; //读版本号