3D Forum > Blender Python Menü und If

Blender Python Menü und If

20.11.2015 11:51
 
TilesFr. 20 Nov. 2015, 11:51 Uhr
Ich stochere derzeit im Blender Menü rum. Und will ein bestimmtes Menüteil nur dann anzeigen wenn das entsprechende Objekt ausgewähl ist. Leider schiesst mir das Ding hier quer. Und ich komme nicht drauf wieso.

Das Problem ist, sobald ein If in diesem speziellen Menü steht wird der Rest abgesäbelt wenn die If Abfrage gar kein Objekt findet. Ist auch irgendwie logisch und nachvollziehbar. Null Objekt eben.

Also konkret:
if obj.type == 'CAMERA':
layout.menu("VIEW3D_MT_object_specials")


Es kann ein Würfel in der Szene drin sein. Dann ist halt das If falsch weil es keine Kamera ist. Aber das Menü wird trotzdem komplett angezeigt. Wenn aber gar kein Objekt in der Szene ist wird einfach alles nach dem If abgesäbelt.

Ich brauche also wohl eine Abfrage ob überhaupt ein Objekt in der Szene ist. Probiert habe ich schon ein if obj.type != None: . Geholfen hat es leider nichts. Das Menüteil nach dem If fehlt weiterhin ^^

Lustigerweise funktioniert das mit den if statements in dem submenü das ich hier anzeigen will tadellos. Da ist allerdings auch immer ein Objekt vorhanden wenn das aufgerufen wird.

Jemand ne Idee was ich hier falsch mache?

Wenn jemand von euch rumspielen will, das Script ist das space_view3d.py in scripts/startup/bl_ui. Ab Zeile 1025 gehts los. Das Object menu.
 
 
TilesFr. 20 Nov. 2015, 12:47 Uhr
Lösung gefunden. Der Check den ich brauche um zu checken ob überhaupt ein Objekt in der Szene ist heisst

if context.object :

Dank geht an Byob auf dem Blendpolis Forum smile
 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006