版权声明:yunyou.ke.qq.com 版权所有,转载请注明 https://blog.csdn.net/yunyouxy/article/details/83042065
public List<Autodesk.AutoCAD.DatabaseServices.ObjectId> GetEntitiesInModelSpace()
{
List<Autodesk.AutoCAD.DatabaseServices.ObjectId> objects = new List<Autodesk.AutoCAD.DatabaseServices.ObjectId>();
using (Autodesk.AutoCAD.DatabaseServices.Transaction transaction = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction())
{
Autodesk.AutoCAD.DatabaseServices.BlockTable blockTable =
(Autodesk.AutoCAD.DatabaseServices.BlockTable)transaction.GetObject(
Autodesk.AutoCAD.DatabaseServices.HostApplicationServices.WorkingDatabase.BlockTableId,
Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead);
Autodesk.AutoCAD.DatabaseServices.BlockTableRecord blockTableRecord =
(Autodesk.AutoCAD.DatabaseServices.BlockTableRecord)transaction.GetObject(
blockTable[Autodesk.AutoCAD.DatabaseServices.BlockTableRecord.ModelSpace],
Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead);
foreach (Autodesk.AutoCAD.DatabaseServices.ObjectId objId in blockTableRecord)
{
objects.Add(objId);
}
transaction.Commit();
}
return objects;
}