Beispiel #1
0
        public void DelDot(GlueDot dot, Technology tech)
        {
            List <GlueDot> points = tech == Technology.Adh ? AdhPoints : SldPoints;

            if (points.Contains(dot))
            {
                points.Remove(dot);
            }
        }
Beispiel #2
0
        public void GetPoints(ComponentLib lib)
        {
            this.points.Clear();
            bool        isFind = false;
            PointD      pRotated;
            ComponentEx cmp = new ComponentEx(0);

            if (lib == null || lib.FindAll().Count == 0)
            {
                return;
            }
            foreach (ComponentEx item in lib.FindAll())
            {
                if (item.component.Name.Contains(this.Comp) || this.Comp.Contains(item.component.Name))
                {
                    isFind = true;
                    cmp    = item;
                    break;
                }
            }
            if (isFind)
            {
                if (tech == Technology.Adh)
                {
                    if (cmp.component.AdhPoints.Count > 0)
                    {
                        foreach (GlueDot p in cmp.component.GetPoints(Technology.Adh))
                        {
                            GlueDot dot = new GlueDot();
                            dot.IsWeight = p.IsWeight;
                            dot.Weight   = p.Weight;
                            dot.Radius   = p.Radius;
                            dot.NunShots = p.NunShots;
                            dot.index    = p.index;
                            dot.point    = new PointD(p.point);
                            this.RotateComp(dot.point, this.rotation, out pRotated);
                            dot.point = pRotated + this.mid;
                            this.points.Add(dot);
                        }
                    }
                    else
                    {
                        GlueDot dot = new GlueDot();
                        dot.point = new PointD(this.mid);
                        this.points.Add(dot);
                    }
                }
            }
            else
            {
                GlueDot dot = new GlueDot();
                dot.point = new PointD(this.mid);
                this.points.Add(dot);
            }
        }
Beispiel #3
0
 private void lswDots_MouseClick(object sender, MouseEventArgs e)
 {
     if (this.lswDots.SelectedIndices.Count > 0)
     {
         this.dot = (GlueDot)this.lswDots.SelectedItems[0].Tag;
         this.dotColor(this.lswDots.SelectedItems[0]);
         this.canChange = false;
         this.updateDotShow();
         this.drawComponent(this.curUserComp);
         this.canChange = true;
     }
 }
Beispiel #4
0
 private void lswUnEdited_MouseClick(object sender, MouseEventArgs e)
 {
     if (this.lswUnEdited.SelectedIndices.Count > 0)
     {
         this.canChange     = false;
         compName           = this.lswUnEdited.SelectedItems[0].SubItems[1].Text;
         this.txtModel.Text = compName;
         this.curUserComp   = this.findComponentInLib(this.curUserLib, compName);
         if (this.curUserComp.component.GetPoints(getTech()).Count > 0)
         {
             this.dot = this.curUserComp.component.GetPoints(getTech())[0];
         }
         this.updateCompShow(this.curUserComp);
         this.updateDotShow();
         this.lswUserShow();
         this.drawComponent(this.curUserComp);
         this.canChange = true;
     }
 }
Beispiel #5
0
 private void btnDotDlt_Click(object sender, EventArgs e)
 {
     if (this.dot == null)
     {
         return;
     }
     this.curUserComp.component.GetPoints(getTech()).Remove(this.dot);
     this.drawComponent(this.curUserComp);
     this.lswDotLoad(this.curUserComp);
     if (this.curUserComp.component.GetPoints(getTech()).Count <= 0)
     {
         this.dot = null;
     }
     else
     {
         this.dot = this.curUserComp.component.GetPoints(getTech())[0];
     }
     this.canChange = false;
     this.updateDotShow();
     this.canChange = true;
 }
