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
The Blender Clan 'tchat W10 pour le prix d'une cacahuète    [1][2][3] 23 411 Hier 17:29:47
Bibi09 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[26] 256 30166 Hier 12:26:33
moonboots 
[WIP] et travaux terminés [WIP] La pince à linge    [1][2] 11 233 21/01 18:53:10
meltingman 
Hors Sujet !! Tuto Astraonaute low-poly + rigify en 25mm 3 194 21/01 14:47:47
meltingman 
Questions & Réponses Texture et courbe de Bézier 9 172 21/01 14:19:10
Horemheb 
Questions & Réponses freestyle lineset : ignorer un objet spécifique pour une arrête cachée 0 88304 21/01 08:56:34
yekcim 
[WIP] et travaux terminés Pagani Zonda Barchetta 6 222 20/01 09:03:37
moonboots 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[12] 112 22221 19/01 17:57:26
Guiu 
Questions & Réponses chemins suivant une déformation de surface 6 166 19/01 12:26:50
meltingman 
Questions & Réponses Vitesse d'une vidéo 4 136 18/01 19:59:42
meltingman 
Questions & Réponses Armature sans parenté? 1 85 18/01 19:38:25
meltingman 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[41] 405 49073 17/01 20:40:59
Rimpotche 
Questions & Réponses texture eyes avec empty 1 89 17/01 13:17:33
Rimpotche 
The Blender Clan 'tchat Progression dans Blender et la 3D    [1][2] 11 572 16/01 17:37:45
Rimpotche 
Questions & Réponses [terminé] Modificateur Mirror sur un Vertex Group 2 134 16/01 15:55:36
Horemheb 
Questions & Réponses Ma caméra me saoule... 5 259 15/01 20:33:23
Lylo 
Hors Sujet !! Appareil Photo Compact, qualité, zoom...    [1][2] 19 529 14/01 14:45:17
lucky 
Questions & Réponses [résolu] Comportement du parentage et du Weight Paint bizarres    [1][2] 14 148010 10/01 15:17:23
Horemheb 
Hors Sujet !! BONNE ANNEE LE BLENDER CLAN    [1][2] 10 451 10/01 13:34:18
Riggelm 
Questions & Réponses Limit location constraint-Affect transforms 4 220 09/01 14:33:38
Melodicpinpon 

Qui est en ligne
198 utilisateur(s) en ligne (dont 75 sur Forums)

Membre(s): 2
Invité(s): 196


TXXKatrin1, YongMarcot, plus...
Nouveaux membres
BlondellGa 2/1/2022
EileenTomk 2/1/2022
RamonaDahl 2/1/2022
SashaBeals 2/1/2022
TroyLightn 2/1/2022
PhillippBu 2/1/2022
LesterHida 2/1/2022
PansyHolm 2/1/2022
YukikoMitt 2/1/2022
Randall318 2/1/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Fev 15
Anniversaire de Dany
Fev 19
Anniversaire de APPGirault123
Fev 23
anniversaire de windspirit
plus 244 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