Если нужно одновременно иметь доступ и к текущему контексту, например для работы с операторами, и к данным сцены, например для работы с мешами, мы обращаемся к двум предопределенным в Blender Python API структурам: «bpy.context» и «bpy.data».
Например мы можем передать указатели на эти две структуры в функцию:
|
1 2 3 4 5 6 7 8 9 10 11 |
import bpy def my_func(context, scene_data): print(context, scene_data) my_func( context=bpy.context, scene_data=bpy.data ) # <bpy_struct, Context at 0x00000000050EF568> <bpy_struct, BlendData at 0x0000000007FA6408> |
Однако в структуре контекста «bpy.context» уже есть ссылка с именем «blend_data», которая указывает на данные сцены. С помощью этого указателя можно обращаться к данным сцены, не передавая его отдельно в явном виде.
|
1 2 3 4 5 6 7 8 9 10 |
import bpy def my_func(context): print(context, context.blend_data) my_func( context=bpy.context, ) # <bpy_struct, Context at 0x00000000050EF568> <bpy_struct, BlendData at 0x0000000007FA6408> |