Beispiel #6
0
        private void btnDotAdd_Click(object sender, EventArgs e)
        {
            if (this.curUserComp == null)
            {
                return;
            }
            GlueDot dot  = new GlueDot();
            int     cout = this.curUserComp.component.AdhPoints.Count;

            dot.index    = cout + 1;
            dot.point    = new PointD((double)this.nudOffsetX.Value, (double)this.nudOffsetY.Value);
            dot.Weight   = (double)this.nudWeight.Value;
            dot.IsWeight = this.ckbWeight.Checked;
            dot.NunShots = (int)this.nudShots.Value;
            dot.Radius   = (double)this.nudRadius.Value;
            this.curUserComp.component.AddPoint(dot, getTech());
            this.canChange = false;
            this.lswDotLoad(this.curUserComp);
            this.dot = dot;
            this.updateDotShow();
            this.drawComponent(this.curUserComp);
            this.canChange = true;
        }
Beispiel #7
0
 public void AddOnePoint(GlueDot point)
 {
     this.seletecPoint = point;
 }
Beispiel #8
0
        private void getType()
        {
            for (int i = 0; i < CADImport.libStrArray.Length; i++)
            {
                string line = CADImport.libStrArray[i];
                if (line.Contains("[") && line.Contains("]"))
                {
                    int    mid          = line.LastIndexOf(',');
                    int    last         = line.LastIndexOf(']');
                    string before       = line.Substring(0, mid);
                    string after        = line.Substring(mid + 1, last - mid - 1);
                    int    redindexStar = i;
                    int    redindexEnd  = i;
                    int    solindexStar = i;
                    int    solindexEnd  = i;
                    for (int j = i + 1; j < CADImport.libStrArray.Length; j++)
                    {
                        if (CADImport.libStrArray[j].Contains(".adh"))
                        {
                            redindexStar = j;
                        }
                        if (CADImport.libStrArray[j].Contains(".end"))
                        {
                            redindexEnd = j;
                            break;
                        }
                    }
                    for (int j = i + 1; j < CADImport.libStrArray.Length; j++)
                    {
                        if (CADImport.libStrArray[j].Contains(".sol"))
                        {
                            solindexStar = j;
                        }
                        if (CADImport.libStrArray[j].Contains(".end"))
                        {
                            solindexEnd = j;
                            break;
                        }
                    }
                    List <PointD> pointsred = new List <PointD>();
                    pointsred.Clear();
                    for (int k = redindexStar + 1; k < redindexEnd; k++)
                    {
                        PointD   p       = new PointD();
                        string[] splited = CADImport.libStrArray[k].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                        double   x       = 0;
                        double   y       = 0;
                        if (double.TryParse(splited[0], out x) && double.TryParse(splited[1], out y))
                        {
                            p.X = x;
                            p.Y = y;
                        }

                        pointsred.Add(p);
                    }

                    List <PointD> pointssol = new List <PointD>();
                    pointssol.Clear();
                    for (int k = solindexStar + 1; k < solindexEnd; k++)
                    {
                        PointD   p       = new PointD();
                        string[] splited = CADImport.libStrArray[k].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                        double   x       = 0;
                        double   y       = 0;
                        if (double.TryParse(splited[0], out x) && double.TryParse(splited[1], out y))
                        {
                            p.X = x;
                            p.Y = y;
                        }

                        pointssol.Add(p);
                    }



                    int index = this.lib.FindAll().Count;

                    ComponentEx comp = new ComponentEx(index + 1);
                    comp.component.Name = after;
                    foreach (var item in pointsred)
                    {
                        GlueDot dot  = new GlueDot();
                        int     cout = comp.component.AdhPoints.Count;
                        dot.index  = cout + 1;
                        dot.point  = new PointD(item.X, item.Y);
                        dot.Weight = (double)0;
                        dot.Radius = (double)0;
                        comp.component.AdhPoints.Add(dot);
                    }
                    foreach (var item in pointssol)
                    {
                        GlueDot dot  = new GlueDot();
                        int     cout = comp.component.SldPoints.Count;
                        dot.index  = cout + 1;
                        dot.point  = new PointD(item.X, item.Y);
                        dot.Weight = (double)0;
                        dot.Radius = (double)0;
                        comp.component.SldPoints.Add(dot);
                    }

                    lib.Add(comp);
                }
            }
        }
Beispiel #9
0
        public void AddPoint(GlueDot dot, Technology tech)
        {
            List <GlueDot> points = tech == Technology.Adh ? AdhPoints : SldPoints;

            points.Add(dot);
        }