乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 77|回复: 3

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

[复制链接]

2

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
11
发表于 2016-3-8 13:44:00 | 显示全部楼层 |阅读模式
请教各位大神,通过c#如何获取dwg文件中的尺寸或者文本呢?谢谢
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2016-3-8 19:36:00 | 显示全部楼层
选择集+过滤器
回复

使用道具 举报

2

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
11
发表于 2016-3-9 18:43:00 | 显示全部楼层
// 获取当前数据库,启动事务
            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 没有对象!");
                }
               
                // 关闭事务
            }
我已经读出来了,但我要获取尺寸的内容,就不知道怎么弄了
回复

使用道具 举报

0

主题

26

帖子

10

银币

初来乍到

Rank: 1

铜币
22
发表于 2018-1-29 14:46:00 | 显示全部楼层
看看这个类:Dimension,所有的标注继承此类,尺寸内容可能是:public virtual double Dimtxt { set; get; }
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 02:16 , Processed in 0.524651 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表