public void ParseGroupCode(DXFDocument doc, int groupcode, string value) { if (groupcode == 0) { if (current == null) { groups.Add(value + " OUTSIDE"); } else { groups.Add(value); } } if (current == null) { if (groupcode == 0 && value == "BLOCK") { current = new DXFBlock(); container = new DXFDocument(); parsingBlock = true; } } else { if (parsingBlock) { if (groupcode == 0 && value == "ENDBLK") { current.Children.AddRange(container.Entities); doc.Blocks.Add(current); current = null; container = null; } else if (groupcode == 0) { parsingBlock = false; parser.ParseGroupCode(container, groupcode, value); } else { current.ParseGroupCode(groupcode, value); } } else { if (groupcode == 0 && value == "ENDBLK") { current.Children.AddRange(container.Entities); doc.Blocks.Add(current); current = null; container = null; } else { parser.ParseGroupCode(container, groupcode, value); } } } }
public void ParseGroupCode(DXFDocument doc, int groupcode, string value) { if (groupcode == 0) { if (current == null) groups.Add(value + " OUTSIDE"); else groups.Add(value); } if (current == null) { if (groupcode == 0 && value == "BLOCK") { current = new DXFBlock(); container = new DXFDocument(); parsingBlock = true; } } else { if (parsingBlock) { if (groupcode == 0 && value == "ENDBLK") { current.Children.AddRange(container.Entities); doc.Blocks.Add(current); current = null; container = null; } else if (groupcode == 0) { parsingBlock = false; parser.ParseGroupCode(container, groupcode, value); } else current.ParseGroupCode(groupcode, value); } else { if (groupcode == 0 && value == "ENDBLK") { current.Children.AddRange(container.Entities); doc.Blocks.Add(current); current = null; container = null; } else { parser.ParseGroupCode(container, groupcode, value); } } } }