.Net интерфейс с AutoCad - как сделать выбор - PullRequest
1 голос
/ 01 июня 2011

Как выделить все объекты на чертеже?

Что-то связано с

AcadSelectionSet select = _acadCurrentDocument.SelectionSets.Add("my");
select.Select(AcSelect.acSelectionSetAll);

Но не может заставить его работать.

Ответы [ 2 ]

4 голосов
/ 03 июня 2011

В реальном API .NET AutoCAD (в процессе, а не C # / COM, как в вашем примере):

Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
PromptSelectionResult psr = ed.GetSelection();
if (psr.Status != PromptStatus.OK) return;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
    foreach (SelectedObject so in psr.Value)
    {
        var dbo = tr.GetObject(so.ObjectId, OpenMode.ForRead);
        //...
    }
    tr.Commit();
}
1 голос
/ 19 июня 2012

Если вы хотите сделать выбор в отдельном исполняемом файле, AutoCAD COM Interop - это то, что вам нужно. Вам может понадобиться, если AutoCAD был открыт или нет, и если это версия, которая вам нравится.

Может потребоваться активировать окно AutoCAD, если это необходимо.

...