Exemple #1
0
 public void FreeObject()
 {
     GeneralInspector.Dispose();
 }
Exemple #2
0
//        private List<Hdc.Mv.Inspection.MeasurementInfo> c5MeasurementInfos = new List<Hdc.Mv.Inspection.MeasurementInfo>();

        public InspectionInfo Inspect(Hdc.Mv.ImageInfo imageInfo)
        {
            var newSchema = GetInspectionSchema();

            GeneralInspector.ImportInspectionSchema(newSchema);
            GeneralInspector.Inspect(imageInfo);

            var inspectionInfo = new InspectionInfo();
            var originAResult  = GeneralInspector.CircleSearchingResults[0];
            var originBResult  = GeneralInspector.CircleSearchingResults[1];
            var baseLine       = new Line(originAResult.Circle.GetCenterPoint(), originBResult.Circle.GetCenterPoint());
            var baseLineAngle  = 90 - 56;

            for (int i = 1; i < GeneralInspector.CircleSearchingDefinitions.Count; i++)
            {
                var circleSearchingResult = GeneralInspector.CircleSearchingResults[i];
                if (!circleSearchingResult.HasError)
                {
                    var measurement = new Hdc.Mv.Inspection.MeasurementInfo()
                    {
                        StartPointX = originAResult.Circle.CenterX,
                        StartPointY = originAResult.Circle.CenterY,
                        EndPointX   = circleSearchingResult.Circle.CenterX,
                        EndPointY   = circleSearchingResult.Circle.CenterY,
                    };

                    Point targetPoint   = circleSearchingResult.Circle.GetCenterPoint();
                    var   relativePoint = targetPoint.GetRelativePoint(baseLine, baseLineAngle);
                    var   length        = relativePoint.ToVector().Length;

                    //                    measurement.StartPointXActualValue = relativePoint.X;
                    //                    measurement.StartPointXActualValue = relativePoint.X;
                    measurement.Index                  = i;
                    measurement.GroupIndex             = i;
                    measurement.Value                  = length;
                    measurement.StartPointXActualValue = relativePoint.X * 16 / 1000.0;
                    measurement.StartPointYActualValue = relativePoint.Y * 16 / 1000.0;
                    //                                measurement.EndPointXActualValue = relativePoint.X * 16 / 1000.0;
                    //                                measurement.EndPointYActualValue = relativePoint.Y * 16 / 1000.0;
                    measurement.ValueActualValue = length * 16 / 1000.0;
                    measurement.ValueActualValue = circleSearchingResult.Circle.Radius * 16 / 1000.0;

                    counter++;

//                    DateTime dateTime = DateTime.Now;
//                    Debug.WriteLine("begin -------------" + dateTime + "--------------");

                    switch (i)
                    {
                    case 1:
                        measurement.EndPointXActualValue = measurement.StartPointXActualValue - 31.85;
                        measurement.EndPointYActualValue = measurement.StartPointYActualValue - (-21.29);
                        c2MeasurementInfos.Add(measurement);
                        break;

                    case 2:
                        measurement.EndPointXActualValue = measurement.StartPointXActualValue - 40.77;
                        measurement.EndPointYActualValue = measurement.StartPointYActualValue - (-44.45);
                        c3MeasurementInfos.Add(measurement);

                        break;

                    case 3:
                        measurement.EndPointXActualValue = measurement.StartPointXActualValue - 42.43;
                        measurement.EndPointYActualValue = measurement.StartPointYActualValue - 83.06;
                        c4MeasurementInfos.Add(measurement);

                        break;

                    case 4:
                        measurement.EndPointXActualValue = measurement.StartPointXActualValue - (-17.28);
                        measurement.EndPointYActualValue = measurement.StartPointYActualValue - 84.04;
                        c5MeasurementInfos.Add(measurement);

                        break;
                    }

//                    Debug.WriteLine("end -------------" + dateTime + "--------------");

                    inspectionInfo.MeasurementInfos.Add(measurement);
                }
                else
                {
                    //                    innerCircle.Stroke = Brushes.Red;
                    //                    outerCircle.Stroke = Brushes.Red;
                }
            }

            DateTime dateTime = DateTime.Now;

            Debug.WriteLine("begin -------------" + dateTime + "--------------");

            Debug.WriteLine("C2 ---------------------");
            OutputResults(c2MeasurementInfos);
            Debug.WriteLine("C3 ---------------------");
            OutputResults(c3MeasurementInfos);
            Debug.WriteLine("C4 ---------------------");
            OutputResults(c4MeasurementInfos);
            Debug.WriteLine("C5 ---------------------");
            OutputResults(c5MeasurementInfos);

            Debug.WriteLine("end -------------" + dateTime + "--------------");

            foreach (var searchingResult in GeneralInspector.CircleSearchingResults)
            {
                Debug.WriteLine(@"CircleSearchingResults: x={0}, y={1}", searchingResult.Circle.CenterX, searchingResult.Circle.CenterY);
            }


            return(inspectionInfo);
        }
Exemple #3
0
 public void Dispose()
 {
     GeneralInspector.Dispose();
 }