천호석
2022-06-17 4de9ea98e13449174aa2cd09c8351fc0e978f44a
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace SHARP_CLAS_UI
{
    public class Process_Info_Recipe
    {
        #region Property
        //Base
        public string Name { get; set; }
        public DateTime Create_Time { get; set; }
 
        //Hatch data
        public float Hatch_Distance { get; set; }
        public int Jump_Repeat { get; set; }
        public int Jump_Range { get; set; }
        public int Waveform { get; set; }
 
        //Space data
        public float Work_Area_X { get; set; }
        public float Work_Area_Y { get; set; }
 
        //Process Draw Info
        public Process_Draw_Info Draw_Info_1 { get; set; }
        public Process_Draw_Info Draw_Info_2 { get; set; }
        public Process_Draw_Info Draw_Info_3 { get; set; }
        public Process_Draw_Info Draw_Info_4 { get; set; }
 
        //Scanner info
        public double Mark_Speed { get; set; }
        public double Jump_Speed { get; set; }
        public short Laser_On_Delay { get; set; }
        public short Laser_Off_Delay { get; set; }
        public ushort Jump_Delay { get; set; }
        public ushort Mark_Delay { get; set; }
        public ushort Frequency { get; set; }
        public double Power { get; set; }
        public double Target_Power_W { get; set; }
        public string CTB_File_Path { get; set; }
 
        //Scanner data
        public double Scanner_X_A1 { get; set; }
        public double Scanner_X_A2 { get; set; }
        public double Scanner_X_B1 { get; set; }
        public double Scanner_X_B2 { get; set; }
 
        public double Scanner_Z_A1 { get; set; }
        public double Scanner_Z_A2 { get; set; }
        public double Scanner_Z_B1 { get; set; }
        public double Scanner_Z_B2 { get; set; }
 
        public double Scanner_Y_A1 { get; set; }
        public double Scanner_Y_A2 { get; set; }
        public double Scanner_Y_B1 { get; set; }
        public double Scanner_Y_B2 { get; set; }
 
        //Plasma Position
        public double Plasma_X_A1 { get; set; }
        public double Plasma_X_A2 { get; set; }
        public double Plasma_X_B1 { get; set; }
        public double Plasma_X_B2 { get; set; }
 
        public double Plasma_Y_A1 { get; set; }
        public double Plasma_Y_A2 { get; set; }
        public double Plasma_Y_B1 { get; set; }
        public double Plasma_Y_B2 { get; set; }
 
        public double Plasma_Distance { get; set; }
        public double Plasma_Speed { get; set; }
        #endregion
 
        #region Construct
        public Process_Info_Recipe()
        {
            //Base
            Name = string.Empty;
            Create_Time = DateTime.Now;
 
            //Hatch data
            Hatch_Distance = 0;
            Jump_Repeat = 0;
            Jump_Range = 0;
            Waveform = 0;
 
            //Space data
            Work_Area_X = 0;
            Work_Area_Y = 0;
 
            //Process Draw Info
            Draw_Info_1 = new Process_Draw_Info();
            Draw_Info_2 = new Process_Draw_Info();
            Draw_Info_3 = new Process_Draw_Info();
            Draw_Info_4 = new Process_Draw_Info();
 
            //Scanner info
            Mark_Speed = 0;
            Jump_Speed = 0;
            Laser_On_Delay = 0;
            Laser_Off_Delay = 0;
            Jump_Delay = 0;
            Mark_Delay = 0;
            Frequency = 0;
            Power = 0;
            Target_Power_W = 0;
            CTB_File_Path = string.Empty;
 
            //Scanner data
            Scanner_X_A1 = 0;
            Scanner_X_A2  = 0;
            Scanner_X_B1  = 0;
            Scanner_X_B2 = 0;
 
            Scanner_Z_A1 = 0;
            Scanner_Z_A2 = 0;
            Scanner_Z_B1 = 0;
            Scanner_Z_B2 = 0;
 
            Scanner_Y_A1  = 0;
            Scanner_Y_A2  = 0;
            Scanner_Y_B1  = 0;
            Scanner_Y_B2 = 0;
 
            //Plasma data
            Plasma_X_A1 = 0;
            Plasma_X_A2 = 0;
            Plasma_X_B1 = 0;
            Plasma_X_B2 = 0;
              
            Plasma_Y_A1 = 0;
            Plasma_Y_A2 = 0;
            Plasma_Y_B1 = 0;
            Plasma_Y_B2 = 0;
 
            Plasma_Distance = 0;
            Plasma_Speed = 0;
        }
        #endregion
 
        #region Function
        public Process_Info_Recipe Clone()
        {
            Process_Info_Recipe info = new Process_Info_Recipe();
 
            info.Name = this.Name;
            info.Create_Time = this.Create_Time;
 
            info.Hatch_Distance = this.Hatch_Distance;
            info.Jump_Repeat = this.Jump_Repeat;
            info.Jump_Range = this.Jump_Range;
            info.Waveform = this.Waveform;
 
            info.Work_Area_X = this.Work_Area_X;
            info.Work_Area_Y = this.Work_Area_Y;
 
            info.Draw_Info_1 = this.Draw_Info_1.Clone();
            info.Draw_Info_2 = this.Draw_Info_2.Clone();
            info.Draw_Info_3 = this.Draw_Info_3.Clone();
            info.Draw_Info_4 = this.Draw_Info_4.Clone();
 
            info.Mark_Speed = this.Mark_Speed;
            info.Jump_Speed = this.Jump_Speed;
            info.Laser_On_Delay = this.Laser_On_Delay;
            info.Laser_Off_Delay = this.Laser_Off_Delay;
            info.Jump_Delay = this.Jump_Delay;
            info.Mark_Delay = this.Mark_Delay;
            info.Frequency = this.Frequency;
            info.Power = this.Power;
            info.Target_Power_W = this.Target_Power_W;
            info.CTB_File_Path = this.CTB_File_Path;
 
            info.Scanner_X_A1 = this.Scanner_X_A1;
            info.Scanner_X_A2 = this.Scanner_X_A2;
            info.Scanner_X_B1 = this.Scanner_X_B1;
            info.Scanner_X_B2 = this.Scanner_X_B2;
            info.Scanner_Z_A1 = this.Scanner_Z_A1;
            info.Scanner_Z_A2 = this.Scanner_Z_A2;
            info.Scanner_Z_B1 = this.Scanner_Z_B1;
            info.Scanner_Z_B2 = this.Scanner_Z_B2;
            info.Scanner_Y_A1 = this.Scanner_Y_A1;
            info.Scanner_Y_A2 = this.Scanner_Y_A2;
            info.Scanner_Y_B1 = this.Scanner_Y_B1;
            info.Scanner_Y_B2 = this.Scanner_Y_B2;
 
            info.Plasma_X_A1 = this.Plasma_X_A1;
            info.Plasma_X_A2 = this.Plasma_X_A2;
            info.Plasma_X_B1 = this.Plasma_X_B1;
            info.Plasma_X_B2 = this.Plasma_X_B2;
            info.Plasma_Y_A1 = this.Plasma_Y_A1;
            info.Plasma_Y_A2 = this.Plasma_Y_A2;
            info.Plasma_Y_B1 = this.Plasma_Y_B1;
            info.Plasma_Y_B2 = this.Plasma_Y_B2;
            info.Plasma_Distance = this.Plasma_Distance;
            info.Plasma_Speed = this.Plasma_Speed;
 
            return info;
        }
        #endregion
    }
}