明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 974|回复: 3

您好,请问如何遍历当前DWG文件中的尺寸或者文本呢?

[复制链接]
发表于 2016-3-8 13:44:18 | 显示全部楼层 |阅读模式
请教各位大神,通过c#如何获取dwg文件中的尺寸或者文本呢?谢谢
发表于 2016-3-8 19:36:37 来自手机 | 显示全部楼层
选择集+过滤器
 楼主| 发表于 2016-3-9 18:43:53 | 显示全部楼层
// 获取当前数据库,启动事务
            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[BlockTableRecord.ModelSpace],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 没有对象!");
                }
               
                // 关闭事务
            }

我已经读出来了,但我要获取尺寸的内容,就不知道怎么弄了
发表于 2018-1-29 14:46:56 | 显示全部楼层
看看这个类:Dimension,所有的标注继承此类,尺寸内容可能是:public virtual double Dimtxt { set; get; }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 08:25 , Processed in 0.150462 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表