08/08/2014
Преобразование Polyline в Polyline2d
Существует метод Polyline.ConvertTo для конвертации «облегченной» полилинии в обычную 2D-полилинию, но этот метод требует специальных условий.Во-первых, требуется использовать метод StartOpenCloseTransaction для создания новой транзакции вместо обычного метода StartTransaction.
Во-вторых, необходимо удалить старую облегченную полилилинию и добавить новую 2D-полилинию.
Код - C#: [Выделить]
- ObjectId plineId = // получаем здесь...
- Database db =
- Application.DocumentManager.MdiActiveDocument.Database;
- using (Transaction t =
- db.TransactionManager.StartOpenCloseTransaction())
- {
- using (Polyline pline = (Polyline)
- t.GetObject(plineId, OpenMode.ForWrite))
- {
- t.AddNewlyCreatedDBObject(pline, false);
- Polyline2d poly2 = pline.ConvertTo(true);
- t.AddNewlyCreatedDBObject(poly2, true);
- t.Commit();
- }
- }
Источник: http://adndevblog.typepad.com/autocad/2012/06/converting-polyline-to-polyline2d.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=899
Опубликовано 08.08.2014