1)拾取链接文件中的构件
Reference refer = uiDoc.Selection.PickObject(ObjectType.LinkedElement, new MepFilter(), "选择链接文件中的管道");
RevitLinkInstance revitLinkInstance = doc.GetElement(refer.ElementId) as RevitLinkInstance;
Document linkDoc = revitLinkInstance.GetLinkDocument();
Element linkElem = linkDoc.GetElement(refer.LinkedElementId);
2)拾取链接文件中的面
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Document doc = uiDoc.Document;
Reference reference = uiDoc.Selection.PickObject(ObjectType.PointOnElement);
RevitLinkInstance revitLinkInstance = doc.GetElement(reference.ElementId) as RevitLinkInstance;
Document linkDoc = revitLinkInstance.GetLinkDocument();
Element linkElem = linkDoc.GetElement(reference.LinkedElementId);
Reference linkRefer = reference.CreateReferenceInLink();
PlanarFace face = linkElem.GetGeometryObjectFromReference(linkRefer) as PlanarFace;