private void AutoSetpara() { try { AutoSet autoset = new AutoSet(groove, 2); switch (groove.type) { case GrooveType.V: GetVgroovepara(autoset); break; case GrooveType.X: GetXgroovepara(autoset); break; case GrooveType.CRC: GetCRCgroovepara(autoset); break; default: MessageShow.show("groove type error", "坡口类型错误"); break; } } catch { MessageShow.show("坡口数据有误", "groove data error"); } }
private void GetXgroovepara(AutoSet autoset) { ClassChanpara Chanpara; int skewflag = 0; int i = 0; int j = 0; for (i = 0; i < autoset.reflectcount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Reflect; Chanpara.zonetype = (int)ZoneType.Fill; Chanpara.name = "Fill" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i].defectX; Chanpara.defectY = autoset.defectlist[i].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[0] - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } for (j = 0; j < autoset.directcount; j++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Direct; Chanpara.zonetype = (int)ZoneType.Root; Chanpara.name = "Root" + Convert.ToString(j) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i + j].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i + j].defectX; Chanpara.defectY = autoset.defectlist[i + j].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[0] - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } }
private void GetCRCgroovepara(AutoSet autoset) { ClassChanpara Chanpara; int skewflag = 0; int i = 0; int precount = 0; for (i = 0; i < autoset.seriescount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pitch_Catch; Chanpara.method = (int)PathMethod.Series; Chanpara.zonetype = (int)ZoneType.Fill; Chanpara.name = "Fill" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 16; Chanpara.activenb[1] = 16; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i].defectX; Chanpara.defectY = autoset.defectlist[i].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle - 5; Chanpara.interfaceAngle[1] = Chanpara.defectAngle + 5; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.element[1] = beampara.centerele[1] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } precount += i; for (i = 0; i < autoset.reflectcount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Reflect; Chanpara.zonetype = (int)ZoneType.HP; Chanpara.name = "HP" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i + precount].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i + precount].defectX; Chanpara.defectY = autoset.defectlist[i + precount].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + 45 - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } precount += i; for (i = 0; i < autoset.directcount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Direct; Chanpara.defectAngle = autoset.defectlist[i + precount].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i + precount].defectX; Chanpara.defectY = autoset.defectlist[i + precount].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } //Judge which direct zone if (Chanpara.defectAngle == 90) { Chanpara.name = "LCP" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.zonetype = (int)ZoneType.LCP; Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[2] - 90; } else { Chanpara.name = "Root" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.zonetype = (int)ZoneType.Root; Chanpara.interfaceAngle[0] = Chanpara.defectAngle; } BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } }