Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: Пашин Евгений от 15-12-2015, 14:41:51

Название: Как получить список путей вложенных семейств?
Отправлено: Пашин Евгений от 15-12-2015, 14:41:51
Добрый день, подскажите как можно получить список всех путей вложенных семейств?

В Revit LookUp это находится в Family Document, но в самом Revit-e я не смог найти это объект.
Подскажите как связаться с этим объектом.
Название: Re: Как получить список путей вложенных семейств?
Отправлено: Александр Игнатович от 15-12-2015, 15:23:56
День добрый.

Можно получить документ семейства из проекта:
Код - C# [Выбрать]
  1. document.EditFamily(family)

Но, возможно, будет правильнее, получив экземпляр семейства - FamilyInstance, вызвать метод
Код - C# [Выбрать]
  1. familyInstance.GetSubComponentIds()
Название: Re: Как получить список путей вложенных семейств?
Отправлено: Пашин Евгений от 15-12-2015, 15:38:11
Спасибо, попробую и отпишусь!

Александр Игнатович, спасибо за направление!
Всё получилось!

Код - vb.net [Выбрать]
  1.     Public Sub Get_Families_Pathname(commandData As ExternalCommandData)
  2.         Dim uiDoc As UIDocument = commandData.Application.ActiveUIDocument
  3.         Dim Doc As Document = uiDoc.Document
  4.  
  5.         Dim collector As FilteredElementCollector = New FilteredElementCollector(Doc).OfClass(GetType(Family))
  6.         For Each fam As Family In collector
  7.             Try
  8.                 ' Получаем документ семейства
  9.                 Dim familyDoc As Document = Doc.EditFamily(fam)
  10.                 If familyDoc IsNot Nothing AndAlso familyDoc.IsFamilyDocument = True Then
  11.                     MsgBox(familyDoc.Title.ToString & ";" & familyDoc.PathName.ToString)
  12.                 End If
  13.             Catch ex As Exception
  14.             End Try
  15.         Next
  16.     End Sub
  17.