예제 #1
0
 public void Add(CutChannel s)
 {
     if (s == null)
     {
         return;
     }
     if (!CHs.Contains(s))
     {
         s.Index = CHs.Count;
         s.Chip  = this;
         CHs.Add(s);
     }
 }
예제 #2
0
        private void InitCutChannelData(CutChannel c, bool create, bool res = true)
        {
            if (c.Enable)
            {
                if (c.Fixed)
                {
                    if (res)//长度宽度反转
                    {
                        c.Length = length;
                        c.Width  = width;
                    }
                    else
                    {
                        c.Length = width;
                        c.Width  = length;
                    }
                }
                else
                {
                    c.Length = length;
                    c.Width  = length;
                }
                c.PreWidth  = PreWidth;//设置预划切宽度
                c.BackSpeed = backSpeed;
                switch (CutMode)
                {
                case CutMode.StandOnce:
                case CutMode.Stand:
                {
                    c.StandMode = true;
                    c.ReDepth   = ReDepth;          //划切预留一
                    c.ReDepth2  = ReDepth2;         //配置预留二
                }
                break;

                case CutMode.AnyChannel:    //任意通道
                {
                    c.StandMode = true;
                }
                break;

                case CutMode.AnyStep:
                {
                    c.StandMode = false;
                }
                break;

                default:
                {
                    c.StandMode = false;
                }
                break;
                }

                float angle = c.TRoatePos + c.TPosAdj;
                if (Center != Globals.TabCenter)
                {
                    c.Center = RotateMath.PointRotate(Globals.TabCenter, Center, -angle);
                }
                else
                {
                    c.Center = Center;
                }
                c.Fixed     = this.Fixed;                                                         //圆片还是方片
                c.BackSpeed = backSpeed;
                c.SelfPos   = Globals.TestHeightValue + filmHeight + workerHeight + SelfTickness; //当前测高值+工件厚度+膜厚 + 安全预留
                switch (cutDir)
                {
                case CutDir.Positive:
                {
                    c.SinDir = true;
                    c.Dir    = true;
                }
                break;

                case CutDir.Negative:
                {
                    c.SinDir = true;
                    c.Dir    = false;
                }
                break;

                case CutDir.TwoWay:
                {
                    c.SinDir = false;
                    c.Dir    = true;
                }
                break;

                default:
                    break;
                }
                c.InitCutRunData(create);
            }
        }
예제 #3
0
 public bool Remove(CutChannel c)
 {
     return(CHs.Remove(c));
 }