CAD如何交互选择嵌套的对象
主要是用到Editor.GetNestedEntity
方法拾取
using var tr = new DBTrans();
while (true)
{
var pner = ACadApp.Editor.GetNestedEntity("\nSelect a line within a block reference: ");
// user cancelled
if (pner.Status != PromptStatus.OK)
{
return;
}
var dbObj = pner.ObjectId.GetObject(OpenMode.ForRead);
if (dbObj is Polyline pl)
{
if (!pl.Closed)
{
ACadApp.Print("多段线不闭合,请拾取闭合的多段线");
continue;
}
var line = (Polyline)tr.GetObject(pner.ObjectId, OpenMode.ForRead);
tr.ModelSpace.AddEntity(line.Clone() as Polyline);
break;
}
else
{
ACadApp.Print("请选择闭合的多段线");
}
}