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

ADN Club => Revit API => Тема начата: Dairon от 23-04-2021, 16:11:37

Название: Вставка семейства на основе линии Line based
Отправлено: Dairon от 23-04-2021, 16:11:37
Добрый день! Пытаюсь вставить семейство в проект на основе линии. Выдается ошибка "This method is only applicable for detail families". Семейство создано на основе "Generic Model line based.rft"

Код - Python [Выбрать]
  1.  
  2. MyFamilySymbols = FilteredElementCollector(doc).OfClass(FamilySymbol).ToElements()
  3. FamSymbol = 0
  4. for famS in MyFamilySymbols:
  5.     if famS.FamilyName == CableFamilyName:
  6.         FamSymbol = famS
  7.         break
  8.        
  9. TransactionManager.Instance.EnsureInTransaction(doc)
  10. XYZforFam=XYZ(0,0,0)
  11. XYZforFam2=XYZ(1000,1000,0)
  12. newLine = Line.CreateBound(XYZforFam,XYZforFam2)
  13. newobj = doc.Create.NewFamilyInstance(newLine, FamSymbol, doc.ActiveView)
  14. TransactionManager.Instance.TransactionTaskDone()

В чем может быть проблема?
Название: Re: Вставка семейства на основе линии Line based
Отправлено: Александр Игнатович от 23-04-2021, 17:27:55
Нужно использовать другой overload метода NewFamilyInstance. Те, что принимают параметром вид рассчитаны на размещение view-specific семейств, таких, как, например, категории "Элементы узлов"
Название: Re: Вставка семейства на основе линии Line based
Отправлено: Dairon от 23-04-2021, 17:43:45
NewFamilyInstance Method (Reference, XYZ, XYZ, FamilySymbol) Эту перегрузку?
Название: Re: Вставка семейства на основе линии Line based
Отправлено: Александр Игнатович от 23-04-2021, 18:22:16
Эту перегрузку?
Эту то почему?

Семейство на основе линии, смотрим, что у нас есть где в параметрах указано Line и Curve (исключая view-specific), видим следующее

(https://i.postimg.cc/Mnp0dpYK/nfi.png) (https://postimg.cc/Mnp0dpYK)

3 метода, два из них предназначены для размещения на грани (пометил синим), остается всего один

Название: Re: Вставка семейства на основе линии Line based
Отправлено: Dairon от 23-04-2021, 18:26:37
Спасибо большое, я смотрел через www.revitapidocs.com, подумал что только эта подходит. Подскажите откуда эта вырезка с перегрузками?
Название: Re: Вставка семейства на основе линии Line based
Отправлено: Dairon от 23-04-2021, 18:28:53
Все https://www.revitapidocs.com/2021.1/0c0d640b-7810-55e4-3c5e-cd295dede87b.htm тоже нашел, чайник :)
Название: Re: Вставка семейства на основе линии Line based
Отправлено: Александр Игнатович от 23-04-2021, 18:29:40
https://www.autodesk.com/developer-network/platform-technologies/revit

Внизу страницы

(https://i.postimg.cc/68B0GhPS/sdks.jpg) (https://postimg.cc/68B0GhPS)
Название: Re: Вставка семейства на основе линии Line based
Отправлено: Александр Ривилис от 23-04-2021, 21:29:18
Dairon,
Напоминаю про правило форматирования кода на нашем форуме (смотри у меня в подписи).