.Net与AutoCad的接口-如何进行选择

本文关键字:何进行 选择 接口 AutoCad Net | 更新日期: 2023-09-27 17:58:06

如何选择图形中的所有对象?

与有关的一些问题

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

但无法使其发挥作用。

.Net与AutoCad的接口-如何进行选择

在真实的.NET AutoCAD API中(正在处理中,而不是像示例中那样的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();
}

如果您想在独立的可执行文件中进行选择,AutoCAD COM Interop是您尝试的方法。如果AutoCAD已打开或未打开,并且它是您喜欢的版本,则可能需要这样做。

如果需要,您可能还需要激活AutoCAD窗口。