获取链接文档中的Elements
namespace RevitCommands
{
[Transaction(TransactionMode.Manual)]
public class PickLinkedElement : IExternalCommand
{
private UIDocument m_uidoc;
private Document m_doc;
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
m_uidoc = commandData.Application.ActiveUIDocument;
m_doc = m_uidoc.Document;
Application m_app = m_doc.Application;
while (true)
{
try
{
Reference r = m_uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.LinkedElement);
foreach (Document doc in m_app.Documents)
{
if (doc.IsLinked)
{
ElementId id = r.LinkedElementId;
Element e = doc.GetElement(id);
if (e != null)
{
TaskDialog.Show("prompt", $"Id:{e.Id}\nName:{e.Name}\nType:{e.GetType().Name}");
break;
}
}
}
}
catch (Exception)
{
break;
}
}
return Result.Succeeded;
}
}
}