Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 private void GetLinkedRoom()
 {
     try
     {
         var linkedDoc = LinkInstance.GetLinkDocument();
         LinkedRoom = linkedDoc.GetElement(LinkedRoomId) as Room;
     }
     catch (Exception ex)
     {
         var message = ex.Message;
     }
 }
Esempio n. 3
0
 /// <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);
     }
 }
Esempio n. 4
0
        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));
            }
        }