Просмотр исходного кода

锁付点位矫正前增加Z坐标一致性检查

在自动矫正锁付点位前,新增对拍照引导点与锁付点位XY坐标一致时Z坐标差异的检查,并提示用户是否同步Z坐标,提升数据一致性与操作安全性。
孝锋 徐 8 месяцев назад
Родитель
Сommit
3b2cdf2072
1 измененных файлов с 36 добавлено и 0 удалено
  1. 36 0
      TeamAAS-VM/ViewModels/Product/PlcPointParamsViewModel.cs

+ 36 - 0
TeamAAS-VM/ViewModels/Product/PlcPointParamsViewModel.cs

@@ -1036,6 +1036,42 @@ namespace TeamAAS_VP.ViewModels.Product
                 {
                     return;
                 }
+                //获取螺丝相机拍照点位
+                var screwCameraPoint = SelectProduct.ScrewCameraPoints;
+                //获取相机拍照点对应的LocalPos
+                var screwCameraLocalPos1 = SelectProduct.ScrewCameraLocalPos1;
+                var screwCameraLocalPos2 = SelectProduct.ScrewCameraLocalPos2;
+                //获取螺丝锁付点位
+                var screwLockPoints = SelectProduct.ScrewPoints;
+                //检查screwLockPoints中是否有和screwCameraLocalPos1的XY坐标相同的点位
+                var matchingPoint = screwLockPoints.FirstOrDefault(p => p.X_Position == screwCameraLocalPos1.X_Position && p.Y_Position == screwCameraLocalPos1.Y_Position);
+                if (matchingPoint != null)
+                {
+                    //检查两个点位的Z是否一致?如果不一致,则提示用户锁付点位中有和锁付拍照引导起始点Local坐标相同的点位,且Z坐标不一致,是否将锁付拍照引导起始点Local坐标的Z轴坐标更新为锁付点位的Z坐标
+                    if (matchingPoint.Z_Position_Start != screwCameraLocalPos1.Z_Position_Start)
+                    {
+                        var resultUpdateZ = MessageBox.Show("锁付点位中有和锁付拍照引导起始点Local坐标相同的点位,且Z坐标不一致,是否将锁付拍照引导起始点Local坐标的Z轴坐标更新为锁付点位的Z坐标?", "确认", MessageBoxButton.YesNo, MessageBoxImage.Question);
+                        if (resultUpdateZ == MessageBoxResult.Yes)
+                        {
+                            screwCameraLocalPos1.Z_Position_Start = matchingPoint.Z_Position_Start;
+                        }
+                    }
+                }
+                //检查screwLockPoints中是否有和screwCameraLocalPos2的XY坐标相同的点位
+                matchingPoint = screwLockPoints.FirstOrDefault(p => p.X_Position == screwCameraLocalPos2.X_Position && p.Y_Position == screwCameraLocalPos2.Y_Position);
+                if (matchingPoint != null)
+                {
+                    //检查两个点位的Z是否一致?如果不一致,则提示用户锁付点位中有和锁付拍照引导结束点Local坐标相同的点位,且Z坐标不一致,是否将锁付拍照引导结束点Local坐标的Z轴坐标更新为锁付点位的Z坐标
+                    if (matchingPoint.Z_Position_Start != screwCameraLocalPos2.Z_Position_Start)
+                    {
+                        var resultUpdateZ = MessageBox.Show("锁付点位中有和锁付拍照引导结束点Local坐标相同的点位,且Z坐标不一致,是否将锁付拍照引导结束点Local坐标的Z轴坐标更新为锁付点位的Z坐标?", "确认", MessageBoxButton.YesNo, MessageBoxImage.Question);
+                        if (resultUpdateZ == MessageBoxResult.Yes)
+                        {
+                            screwCameraLocalPos2.Z_Position_Start = matchingPoint.Z_Position_Start;
+                        }
+                    }
+                }
+
 
                 IDialogParameters parameters = new DialogParameters();
                 parameters.Add("Robot", Robot);