workpieceHolePositioning v1.1.0

对工件姿态规范化为中心点(操作点)加三个方向矢量
This commit is contained in:
jerryzeng 2026-01-31 14:36:54 +08:00
parent 7a4be26602
commit 7b66de6dd7
2 changed files with 10 additions and 5 deletions

View File

@ -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;

View File

@ -19,9 +19,9 @@ typedef struct
std::vector<SVzNL3DPoint> holes;
std::vector<SVzNL3DPoint> 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;
//读版本号