Beispiel #1
0
        public void LoadXml(string v)
        {
            var d   = XDocument.Load(v);
            var f   = d.Descendants().First();
            var gap = int.Parse(f.Attribute("gap").Value);

            SvgNest.Config.spacing = gap;

            foreach (var item in d.Descendants("sheet"))
            {
                int src = GetNextSheetSource();
                var cnt = int.Parse(item.Attribute("count").Value);
                var ww  = int.Parse(item.Attribute("width").Value);
                var hh  = int.Parse(item.Attribute("height").Value);

                for (int i = 0; i < cnt; i++)
                {
                    AddSheet(ww, hh, src);
                }
            }
            foreach (var item in d.Descendants("part"))
            {
                var       cnt  = int.Parse(item.Attribute("count").Value);
                var       path = item.Attribute("path").Value;
                var       ext  = Path.GetExtension(path);
                RawDetail r;
                if (ext.ToLower() == ".dxf")
                {
                    r = DxfParser.loadDxf(path);
                }
                else
                {
                    r = SvgParser.LoadSvg(path);
                }

                var src = GetNextSource();
                for (int i = 0; i < cnt; i++)
                {
                    ImportFromRawDetail(r, src);
                }
            }
        }