Пример #1
0
        DrillPoint PointParse(string line)
        {
            DrillPoint dp = new DrillPoint();

            string[] parts = line.Split(' ');
            foreach (string p in parts)
            {
                if (p.Contains(CXElement))
                {
                    dp.X = Convert.ToDouble(GetNumber(p));
                }
                else if (p.Contains(CYElement))
                {
                    dp.Y = Convert.ToDouble(GetNumber(p));
                }
                else if (p.Contains(RadiusElement))
                {
                    dp.R = Convert.ToDouble(GetNumber(p));
                }
            }
            return(dp);
        }
Пример #2
0
        public SvgData(string filePath)
        {
            //Open svg file into xml object
            XElement svgDoc = XElement.Load(filePath);

            foreach (XElement xe in svgDoc.Elements())
            {
                switch (xe.Name.LocalName)
                {
                case SVGEntry:
                {
                    IEnumerable <XAttribute> xat = xe.Attributes();
                    foreach (XAttribute xa in xat)
                    {
                        switch (xa.Name.LocalName)
                        {
                        case WidthElement:
                        {
                            pMap.PixWidth = Convert.ToInt32(xa.Value);
                            break;
                        };

                        case HeightElement:
                        {
                            pMap.PixHeight = Convert.ToInt32(xa.Value);
                            break;
                        }
                        }
                    }
                    break;
                };

                case CircleEntry:
                {
                    IEnumerable <XAttribute> xat = xe.Attributes();
                    DrillPoint dp = new DrillPoint();
                    foreach (XAttribute a in xat)
                    {
                        switch (a.Name.LocalName)
                        {
                        case CXElement:
                        {
                            dp.X = Convert.ToDouble(a.Value);
                            break;
                        };

                        case CYElement:
                        {
                            dp.Y = Convert.ToDouble(a.Value);
                            break;
                        }

                        case RadiusElement:
                        {
                            dp.R = Convert.ToDouble(a.Value);
                            break;
                        }
                        }
                    }
                    dPoints.Add(dp);
                    break;
                };

                case PathEntry:
                {
                    IEnumerable <XAttribute> xat = xe.Attributes();
                    foreach (XAttribute xa in xat)
                    {
                        switch (xa.Name.LocalName)
                        {
                        case DrawElement:
                        {
                            Point dp = PathParse(xa.Value);
                            pMap.PixHeight = dp.Y;
                            pMap.PixWidth  = dp.X;
                            break;
                        }
                        }
                    }
                    ;
                    break;
                }
                    //else no line or something unexpected...  Continue
                }
            }
        }