revit二次开发里的复制粘贴

来源:互联网 发布:java jvm调优 编辑:程序博客网 时间:2024/06/06 03:11
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class cmdDeleteCopy : IExternalCommand
{
    
public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
    {
        UIDocument uiDoc 
= cmdData.Application.ActiveUIDocument;

        Transaction ts 
= new Transaction(uiDoc.Document, "delete");
        ts.Start();

        
//选择一个元素
        Reference reference = uiDoc.Selection.PickObject(ObjectType.Element, "请选择第一个对象");
        
//复制
        ElementTransformUtils.CopyElement(uiDoc.Document, uiDoc.Document.GetElement(reference).Id, new XYZ(10100));
        
//删除
        uiDoc.Document.Delete(uiDoc.Document.GetElement(reference));

        ts.Commit();

        
return Result.Succeeded;
    }
}
0 0
原创粉丝点击