输出CAD图中第一个图元类型——c#实现
复制改图元到一个新dwg中,启动代码可实现
如下图设置:
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ClassLibrary4
{public class Class1{[CommandMethod("ListEntities")]public static void ListEntities(){// Get the current document and database, and start a transactionDocument acDoc = Application.DocumentManager.MdiActiveDocument;Database acCurDb = acDoc.Database;using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction()){// 以只读方式打开块表记录 Open the Block table record for readBlockTable acBlkTbl;acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,OpenMode.ForRead) as BlockTable;// 以只读方式打开模型空间的块表记录 Open the Block table record Model space for readBlockTableRecord acBlkTblRec;acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],OpenMode.ForRead) as BlockTableRecord;int nCnt = 0;acDoc.Editor.WriteMessage("\nModel space objects: ");// Step through each object in Model space and// display the type of object foundforeach (ObjectId acObjId in acBlkTblRec){acDoc.Editor.WriteMessage("\n" + acObjId.ObjectClass.DxfName);nCnt = nCnt + 1;}// If no objects are found then display a messageif (nCnt == 0){acDoc.Editor.WriteMessage("\n No objects found");}// Dispose of the transaction}}}
}