public bool AllowReference(Reference reference, XYZ position) { if (LinkInstance == null) { return(false); } if (ClassFilters == null) { Document linkedDoc = LinkInstance.GetLinkDocument(); Element element = linkedDoc.GetElement(reference.LinkedElementId); return(TargetTypes.Contains(element.GetType())); } else { foreach (var ClassFilter in ClassFilters) { if (ClassFilter.AllowReference(reference, position)) { return(true); } } return(false); } }
private void GetLinkedRoom() { try { var linkedDoc = LinkInstance.GetLinkDocument(); LinkedRoom = linkedDoc.GetElement(LinkedRoomId) as Room; } catch (Exception ex) { var message = ex.Message; } }
/// <summary> /// Конструктор модели элемента с референсом /// </summary> /// <param name="reference">Получаемый референс</param> /// <param name="document">Текущий рабочий документ</param> public ElementModel(Reference reference, Document document) { if (reference.LinkedElementId != ElementId.InvalidElementId) { LinkInstance = (RevitLinkInstance)document.GetElement(reference.ElementId); Doc = LinkInstance.GetLinkDocument(); Elem = Doc.GetElement(reference.LinkedElementId); } else { Doc = document; Elem = document.GetElement(reference.ElementId); } }
public bool AllowReference(Reference reference, XYZ position) { if (LinkInstance == null) { return(false); } Document linkedDoc = LinkInstance.GetLinkDocument(); Element element = linkedDoc.GetElement(reference.LinkedElementId); if (IsExconditionFit == null) { return(TargetType == element.GetType()); } else { return(TargetType == element.GetType() && IsExconditionFit(element)); } }