您好,请问如何遍历当前DWG文件中的尺寸或者文本呢?
请教各位大神,通过c#如何获取dwg文件中的尺寸或者文本呢?谢谢 选择集+过滤器 // 获取当前数据库,启动事务Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database acCurDb = acDoc.Database;
using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
{
// 以读模式打开块表
BlockTable acBlkTbl;
acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,OpenMode.ForRead) as BlockTable;
// 以读模式打开块表记录模型空间
BlockTableRecord acBlkTblRec;
acBlkTblRec = acTrans.GetObject(acBlkTbl,OpenMode.ForRead) as BlockTableRecord;
int nCnt = 0;
acDoc.Editor.WriteMessage("\n 对象:");
// 遍历模型空间里的每个对象,并显示找到的对象的类型
foreach (ObjectId acObjId in acBlkTblRec)
{
//尺寸
if (acObjId.ObjectClass.DxfName.Equals("DIMENSION"))
{
//以写的方式打开选择的对象
Entity acEnt = acTrans.GetObject(acObjId,OpenMode.ForWrite) as Entity;
if (acEnt != null)
{
acDoc.Editor.WriteMessage("\n " + acObjId.ObjectClass.DxfName);
}
}
else if (acObjId.ObjectClass.DxfName.Equals("TEXT"))
{
acDoc.Editor.WriteMessage("\n " + acObjId.ObjectClass.DxfName);
}
nCnt = nCnt + 1;
}
// 如果没发现对象则显示提示信息
if (nCnt == 0)
{
acDoc.Editor.WriteMessage("\n 没有对象!");
}
// 关闭事务
}
我已经读出来了,但我要获取尺寸的内容,就不知道怎么弄了 看看这个类:Dimension,所有的标注继承此类,尺寸内容可能是:public virtual double Dimtxt { set; get; }
页:
[1]