Переключится на нужную вкладку в окне Properties при помощи Blender Python API можно, изменив значение context в нужной рабочей области.
Сначала нужно получить рабочую область area для окна Properties, после чего изменить параметр context на нужное значение.
Например для переключения на вкладку модификаторов объекта:
1 2 3 |
for area in bpy.context.screen.areas: if area.type == 'PROPERTIES': area.spaces[0].context = 'MODIFIER' |
Можно ли получить похожим образом текст из Header в View 3D? Есть функция context.area.header_text_set(str) для установки текста, но как получить текст?
Какой именно текст требуется? Там же меню. Если нужно добавить что-то в хедер, нужно использовать методы append или prepend хедера передавая им функцию для отрисовки дополнительных элементов (как draw в операторе)
при работе операторов трансформации появляется текст в хедере, отображающий значения. Такой текст можно установить в собственных операторах через функцию context.area.header_text_set(str), либо убрать его context.area.header_text_set(None). Можно ли отслеживать данные этого текста из своего поератора?
Вряд ли это возможно, это же просто текст. Если нужно мониторить изменения каких-то параметров, лучше мониторить сами эти параметры. Например если при перемещении в хедер выводится location то лучше мониторить object.location а не выводимый текст.
просто есть еще операторы insert, bend итп данные которых можно получить только после выполнения этих операторов, но не вовремя
В документации я ничего подходящего не нашел. Если найдете, поделитесь, пожалуйста, этот момент может действительно оказаться полезным многим.