1 private List GetCurveFromView() {
2 List curves = new List();
3 ViewTableRecord viewTableRecord = ed.GetCurrentView();
4 double w = viewTableRecord.Width;
5 double h = viewTableRecord.Height;
6 Point2d point = viewTableRecord.CenterPoint;
7 Point3d P1 = new Point3d(point.X - w / 2, point.Y - h / 2, 0);
8 Point3d P2 = new Point3d(point.X + w / 2, point.Y + h / 2, 0);
9 PromptSelectionResult promptSelectionResult = ed.SelectCrossingWindow(P1, P2);
10 if (promptSelectionResult.Status == PromptStatus.OK)
11 {
12 ObjectId[] objectIds = promptSelectionResult.Value.GetObjectIds();
13 using (Transaction trans = doc.TransactionManager.StartTransaction())
14 {
15 foreach (ObjectId objectId in objectIds)
16 {
17 Curve curve = trans.GetObject(objectId, OpenMode.ForRead) as Curve;
18 if (curve != null) {
19 curves.Add(curve);
20 }
21 }
22 }
23 }
24
25 return curves;
26 }