Я не хочу выбирать конкретную полилинию во время выполнения. Есть ли способ напрямую получить все полилинии в .dwg-файле, используя C# без выбора во время выполнения? AutoCAD имеет команду DATAEXTRACTION для получения связанной информации для разных объектов (например, полилинии, круга, точки ... и т. Д.), Но я не знаю, можно ли ее вызывать и использовать в C#.Есть ли способ получить все полилинии в autocad (.dwg) с помощью C#?
FYI: Пример кода для получения конкретной полилинии во время выполнения из
http://through-the-interface.typepad.com/through_the_interface/2007/04/iterating_throu.html:
Transaction tr = db.TransactionManager.StartTransaction();
using (tr)
{
DBObject obj = tr.GetObject(per.ObjectId, OpenMode.ForRead);
Polyline lwp = obj as Polyline; // Get the selected polyline during runtime
...
}
Благодаря Джеймсу, он работает правильно, но то, что это определение '' oEd' в oPSR = oEd.SelectAll (Os е); '? Я предполагаю, что он определяется следующим образом: 'Редактор oEd = Application.DocumentManager.MdiActiveDocument.Editor;'. –
Простите, пропустили эту декларацию. Вот еще несколько строк кода, чтобы прояснить ситуацию. Документ oDwg = Application.DocumentManager.MdiActiveDocument; Редактор oEd = oDwg.Editor; – Miiir