Revit API позволяет нам выбирать элементы вызовом uiDocument.Selection.PickObjects. Так же он позволяет нам выбирать точки методом PickPoint и даже передавать в него параметры привязки. мы можем использовать то одно, то другое, исходя из наших потребностей.
Но однажды происходит это:
На плане потолков не срабатывает метод PickPoint. Он кидает исключение именно при вызове, это не OperationCancelledException. А потом он берёт, и срабатывает на другом плане потолков. Вы долго гадаете, в чём причина, сравниваете все параметры, и не находите разницы.
Причина
А дело, как оказывается, вот в чём:
Revit API не позволяет нам использовать метод PickPoint на тех видах, где не задана рабочая плоскость. И чтобы решить эту проблему, нам надо просто задать рабочую плоскость руками на плане потолков:
И всё, проблема решена
Заключение
Самая короткая статья в блоге, ещё и без кода. Обязательно поставьте лайк, если поняли всё, что здесь описано, и подписывайтесь на мой телеграм-канал. До новых встреч!