RevitAPI之关于删除元素后

来源:互联网 发布:oracle数据库导入表 编辑:程序博客网 时间:2024/05/16 15:59
Revit API文档类Document提供了删除一个或者多个元素的方法,方法是:
        public ICollection<ElementId> Delete(ElementId elementId);
        public ICollection<ElementId> Delete(ICollection<ElementId> elementIds);

从文档中,可以通过元素本身或者元素的ElementId来删除某个元素实例(或者完全依赖于这个特定元素的其他元素)。

被删除成功的元素会以集合返回,用户可以通过ElementId来查询这些已经删除的元素。


代码:

void DeleteSingleElement(Autodesk.Revit.DB.Document projectDoc, Wall wall)        {            using (Transaction tran = new Transaction(projectDoc, "Delete the wall."))            {                tran.Start();                ICollection<ElementId> deletedElements = projectDoc.Delete(wall.Id);                tran.Commit();            }        }        void DeleteMultiElements(Autodesk.Revit.DB.Document projectDoc, List<Element> Elements)        {            List<ElementId> elementsToDelete = new List<ElementId>();            using (Transaction tran = new Transaction(projectDoc, "Delete the selected elements."))            {                tran.Start();                foreach (Element elem in Elements)                {                    elementsToDelete.Add(elem.Id);                }                ICollection<ElementId> deletedElements = projectDoc.Delete(elementsToDelete);                tran.Commit();            }        }


注意:删除元素后,Revit document库已经删除了这些elements,所有任何对该元素的引用就会变成无效的。否则,会有异常抛出来提示用户。


=========【更多高级应用请关注公众号】========


===================================


原创粉丝点击