add-on MORSE
Fou Furieux du Clan
Inscrit:
11/03/2008 17:05
Post(s): 160
Bonjour à tous,
Je me lance dans la création d'un add-on pour l'utilisation de MORSE.
Je ne connais pas grand chose en script python donc c'est aussi un bon moyen de me lancer dedans.

La première question que j'ai est:
comment fait-on une liste de choix avec par exemple
"choix 1"
"choix 2"
"choix 3"
et récupérer la valeur qui est choisie.



et comme :
«Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.»

http://www.blender.org/documentation/blender_python_api_2_56_1/bpy.types.UILayout.html

Mais je ne sais pas lequel il faut et comment sa fonctionne avec tous les paramètres qu'il faut entrer


EDIT je suis sous blender 2.56 (pour des soucis de compatibilité avec MORSE)

Contribution le : 28/07/2011 10:08
_________________
C'est en blendant qu'on devient blenderien | Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
OverdOzed
Inscrit:
13/06/2005 17:15
De Nancy/Strasbourg
Post(s): 575
Moi j'aurai tendance à dire qu'il faudrait utiliser des Property. Ça s'utilise facilement, essaye de t'inspirer d'autres add-on. Teste les EnumProperty.
Je ne sais pas quelle version de Blender tu utilises, en tout cas tu utilises l'api de la 2.56.1, fait gaffe que tu n'aies pas une version de Blender trop avancée, il y a eu des changements dans l'api depuis. (edit : je n'avais pas vu ton edit)

Contribution le : 28/07/2011 10:36
_________________
vi-ka.fr (Galerie)
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
Fou Furieux du Clan
Inscrit:
11/03/2008 17:05
Post(s): 160
Normal je ne l'ai ajouté qu'après avoir lu ton post
Pour les property je veux bien mais c'est pour faire une IHM qui se rajoutera dans l'onglet physics et qui me permettra de choisir dans une liste un capteur MORSE (un .obj) et de l'incorporer directement dans la scène tout en générant du code python dans un autre code source python pour ce qui est communication et interfassage du dit capteur.

Contribution le : 28/07/2011 11:00
_________________
C'est en blendant qu'on devient blenderien | Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
OverdOzed
Inscrit:
01/03/2011 15:40
Post(s): 791
Tu te lances dans un assez gros truc, pour une première fois, j’ai l’impression… Vi a raison, lis le code d’un maximum de scripts, le fonctionnement de l’API python de blender est assez particulier.

En ce qui concerne l’UI, pour faire simple, tu te contentes, avec les fonctions de UILayout, de dire des trucs comme « afficher le contrôle correspondant à cette propriété »… et c’est tout ! En clair, tu ne peux décider que du placement, de l’ordonnancement des contrôles.

Tout le reste est géré automatiquement par blender, à partir de la définition des propriétés affichées/contrôlées…

Si ta propriété est un boolean, l’UI utilisera une checkbox, si c’est un nombre (entier ou flottant), ce sera un champ numérique (ou un curseur, si l’option correspondante est définie à la définition de la propriété en question), si c’est un enum, ce sera une liste déroulante (ou, là aussi, une liste de boutons, si l’option est spécifiée), etc.

Donc, pour toi, à priori, je dirais qu’il te faut créer un operateur (qui « fera le boulot »), et définir dans cet opérateur une propriété enum contenant tes choix… Note que les réglages des opérateurs apparaissent automatiquement dans le panneau dédié, dans la vue 3D, pas besoin de définir une fonction d’UI (sauf si tu veux personnaliser l’interface, évidemment)…

Contribution le : 28/07/2011 12:21
_________________
Dev Blender | http://mont29.wordpress.com/
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
Fou Furieux du Clan
Inscrit:
11/03/2008 17:05
Post(s): 160
Citation :

mont29 a écrit:
Tu te lances dans un assez gros truc, pour une première fois, j’ai l’impression… Vi a raison, lis le code d’un maximum de scripts, le fonctionnement de l’API python de blender est assez particulier.


Oui je sais mais je n'ai pas peur j'ai déja fait pire.

