public void CreateGroup(ObjectIdCollection objIds, string groupName) { Group gp = new Group(groupName, true); //创建名为groupName的组 Database db = HostApplicationServices.WorkingDatabase; using (Transaction ta = db.TransactionManager.StartTransaction()) //启动事务处理 { DBDictionary dict = (DBDictionary)ta.GetObject(db.GroupDictionaryId, OpenMode.ForWrite,true); //获取组所在的"Group"字典 dict.SetAt(groupName, gp); //在"Group"字典中加入组对象 foreach (ObjectId thisId in objIds) //遍历传入的实体集合的ObjectId { gp.Append(thisId); //在组中加入ObjectId为thisId的实体 } ta.AddNewlyCreatedDBObject(gp, true); ta.Commit(); //提交事务处理 ta.Dispose(); } }
为什么每次执行之后,都是当前的能够组正确,再执行一次,前面的组就被分解了,只有当前的是一个组????纠结了半天了,还没看出端倪来 |