复制使用ElementTransformUtils.CopyElement();
复制使用ElementTransformUtils.CopyElement();
[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(10, 10, 0));
//删除
uiDoc.Document.Delete(uiDoc.Document.GetElement(reference));
ts.Commit();
return Result.Succeeded;
}
}