[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;
}
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;
}
}