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

ADN Club => Revit API => Тема начата: Олег от 27-02-2018, 19:48:21

Название: DuctInsulation
Отправлено: Олег от 27-02-2018, 19:48:21
Добрый день.
Подскажите как создать DuctInsulation своего типа?
Название: Re: DuctInsulation
Отправлено: Александр Пекшев aka Modis от 27-02-2018, 20:03:38
Как я вижу в справке - есть метод DuctInsulation.Create() (http://www.revitapidocs.com/2018.1/2b56ea02-1c59-5704-7d9e-ebf9fd4a80d4.htm), который 3-м параметром принимает типоразмер
Название: Re: DuctInsulation
Отправлено: Олег от 27-02-2018, 20:06:40
верно.  но сначала надо получить ElementId ductInsulationTypeId,
Название: Re: DuctInsulation
Отправлено: Александр Пекшев aka Modis от 27-02-2018, 20:15:17
но сначала надо получить ElementId ductInsulationTypeId
Ну это должен уметь каждый, кто пишет плагины под ревит =)
Нужно использовать FilteredElementCollector, чтобы взять из проекта нужный типоразмер. Например, вот так можно взять первый типоразмер в документе:
Код - C# [Выбрать]
  1. var typeId = new FilteredElementCollector(doc).OfClass(typeof(DuctInsulationType)).FirstElementId();
Писал на память, но думаю, не ошибся
Название: Re: DuctInsulation
Отправлено: Олег от 27-02-2018, 20:45:59
да вот не хочет находить
Название: Re: DuctInsulation
Отправлено: Олег от 27-02-2018, 21:07:28
в пустом документе нету ни одного DuctInsulationType с которого можно было бы сделать дупликат
Название: Re: DuctInsulation
Отправлено: Александр Пекшев aka Modis от 27-02-2018, 21:45:24
в пустом документе нету ни одного DuctInsulationType с которого можно было бы сделать дупликат
Возможно нельзя программно создать типоразмер. Как впрочем и большинство типоразмеров.
Типоразмер должен быть в документе изначально
Название: Re: DuctInsulation
Отправлено: Олег от 27-02-2018, 21:47:54
нашел  на англоязычном форуме что мол надо его копировать из подготовленного в ручную документа.
не хотелось бы такого. у меня и так куча таких документов из которых копируется всякая "ерунда"
))

но вручную ведь когда нажимаешь добавить то предлагает Default
и создает ведь как-то сам )))
а кто-то когда-то писал что мол программно можно повторить все то что можно сделать вручную.
но это похоже второй случай в моей практике что нельзя.
Название: Re: DuctInsulation
Отправлено: Александр Ривилис от 27-02-2018, 22:17:22
а кто-то когда-то писал что мол программно можно повторить все то что можно сделать вручную.
Не всё и не всегда. Какое-то API дописывается после того как функционал в UI уже есть.
Название: Re: DuctInsulation
Отправлено: Александр Пекшев aka Modis от 28-02-2018, 09:54:04
Да что происходит с этим форумом?! Или я пишу не правильно??
Я написал:
Возможно нельзя программно создать типоразмер. Как впрочем и большинство типоразмеров.
Типоразмер должен быть в документе изначально
После чего читаю ответ (еще и помеченный как решение):
нашел  на англоязычном форуме что мол надо его копировать из подготовленного в ручную документа.

Ну а я что сказал? Не тоже самое??
Все, блин, не буду больше отвечать, раз не слушают

а кто-то когда-то писал что мол программно можно повторить все то что можно сделать вручную.
Это ближе к автокаду фраза. В Ревите как раз таки наоборот. А типоразмеры - так вообще почти никакие создавать нельзя
Название: Re: DuctInsulation
Отправлено: Олег от 28-02-2018, 10:40:33
пометил ваш ответ как решение )))
просто в моем более подробно для читающего расписано.
но пусть вам будет плюсик )))