明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5603|回复: 4

[符号表] 求助,知道实体objectid,求实体的group的objectid

[复制链接]
发表于 2009-10-27 15:26:00 | 显示全部楼层 |阅读模式
求助,知道实体objectid,求实体的group的objectid,新学,不太熟,谢谢。

发表于 2009-10-27 20:13:00 | 显示全部楼层
 楼主| 发表于 2009-10-27 21:02:00 | 显示全部楼层
不错,非常感谢
发表于 2010-7-16 15:38:00 | 显示全部楼层

学习了飞狐兄的程序;使用后发现图形中编组很多时运行速度成几何级别变慢

稍作修改,恳请指正。

        /// <summary>
        ///查找编组数组,返回实体所在编组数组
        /// </summary>
        public List<Group> GetGroups(Entity ent)
        {
            //获得当前文档
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            Editor acDocED = acDoc.Editor;
            Database acCurDB = acDoc.Database;
            List<Group> gs = new List<Group>();
            DBObject Dbobj = (DBObject)ent;
            ObjectIdCollection objcol = Dbobj.GetPersistentReactorIds();
            using (Transaction acTrans = acCurDB.TransactionManager.StartTransaction())
            {
                foreach (ObjectId ObjIds in objcol)
                {
                    DBObject Pdbobj = (DBObject)acTrans.GetObject(ObjIds, OpenMode.ForRead, false);
                    if (Pdbobj.GetType().ToString().Replace("Autodesk.AutoCAD.DatabaseServices.", "") == "Group")
                    {
                        Group g = (Group)Pdbobj;
                        gs.Add(g);
                    }
                }
            }
            return gs;
        }

评分

参与人数 1威望 +1 明经币 +2 金钱 +20 贡献 +5 激情 +5 收起 理由
雪山飞狐_lzh + 1 + 2 + 20 + 5 + 5 【精华】好程序

查看全部评分

发表于 2010-7-16 17:11:00 | 显示全部楼层

不错,用反应器获取是个好办法

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

本版积分规则

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

GMT+8, 2024-11-25 06:43 , Processed in 0.164447 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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