Для манипуляций с размерами и положением интерфейсных окон в Blender предусмотрен ряд операторов.
Чтобы разделить текущее (с текущим context) окно на два в заданном соотношении, нужно выполнить оператор:
1 |
bpy.ops.screen.area_split(direction='VERTICAL', factor=0.5) |
Где:
- direction указывает на направление разбиения – по горизонтали ‘HORIZONTAL’ или по вертикали ‘VERTICAL’
- factor – процентное соотношение разделенный окон по выбранному направлению
Новое окно (новый area) добавляется в конец списка bpy.context.screen.areas и может быть получен через
1 |
new_area = bpy.context.screen.areas[-1] |
Для того чтобы объединить два окна в одно нужно выполнить следующий оператор:
1 |
bpy.ops.screen.area_join(cursor=(x1, y1)) |
Где:
- x1, y1 – координаты левого верхнего угла сливаемого окна
Координаты углов окно можно получить через их свойства x и y
1 2 3 4 |
bpy.context.screen.areas[-1].x # 1259 bpy.context.screen.areas[-1].y + bpy.context.screen.areas[-1].width # 912 |