Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
Image 24.png
Publicité
Formation Blender ElephormBlender 3d Elephorm


     




(1) 2 »


Création d'une interface graphique pour mes scripts python
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Bonjour,

Je suis en train de faire des petits scripts pyhton auxquels j'aimerais assigner une interface graphique dans Blender.

Pour commencer, j'aimerais réussir à créer une interface graphique que l'on peut utiliser pour sélectionner des objets par leurs noms

L'objectif étant d'arriver à quelque chose comme ça :



J'ai pour cela suivi un tutoriel et je suis arrivé au code suivant :

import bpy
import Blender
from Blender import Draw, BGL

# Valeurs initiales des boutons :
stringName = Draw.Create("Cube")

#Fonction selectbyname : 
def selectbyname(name):
    name = "*" + name + "*"
    bpy.ops.object.select_pattern(pattern=name)

#Assignation des numeros d'evenement aux boutons    
EV_BT_OK = 1
EV_BT_CANCEL = 2
EV_ST_NAME = 3

#Assignation des positions de lignes
ligne = [None, None, None]
ligne[0] = 5
ligne[1] = 35
ligne[2] = 65

def event(evt, val):
    if event == Draw.ESCKEY:
        stop = Draw.PupMenu("OK?%t|Stopper le script %x1")
    if stop == 1:
        Draw.Exit()
def button_event(evt):
    if evt==EV_BT_OK:
        selectbyname(stringName.val)
        Blender.Redraw()
    elif evt==EV_BT_CANCEL:
        Draw.Exit()
def draw_gui():
    global stringName
    BGL.glRasterPos2i(5, ligne[2])
    Draw.Text("Choisissez le nom à sélectionner")
    Draw.pushButton("OK", EV_BT_OK, 5, ligne[0], 60, 25, "Valider")
    Draw.PushButton("Cancel", EV_BT_CANCEL, 80, ligne[0], 60, 25, "Annuler")
    stringName = Draw.String("Nom: ", EV_ST_NAME, 5, ligne[1], 310, 25, stringName.val, 32, "Nom à selectionner : ")
    
Draw.register(draw_gui, event, button_event)



Il y a une erreur, la console m'affiche :

Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
NameError: name 'Draw' is not defined

Je ne m'y connais pas assez pour comprendre de quoi il s'agit.

Ai-je fait une erreur bête? ou la syntaxe n'est-elle pas bonne?

Je vous remercie d'avance pour votre aide !

Contribution le : 10/07/2017 14:12
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
OverdOzed
Inscrit:
16/01/2011 17:05
De Le plus grand terrier du monde ! Et le plus high-tech.
Post(s): 4049
Tu veux juste afficher une pop-up pour sélectionner un objet / rentrer un nom qui permettra de le sélectionner ?
Dans l'interface classique ? (pas avec le BGE)

Si c'est le cas tu te complique fortement la vie avec bgl, Blender fournit ça de base.

Contribution le : 10/07/2017 14:24
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
OverdOzed
Inscrit:
21/08/2013 19:12
De CH [+]
Post(s): 1558
Salut,

Le code que tu nous montres est prévu pour l'API de Blender 2.4x, assez différente de l'API actuelle.

Donc soit tu travailles encore avec cette version-là, et dans ce cas je ne crois guère que tu trouves beaucoup d'aide, soit tu travailles avec une version récente et il te faut trouver quelques tutos sur Python datant d'il y a moins d'un siècle (ce qui ne devrait pas être trop compliqué).

Et si tu travailles avec une version récente, je suis étonné de l'erreur que tu reçois, la deuxième ligne devrait déjà faire crasher le script.


EDIT: eh, j'ai vu passer un lapin fantôme!

Contribution le : 10/07/2017 14:25
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons
Développeur Blender quand j'en ai le temps...

Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
J'aimerai pouvoir rentrer un nom qui permettra de le sélectionner.

Je ne sais pas ce qu'est le BGE.




Je pars a la recherche de tutoriel plus récent alors, merci !

Contribution le : 10/07/2017 14:43
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Si vous avez des tutoriels récent à me proposer, je suis partant, merci !

Contribution le : 10/07/2017 15:03
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
OverdOzed
Inscrit:
21/08/2013 19:12
De CH [+]
Post(s): 1558
Virtuellement n'importe quel tutoriel apparaissant dans les premiers résultats de la recherche "blender python tutorial" sur ton moteur de recherche préféré. Je ne comprends pas comment tu es arrivé sur un tuto pour 2.4x.

