Matt asked to “duplicate scope box across models”. Open the source file (in this case named “scope boxes.rvt”), then activate the target document and run the macro.
public void CopyScopeBoxBtwDoc()
{
Document doc = this.ActiveUIDocument.Document;
Application app = this.Application;
string filename = "scope boxes.rvt";
Document sourceDoc = app.Documents.Cast<Document>().FirstOrDefault(q => q.PathName.EndsWith(filename));
if (sourceDoc == null)
{
TaskDialog.Show("Error", "No open document named " + filename);
return;
}
ICollection<ElementId> elementsToCopy = new FilteredElementCollector(sourceDoc).OfCategory(BuiltInCategory.OST_VolumeOfInterest).ToElementIds();
using (Transaction t = new Transaction(doc,"Copy Scope Box from " + filename))
{
t.Start();
ElementTransformUtils.CopyElements(sourceDoc, elementsToCopy, doc, Transform.Identity, new CopyPasteOptions());
t.Commit();
}
}
[…] #AU2013 Wish 1 Granted! | Boost Your BIM – making Revit even better. […]