ADN Club => Revit API => Тема начата: Iurii от 24-02-2020, 20:01:07
Название: Как установить светильник ?
Отправлено: Iurii от 24-02-2020, 20:01:07
Опыта программирования под Revit ARI нет, пользуясь вашей ссылкой на уроки Autodesk попытался расставить хотя бы 1 светильник в выбранных помещениях. Но они ставятся на пол. В этом форуме нашёл попытки решить эту проблему, но она не была решена. Попытался в меру сил найти на английском, нашёл: https://thebuildingcoder.typepad.com/blog/2009/08/electrical-settings-and-lighting-fixtures.html но, я не смог полностью разобраться в логике, и я так понимаю там устаревший диалект C#. Короче, мне необходимо установить светильники на потолок (в помещениях фальш-потолки, семейство именно "Многослойные потолки"). Алгоритм расстановки я придумал, не понимаю, как установить светильник в конкретную позицию на потолке. Уже потихоньку пару недель над этим сижу, продвижек нет. Спасибо заранее.
Название: Re: Как установить светильник ?
Отправлено: Agens от 25-02-2020, 09:27:35
используется метод https://www.revitapidocs.com/2015/7febcfdb-dbfa-317a-1c5e-882621f3e846.htm, XYZ location...
Название: Re: Как установить светильник ?
Отправлено: Александр Игнатович от 25-02-2020, 10:26:18
Ну тут с азов надо начинать. Светильники - это пользовательские семейства. Пользовательские семейства могут поддерживать различные опции размещения. Светильники, вероятнее всего, реализованы как семейства на основе грани. Сначала посмотри, как они работают в UI, потом глянь значение свойства Family.FamilyPlacementType.
Дальше смотрим в API методы для размещения семейства - NewFamilyInstance, видим, что там их аж 12 штук. Сразу отбрасываем 4 - где идёт речь о размещении семейства на основе линии, в оставшихся 8 смотрим, где речь идёт о host-овых элементах. Да, можно попробовать использовать метод из совета Агента выше, если работает - хорошо, если нет, или ожидаемый результат отличается от желаемого - окей, остается 2 метода: