|
Re: Context switch during SVG import |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
19/02/2009 16:27 De Un peu plus à l'ouest...
Post(s): 475
|
C'est rassurant, alors, j'avais bien compris la notion de contexte.
Par contre tu dis qu'un opérateur pour extruder un vertex ne peut pas se lancer en mode édition, c'est pas l'inverse ? Pour extruder un vertex je me mets en mode édition dans la vue 3D, non ? Pour mon soucis, j'ai oublié de préciser que ce script est lancé par blender depuis un appel en ligne de commande, tq :
J'ai bien essayé de me remettre en mode objet avant le convert (ce qui est, il me semble, ce qu'il faut pour une conversion), mais un poll est également levé sur le bpy.ops.object.mode_set(mode='OBJECT'):
Du coup j'ai regardé du côté du contexte nécessaire pour le changement de mode, et du côté des contextes en général, et effectivement, j'ai, avec :
Il n'y a pas d'Area définie ! (ni donc de région, logiquement). C'est d'un certain côté logique, puisque le script est exécuté en amont de toute interaction avec l'utilisateur, donc le hover de la souris n'a pas encore défini d'Area ni de Region. La question à présent : comment forcer le contexte à se mettre sur la vue 3D ? (Area:'3D_View', Region:'Window') J'ai bien vu dans la doc les override du contexte, mais je n'arrive pas à le faire fonctionenr. Dans leur exemple, ils passent leur override à la fonction bpy.ops.screen.screen_full_area, qui d'après sa doc ne prend pas de paramètres particuliers. Les override doivent donc vraisemblablement être acceptés comme paramètre optionnel par les opérateurs. J'ai donc ajouté :
...et je progresse ! En effet, j'ai une nouvelle erreur, qui me vient cette fois-ci de l'override :
Du coup, il semblerait que Blender ne soit tout simplement par encore "initialisé" du point de vue de ses contextes, au moment du lancement du script. Y-a-t-il un moyen de faire ça ? Ou faut-il que je passe en plus 'scene', 'edit_object', 'active_object' et 'visible_bases' à mon override ? Merci à vous !
Contribution le : 28/07/2015 10:36
|
|
_________________
« Affirmation sans argumentation est signe de confusion ! » Le mot de la fin : « Meeeeeuuuuuhhhh ! » ![]() |
||
![]() ![]() |