Example #1
0
        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");
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
                }
            }
        }