lin0799 发表于 2009-10-27 15:26:00

求助,知道实体objectid,求实体的group的objectid

求助,知道实体objectid,求实体的group的objectid,新学,不太熟,谢谢。

雪山飞狐_lzh 发表于 2009-10-27 20:13:00

看下这里的GetGroups函数

lin0799 发表于 2009-10-27 21:02:00

不错,非常感谢

xuyajun1979 发表于 2010-7-16 15:38:00

学习了飞狐兄的程序;使用后发现图形中编组很多时运行速度成几何级别变慢
稍作修改,恳请指正。
      ///
      ///查找编组数组,返回实体所在编组数组
      ///
      public List GetGroups(Entity ent)
      {
            //获得当前文档
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            Editor acDocED = acDoc.Editor;
            Database acCurDB = acDoc.Database;
            List gs = new List();
            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;
      }

雪山飞狐_lzh 发表于 2010-7-16 17:11:00

不错,用反应器获取是个好办法
页: [1]
查看完整版本: 求助,知道实体objectid,求实体的group的objectid