voici mon code qui fonctionne sous linux mais pas sous windobe ... je ne sais pas pk.

import bpy
class OBJECT_capteur(bpy.types.Panel):
    
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "physics"
    bl_label = "Test Panel MORSE"
    
    
    def draw_header(self, context):
        
        layout = self.layout
        layout.label(text="Icon text", icon='RADIO')
        
    def draw(self, context):
        
        obj = bpy.context.active_object
        layout = self.layout
        
        row = layout.row()
        row.label(text="l'object selectione est : " + obj.name)
        
        row = layout.row()
        row.alignment = 'LEFT'
        row.operator( "Ajoutcapteur" )
       
                
class MorseOperator(bpy.types.Operator):

	bl_idname = "Ajoutcapteur"
	bl_label = "Ajouter le capteur"
         
	def execute(self, context):
		bpy.ops.wm.link_append(directory="mon_chemin\capteur1.blend\\Object\\", filename="Capteur1",link=False)
        #return {'FINISHED'}

Contribution le : 28/07/2011 13:11
_________________
C'est en blendant qu'on devient blenderien | Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
OverdOzed
Inscrit:
13/06/2005 17:15
De Nancy/Strasbourg
Post(s): 575
T'as pas eu un rapport d'erreur dans la console ?
C'est peut être le chemin d'accès de ton objet qui merde, les os réagissent pas pareil à ce niveau.

Contribution le : 28/07/2011 14:10
_________________
vi-ka.fr (Galerie)
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
Fou Furieux du Clan
Inscrit:
11/03/2008 17:05
Post(s): 160
non, il compile et il se lance c'est bien ça le problemme car il n'affiche rien contrairement quand je suis sous linux.

Contribution le : 28/07/2011 14:25
_________________
C'est en blendant qu'on devient blenderien | Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
OverdOzed
Inscrit:
01/03/2011 15:40
Post(s): 791
Voui, mais qu’il se compile et se lance ne veut pas dire qu’il n’y a pas de problème… Regarde dans les deux consoles (celle intégrée dans blender, et celle ouverte au lancement de blender – il faut peut-être l’activer depuis le menu help, je ne sais plus…).

J’aurais tendance à plussoyer Vi, ’y a des chances que ce soit un problème de chemin…

Contribution le : 28/07/2011 16:48
_________________
Dev Blender | http://mont29.wordpress.com/
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
Fou Furieux du Clan
Inscrit:
11/03/2008 17:05
Post(s): 160
Oui je pense que ça doit être ça. si quelqu'un peut tester mon code pour le moment en changent le lien. (il y a beaucoup de choses qui manquent)

import bpy


def capteurnames():
    
    myitems = (('0','accelerometer',''), ('1','battery',''), ('2','camera',''), ('3','GPS',''), ('4','Gyroscope',''))
    
    return myitems


class OBJECT_MORSE(bpy.types.Panel):
    bl_label = "Test Panel MORSE"
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "physics"

    myitems = capteurnames()
    bpy.types.Scene.list = bpy.props.EnumProperty(name="Capteur ",items=myitems)
    
    def draw_header(self, context):
        
        layout = self.layout
        layout.label(icon='RADIO')
    
    def draw(self, context):
        layout = self.layout

        obj = context.object
        
        row = layout.row()
        row.label(text="l'object selectione est : " + obj.name)

        row = layout.row()
        row.label(text="Choix du capteur", icon='RADIO')

        row = layout.row()
        row.prop(context.scene, "list")
        
        row = layout.row()
        row.alignment = 'CENTER'
        row.operator( "Ajoutcapteur" )
        capteur= bpy.context.scene.list
                       
                
class MorseOperator(bpy.types.Operator):
	bl_idname = "Ajoutcapteur"
	bl_label = "Ajouter le capteur"
         
	def execute(self, context):

		bpy.ops.wm.link_append(directory="/home/pio/Bureau/morse/data/morse/components/sensors/morse_gyroscope.blend\\Object\\", filename="Gyroscope",link=False)


