Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
TEST ROBOT 1024.jpg
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): 564
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 serie de tubes de plus en plus courbés 9 140 Hier 18:54:39
moonboots 
Questions & Réponses [non résolu] Question - exploiter la synthèse vocal de windows 0 57 Hier 16:04:17
Redstar 
Questions & Réponses [WIP] Créer un portail magique 7 612 Hier 15:57:34
Redstar 
The Blender Clan 'tchat Des clés USB fusée pour Blender! 9 404 Hier 09:59:12
lucky 
The Blender Clan 'tchat Gagner de l'argent avec Blender 6 699 Hier 07:33:25
Tardifice 
Mes premières images sous Blender (débutants) Première sclupture 5 623 22/02 15:37:24
moonboots 
[WIP] et travaux terminés [WIP] Wips Divers Lollito    [1][2][3]...[29] 280 39265 22/02 14:45:49
Hook 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur (Bêta téléchargeable p32 !!!)    [1][2][3]...[33] 329 36932 22/02 14:36:30
Hook 
Questions & Réponses Redimensionner et exporter dans plusieurs échelles ? 5 346 22/02 13:04:19
thibd 
Questions & Réponses profondeur infini    [1][2] 13 746 21/02 23:08:31
moonboots 
The Blender Clan 'tchat Le topic des trucs à voir    [1][2][3]...[302] 3011 685814 21/02 16:54:18
Thewada 
The Blender Clan 'tchat Quelques questions sur Eevee 2 201 21/02 11:09:03
moonboots 
Mes premières images sous Blender (débutants) premiere image! mandragore en courbe de béziers 1 221 20/02 17:43:59
blend74 
Questions & Réponses Ajouter la 'simplify brush' dans les brosses par défaut 2 189 20/02 13:03:48
Melodicpinpon 
Concours Défis du Clan 2018 - semaine 6 : "Cabinet de curiosités" 5 539 20/02 12:11:11
Deleatur 
Questions & Réponses [résolu] Enregistrer son pie menu 1 176 20/02 04:08:41
NoRab 
Moteur de jeu GameBlender et alternatives Armory3d moteur alternatifs    [1][2] 13 2348 19/02 22:14:26
theo29270 
[WIP] et travaux terminés 6090 FS Hydraulic Mining Shovel Caterpillar    [1][2][3] 29 3685 19/02 18:55:54
busanga 
Questions & Réponses [non résolu] Courbe de bezier 5 319 19/02 16:37:58
zeromeetsinfinity 
Mes premières images sous Blender (débutants) club Blender en collège/lycée - 3ème projet : un robot-chat [page 4]    [1][2][3]...[5] 44 11072 18/02 21:32:09
Jimoke 

Qui est en ligne
24 utilisateur(s) en ligne (dont 11 sur Forums)

Membre(s): 0
Invité(s): 24


plus...
Nouveaux membres
MiaCuellar 23/2/2018
KrystalBus 23/2/2018
RoyV32840 23/2/2018
Baxter32 23/2/2018
Kina790229 23/2/2018
JuliHilder 23/2/2018
Kbp 23/2/2018
bbM 23/2/2018
Joseph7346 23/2/2018
slaine30 23/2/2018
Dernier Ajout
DB11_Aston_Martin_2017_bothview.jpg

Evènements à venir
(continuer) - Fev 25
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
Mar 16
Anniversaire de galba
plus 307 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