M182轴承端盖外观缺陷AOI
kingno
2025-05-26 5a405c7dce20d8c79a733c9c786cc42eb59fe81c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
using Bro.Common.Base;
using Bro.Common.Helper;
using Bro.Common.Interface;
using Bro.Common.Model;
using Bro.M141.Process;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Bro.M141_AOI3B.Process
{
    [Process("AOI3B", EnumHelper.DeviceAttributeType.InitialConfig)]
    public class AOI3BConfig : M141Config
    {
 
        [Category("飞拍配置")]
        [Description("飞拍信号超时")]
        [DisplayName("飞拍信号超时")]
        public int PhotolayoutTime { get; set; } = 5000;
 
        [Category("飞拍配置")]
        [Description("P1飞拍软触发开关,true,软触发开启")]
        [DisplayName("P1飞拍软触发开关")]
        public bool P1SFstate { get; set; } = false;
 
        [Category("飞拍配置")]
        [Description("P2飞拍软触发开关,软触发开启")]
        [DisplayName("P2飞拍软触发开关")]
        public bool P2SFstate { get; set; } = false;
 
 
 
        [Category("引导配置")]
        [Description("标定矩阵")]
        [DisplayName("标定矩阵")]
        [TypeConverter(typeof(SimpleCollectionConvert<double>))]
        [Editor(typeof(SimpleCollectionEditor<double>), typeof(UITypeEditor))]
        public List<double> BDBD { get; set; } = new List<double>();
 
        [Category("引导配置")]
        [Description("模板坐标")]
        [DisplayName("模板坐标")]
        [TypeConverter(typeof(SimpleCollectionConvert<double>))]
        [Editor(typeof(SimpleCollectionEditor<double>), typeof(UITypeEditor))]
        public List<double> BDMD { get; set; } = new List<double>();
 
        [Category("引导配置")]
        [Description("圆心坐标")]
        [DisplayName("圆心坐标")]
        [TypeConverter(typeof(SimpleCollectionConvert<double>))]
        [Editor(typeof(SimpleCollectionEditor<double>), typeof(UITypeEditor))]
        public List<double> BDYX { get; set; } = new List<double>();
 
 
 
        [Category("引导配置")]
        [Description("检测取像时的取像配置")]
        [DisplayName("取像配置")]
        [TypeConverter(typeof(ComplexObjectConvert))]
        [Editor(typeof(OperationConfigByCameraEditor), typeof(UITypeEditor))]
        public IOperationConfig P0SnapshotOpConfig { get; set; } = new CameraOperationConfigBase();
 
        [ResCategory("引导配置")]
        [ResDescription("标定模板算法路径")]
        [ResDisplayName("标定模板算法路径")]
        [Editor(typeof(FileDialogEditor), typeof(UITypeEditor))]
        public string BD2AlgorithemPath { get; set; } = "";
 
 
        [Category("引导配置")]
        [DisplayName("引导补偿设置")]
        [Description("引导补偿设置")]
        [TypeConverter(typeof(ComplexObjectConvert))]
        [Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
        public CompensateValue CompensateValueBD { get; set; } = new CompensateValue();
 
 
    }
 
 
    public class CompensateValue : IComplexDisplay
    {
        [Category("补偿值")]
        [DisplayName("1.X1")]
        [Description("X1")]
        public double X1 { get; set; } = 0;
 
        [Category("补偿值")]
        [DisplayName("2.X2")]
        [Description("X2")]
        public double X2 { get; set; } = 0;
 
        [Category("补偿值")]
        [DisplayName("1.Y1")]
        [Description("Y1")]
        public double Y1 { get; set; } = 0;
 
 
        [Category("补偿值")]
        [DisplayName("2.Y2")]
        [Description("Y2")]
        public double Y2 { get; set; } = 0;
 
 
        [Category("补偿值")]
        [DisplayName("1.R1")]
        [Description("R1")]
        public double Z1 { get; set; } = 0;
 
 
        [Category("补偿值")]
        [DisplayName("2.R2")]
        [Description("R2")]
        public double Z2 { get; set; } = 0;
 
 
 
        public string GetDisplayText()
        {
            return $"";
        }
 
        public override string ToString()
        {
            return GetDisplayText();
        }
    }
 
 
 
 
 
 
 
 
 
 
}