def register():
    bpy.utils.register_class(OBJECT_MORSE)
def unregister():
    bpy.utils.unregister_class(OBJECT_MORSE)

if __name__ == "__main__":
    register()

Contribution le : 29/07/2011 10:51
_________________
C'est en blendant qu'on devient blenderien | Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.
Créer un fichier PDF de la contribution Imprimer


Re: add-on MORSE
Fou Furieux du Clan
Inscrit:
11/03/2008 17:05
Post(s): 160
je suis bloqué sur un truc simple en apparence. comment fait-on pour récupérer la valeur de ma variable capteur de la "class OBJECT_MORSE" pour l'utiliser avec des conditions Switch/Case et changer le chemin en fonction du choix de la liste dans la "class MorseOperator".

Contribution le : 29/07/2011 14:25
_________________
C'est en blendant qu'on devient blenderien | Avant de venir m’exposer vos problèmes, préparez des solutions. Car, si vous ne faites pas partie des solutions, vous faites peut-être partie des problèmes.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




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 rétrécir une face par rapport uniformément à son bord plutôt que par rapport à son centre. 7 1434 Aujourd'hui 17:00:26
kimlicrea 
Questions & Réponses Labels autour de l'objet 2 65 Aujourd'hui 14:33:09
Redstar 
Questions & Réponses APPEL AUX VOLONTAIRES 0 34 Aujourd'hui 10:22:33
Melodicpinpon 
Questions & Réponses export 1000x trop petit 6 137 Aujourd'hui 08:25:26
Redstar 
Hors Sujet !! FActualités : un petit journal humoristique    [1][2] 12 979 Hier 02:06:25
meltingman 
Hors Sujet !! Le mal des répondeurs du forum (nouzautr's) 9 194 Hier 01:52:27
Thewada 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[57] 565 182822 17/05 20:44:39
Redstar 
Questions & Réponses Séparer un script en plusieurs add-ons 3 121 17/05 13:10:08
Redstar 
Questions & Réponses Graph editor: ne peut pas changer le handle type en free ? 9 193 17/05 12:27:31
Redstar 
Questions & Réponses [résolu] Transfer simulation cloth en boucle 5 267 17/05 12:25:56
Redstar 
Questions & Réponses [résolu] Pas d'ombre sur l'objet 8 164 16/05 19:37:11
Lylo 
Questions & Réponses Prb modélisation hache | mirror modifier 3 122 15/05 07:05:53
Rimpotche 
Questions & Réponses [non résolu] Blend4web et Blender version 2.80 ?    [1][2] 16 3133 14/05 09:50:34
blendinfos 
Questions & Réponses Je patine avec mon personnage 8 361 14/05 00:37:43
Lylo 
Questions & Réponses [résolu] rendre visible image as plane et wireframe 3 113 13/05 15:54:36
Rimpotche 
Graphisme alternatif Logiciel anatomie, bouger un écorcher ? 3 231 12/05 08:55:27
Redstar 
[WIP] et travaux terminés [terminé] Le bouï, mon ^premier moyen métrage, avec des FX et montage Blender :D 2 116427 12/05 06:42:07
Lylo 
Questions & Réponses [résolu] Rendu d'une image sans avoir de flou - cycle 4 288 11/05 10:50:27
Redstar 
Questions & Réponses Du masculin vers le féminin avec lattice 2 214 10/05 20:25:01
Melodicpinpon 
Hors Sujet !! Outils produtifs en animation avec Blender 3 - tutoriel de 15 mm 0 128 10/05 19:52:42
meltingman 

Qui est en ligne
157 utilisateur(s) en ligne (dont 97 sur Forums)

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


plus...
Nouveaux membres
MargeneAll 18/5/2022
JustinePor 18/5/2022
BernardoSm 18/5/2022
LavadaBate 18/5/2022
Aleisha659 18/5/2022
DaleneClev 18/5/2022
EmelyCharl 18/5/2022
JoniHkg13 18/5/2022
AdaSinclai 18/5/2022
JannStrain 18/5/2022
Dernier Ajout
2020-09-24.jpg

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