Contribution le : 10/07/2017 15:12
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons
Développeur Blender quand j'en ai le temps...

Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
OverdOzed
Inscrit:
16/01/2011 17:05
De Le plus grand terrier du monde ! Et le plus high-tech.
Post(s): 4049
Je me disais bien que ça ressemblait méchamment à la série 2.4x
(le import Blender aurait dû me mettre la puce à l'oreille, bien vu Matpi)


Comme le dit Matpi, le premier tutoriel qui tombe sur la création d'interface graphique avec python te donnera les grandes lignes du fonctionnement, via les panneaux par exemple.
Si par la suite tu as besoin spécifiquement d'un pop-up, tu trouvera aussi en affinant ta recherche
Mais n'hésite pas si tu as besoin d'aide

Contribution le : 10/07/2017 23:37
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
OverdOzed
Inscrit:
30/12/2011 15:44
Post(s): 565
Il y a aussi la possibilité de se baser sur un des templates disponibles dans l'éditeur de texte.

Contribution le : 11/07/2017 14:37
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
Rebonjour ! J'ai trouvé effectivement des tutoriels beaucoup plus récent :)
Je peux donc créer un panneau avec les templates, mais ce que j'aimerais c'est de pouvoir créer un bouton qui lance mon script.

Par exemple j'ai le script suivant très simple :

import bpy

bpy.ops.object.select_pattern(pattern="*Cube*")


qui me permet de sélectionner tous les cubes (non renommés)

Est-il possible de créer un bouton qui va exécuter ce script?

Par la suite je souhaiterais faire en sorte que ce soit l'utilisateur qui choisisse le nom à sélectionner (en changeant la variable 'name') :

import bpy

name = "Cube"
name = "*" + name + "*"
bpy.ops.object.select_pattern(pattern="name")


Merci encore de m'aider !

Contribution le : 12/07/2017 09:38
Créer un fichier PDF de la contribution Imprimer


Re: Création d'une interface graphique pour mes scripts python
Touriste
Inscrit:
05/07/2017 10:23
Post(s): 13
J'ai réussi à créer les boutons pour lancer mes scripts, je cherche juste a pouvoir modifier une variable avec un bouton maintenant.

Contribution le : 12/07/2017 11:16
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Comment incliner un texte sur un cercle sans déformation des lettres ? 7 200 Aujourd'hui 06:27:25
benjamin_hausbrandt 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Niveau d’intérieur WIP (Manoir) - VIDEO P36    [1][2][3]...[36] 350 44507 Hier 18:19:50
Hook 
Questions & Réponses Bevel et Boolean qui ne fonctionnent pas 1 48 Hier 17:21:49
moonboots 
Questions & Réponses Décor qui apparait petit a petit    [1][2] 10 376 Hier 14:49:58
thierry1222 
Concours Defi de clan 2018 n°21 / Thème : Dessin animé /// VOTES ///    [1][2] 15 673 Hier 14:30:54
Jimoke 
Questions & Réponses [non résolu] Petit soucis lors d'un riging 7 262 18/06 09:00:24
moonboots 
Questions & Réponses Ombre avec map hdri 1 110 17/06 21:29:20
moonboots 
Questions & Réponses [résolu] séparer en 2 objets 7 135 17/06 16:13:21
TOTONE92 
Questions & Réponses [résolu] tuto gurt probleme de subdivision surface    [1][2] 10 189 16/06 20:43:28
TOTONE92 
Questions & Réponses [résolu] Appliquer une pose avec un certain pourcentage 3 135 16/06 13:22:32
BleuRaven 
Questions & Réponses Rigging...    [1][2] 11 347 16/06 08:17:29
Redstar 
Mes premières images sous Blender (débutants) Etudiant en archi qui patauge un peu 2 138 15/06 18:34:50
moonboots 
The Blender Clan 'tchat Évolution de la 3D et automatisation 6 582 15/06 10:26:51
gone69000 
Questions & Réponses [non résolu] Problème 0 105 14/06 16:56:53
loop 
Questions & Réponses [résolu] Déplacement dessin vectoriel + sélection par material 5 167 14/06 14:35:12
Prof_Saesee 
Questions & Réponses [résolu] Modélisation 6 205 14/06 11:58:57
TOTONE92 
Questions & Réponses [résolu] [resolu]Modificateur subdivision 3 203 13/06 12:12:12
titi38360 
Questions & Réponses [résolu] Booléen différence ne marche plus 8 248 13/06 09:37:01
flamel 
Questions & Réponses Modelisation d'une ville européenne. 2 167 12/06 23:04:40
Madjet 
[WIP] et travaux terminés [WIP] Wips Divers Lollito    [1][2][3]...[33] 323 46755 12/06 10:47:39
lollito 

Qui est en ligne
17 utilisateur(s) en ligne (dont 13 sur Forums)

Membre(s): 1
Invité(s): 16


benjamin_hausbrandt, plus...
Nouveaux membres
FerminVerg 20/6/2018
EloiseSeym 20/6/2018
Anh51R2528 20/6/2018
George6771 20/6/2018
EttaDbz122 19/6/2018
GeraldCort 19/6/2018
NidaMontem 19/6/2018
ChesterLyt 19/6/2018
Margaret45 19/6/2018
QuentinFin 19/6/2018
Dernier Ajout
DB11_Aston_Martin_2017_bothview.jpg

Evènements à venir
Jui 30
Anniv des Jedi :-D
Jui 14
BUG de Lyon
Jui 23
Anniv du BlenderClan !
plus 303 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2017 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445