public int GetActEdgeVal(Enums.Axis axis, Enums.ApslEdgeType edgeType) { int value = 0; switch (axis) { case Enums.Axis.X: if (edgeType == Enums.ApslEdgeType.Min) { value = apslLimBundle.Axis_X_MinEdgeStepsPosition; //GetActEdgeValByAxis(Enums.ApslAxis.Axis_X_MinEdgePos); } else if (edgeType == Enums.ApslEdgeType.Max) { value = apslLimBundle.Axis_X_MaxEdgeStepsPosition; //GetActEdgeValByAxis(Enums.ApslAxis.Axis_X_MaxEdgePos); } break; case Enums.Axis.Y: if (edgeType == Enums.ApslEdgeType.Min) { value = apslLimBundle.Axis_Y_MinEdgeStepsPosition; //GetActEdgeValByAxis(Enums.ApslAxis.Axis_Y_MinEdgePos); } else if (edgeType == Enums.ApslEdgeType.Max) { value = apslLimBundle.Axis_Y_MaxEdgeStepsPosition; //GetActEdgeValByAxis(Enums.ApslAxis.Axis_Y_MaxEdgePos); } break; case Enums.Axis.Z: if (edgeType == Enums.ApslEdgeType.Min) { value = apslLimBundle.Axis_Z_MinEdgeStepsPosition; //GetActEdgeValByAxis(Enums.ApslAxis.Axis_Z_MinEdgePos); } else if (edgeType == Enums.ApslEdgeType.Max) { value = apslLimBundle.Axis_Z_MaxEdgeStepsPosition; //GetActEdgeValByAxis(Enums.ApslAxis.Axis_Z_MaxEdgePos); } break; case Enums.Axis.DontCare: value = GetEdgeForDontCareAxis(edgeType); break; } return(value); }
private int GetEdgeForDontCareAxis(Enums.ApslEdgeType edgeType) { int value = 0, temp = 0; switch (edgeType) { case Enums.ApslEdgeType.Min: temp = Math.Max(ApslLimBundle.Axis_X_MinEdgeStepsPosition, ApslLimBundle.Axis_Y_MinEdgeStepsPosition); value = Math.Max(temp, ApslLimBundle.Axis_Z_MinEdgeStepsPosition); break; case Enums.ApslEdgeType.Max: temp = Math.Min(ApslLimBundle.Axis_X_MaxEdgeStepsPosition, ApslLimBundle.Axis_Y_MaxEdgeStepsPosition); value = Math.Min(temp, ApslLimBundle.Axis_Z_MaxEdgeStepsPosition); break; default: break; } return(value); }