for area in context.screen.areas: # iterate through areas in current screen
if area.type == 'VIEW_3D':
for space in area.spaces: # iterate through spaces in current VIEW_3D area
if space.type == 'VIEW_3D': # check if space is a 3D view
space.shading.type = 'MATERIAL' # set the viewport shading to material
I’m dealing with a similar issue here regarding View3DShading. I’m wondering, does this procedure is the only way to pinpoint the ‘destination’ of the action, or is there a specific way to target it directly?
Say, like typing bpy.context.screen.View3DShading.shading.type, in this case. (which doesn’t work, hence my question)
By repurposing your code I can achieve what I’m trying to do, but I’m clearly new to this and I don’t want to just copypaste the whole thing so I’m trying to wrap my head around how it all works.
Brute-force method is pretty tedious at the moment