1、过滤
public class Filter : ISelectionFilter
{
public Document doc = null;
public bool AllowElement(Element elem)
{
return true;
}
public bool AllowReference(Reference reference, XYZ position)
{
Element elem = doc.GetElement(reference.ElementId);
RevitLinkInstance rvtLinkInstance = elem as RevitLinkInstance;
Document linkDoc = rvtLinkInstance.GetLinkDocument();
if (linkDoc != null)
{
Element element = linkDoc.GetElement(reference.LinkedElementId);
if (//条件判断)
{
return true;
}
}
return false;
}
}
2、选择器
uiDoc.Selection.PickObjects(ObjectType.LinkedElement, new Filter() { doc = doc });