RevitAPI之关于删除元素后

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,所有任何对该元素的引用就会变成无效的。否则,会有异常抛出来提示用户。


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


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值