[摘要] 这里稍微讲一下怎幺从链接文件中选取指定元素,这里以选取Space为例。 首先要另写一个Class。public class SelectionLinkFilter
这里稍微讲一下怎幺从链接文件中选取指定元素,这里以选取Space为例。
首先要另写一个Class。
public class SelectionLinkFilter : ISelectionFilter { Document linkDoc = null; public bool AllowElement(Element elem) { if(elem is RevitLinkInstance) { linkDoc = (elem as RevitLinkInstance).GetLinkDocument(); return true; } return false; } public bool AllowReference(Reference reference, XYZ position) { if(linkDoc.GetElement(reference.LinkedElementId) is Space) { return true; } return false; } }
然后在选择中用这个class;
UIDocument uiDoc = commandData.Application.ActiveUIDocument; Reference reference = uiDoc.Selection.PickObject(ObjectType.LinkedElement, new SelectionLinkFilter());