public int LoadLinesData() { Lines.Clear(); LinesDict.Clear(); int res = 0; using (var trans = Ac.StartTransaction()) { var acLines = trans.GetAllEntities <Line>(); Ac.InitProgress(AppServices.Strings.LoadingLines, acLines.Count()); foreach (var acLn in acLines) { if (acLn.Length < 0.000001) { continue; } var ln = new AcPolygonSegment(acLn); var lnRev = ln.Reverse(); Lines.Add(ln); LinesDict.AddListItem(ln.StartPoint.Id(), ln); // Trzeba dodać odwrotną linię, bo nie zawsze startPoint jest // z tej strony, z której bym chciał Lines.Add(lnRev); LinesDict.AddListItem(lnRev.StartPoint.Id(), lnRev); res++; Ac.SetProgress(res); } Ac.ClearProgress(); } return(res); }