Séparer un script en plusieurs add-ons
OverdOzed
Inscrit:
18/02/2015 20:28
Post(s): 717
Salut à toustes,

J'essaie de séparer un script en plusieurs add-ons sans y parvenir malgré mes efforts.

Si quelqu'un s'y retrouve en python et veut me donner un coup de main là-dessus, ça permettrait de partager gratuitement ces add-ons:

-lier la visibilité des enfants à celle des parents
-garder les lumières allumées en vue isolée
-garder les lumières allumées en vue locale
-créer un label
-traduire tout les objets et les collections
-utiliser des plans de coupe selon les collections
-afficher la définition de l'objet actif
-...

Le script complet est contenu dans le fichier partagé ici:
https://www.z-anatomy.com/forum/about-python-scripts/z-anatomy-py-script

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


Re: Séparer un script en plusieurs add-ons
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 2010
Coucou Melodicpinpon,

Avant tout, je te propose de faire un peu de réorganisation:

- Regroupe les imports en première ligne;
- Regroupe les classes en secondes partie, après les imports;
- Fait suivre le regroupement des fonctions.

Cela permettra de retirer la confusion et le cafouillis des dépendances via les imports.

N'oublie surtout pas de faire une sauvegarde de ton fichier avant de réorganiser.

Ensuite, si tu désires séparer en plusieurs script, voilà comment tu dois procéder:

Comme tu le sais sans doute, quand tu importes quelque chose dans un script, c'est parce que tu as besoin du "module" x ou y, qui est constitué de classes, ou de fonctions, voire les deux.

Concrètement prenons un simple dictionnaire:

fichier dictionnaire:

dico = {'os':valeur,
        'machin':0,
        'ShowOrgane':True}


Ton fichier exécutable:

# option 1
import dictionnaire

print(dictionnaire.dico['os'])

# option 2
from dictionnaire import dico

print(dico['os'])

# dans ton cas, ce sera classe.fonction(arg1, arg2) ou classe.attribut = valeur


Cet exemple est valable pour une classe ou une fonction, à toi de juger comment tu veux organiser ton code selon les options exposées.

Il ne faut pas oublier de remettre les dépendances là ou c'est nécessaire pour tes classes ou fonctions.

Jusque là, tu penses pouvoir te débrouiller ou on doit te le faire à ta place ?

Contribution le : 16/05 12:32:49
Créer un fichier PDF de la contribution Imprimer


Re: Séparer un script en plusieurs add-ons
OverdOzed
Inscrit:
18/02/2015 20:28
Post(s): 717
J'ai passé la matinée à tenter par addition, puis par soustractions; et j'arrive à des scripts exécutables sans bug, mais -j'ignore pourquoi- quand je relance le fichier et que j'exécute le script après ouverture, les fonctions ne font plus effet...

Je peux t'envoyer cette partie par exemple:
https://pasteall.org/blend/b9339023a62f40c18f1c73a6eb5143f6

Je ne suis pas contre apprendre le python mais l'essai-erreur est vraiment chronophage et je pense être plus utile à me consacrer à l'anatomie; si quelqu'un de plus expérimenté pouvait le faire, ça m’arrangerait et on aurait plus de chance d'aboutir à quelque chose de fonctionnel.

Contribution le : 16/05 18:11:49
Créer un fichier PDF de la contribution Imprimer


Re: Séparer un script en plusieurs add-ons
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 2010
Dans ton fichier, aucune instruction n'est écrite pour lancer quoi que ce soit: tu as bien une liste "classes" mais ça n'exécute rien.

J'ai voulu tenté de lancer "OBJECT_OT_hide_wrapper" mais il manque des dépendances de variables et les arguments "self" et "context" posent problème.

Sauf si je me trompe, une classe ne doit pas avoir d'arguments si cette dernière ne contient pas de méthode constructeur __init__(self).

Mais je t'avoues que mes connaissances sont très basiques à ce niveau, n'étant pas amené à programmer véritablement...

Contribution le : 17/05 13:10:08
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 Blender Tribu, un nouveau forum 4 502 Hier 19:29:35
lapineige 
Questions & Réponses Machine distante puissante 1 38 Hier 13:33:05
sapajou 
Questions & Réponses Lattice cylindrique 2 34 Hier 12:33:08
kimlicrea 
[WIP] et travaux terminés Participation au concours Spark Avec Blender 2 86 Hier 11:51:13
ArnaudT 
Questions & Réponses [résolu] Transition couleur 7 279 23/06 23:13:47
yawdpwal 
Questions & Réponses Image étiré sur un objet 3 104 23/06 22:50:24
meltingman 
Questions & Réponses [non résolu] Mes UDIM ne se chargent pas automatiquement 2 87 23/06 18:00:47
Voltrum 
Questions & Réponses Je n'arrive pas à rendre mon animation, je n'obtiens que des images noires    [1][2] 16 40870 23/06 17:48:25
thomas56 
Questions & Réponses booleen: Faire une différence entre deux objet 4 135 21/06 00:08:50
BlendProblem 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[29] 284 40197 18/06 09:13:32
moonboots 
Questions & Réponses Panneau disparu en passant de 3.0 à 3.2 2 164 18/06 08:53:13
Horemheb 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[42] 415 58751 15/06 19:35:29
Teto45 
Questions & Réponses [résolu] effet de fumée: mon cube "domain" apparaît lors du render 2 272 14/06 09:42:07
PounchPounch 
[WIP] et travaux terminés [WIP] Les tests de mon gros projet (merci pour vos conseils)    [1][2][3][4] 33 51498 13/06 13:37:51
Lylo 
The Blender Clan 'tchat Leurre ?    [1][2][3] 22 1255 08/06 02:04:39
meltingman 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[57] 567 185605 07/06 20:14:37
Redstar 
Questions & Réponses [non résolu] Cycle rendre une vitre de manière visible 0 168 06/06 10:33:25
Redstar 
The Blender Clan 'tchat VSE !!! 2 295 05/06 02:35:33
meltingman 
The Blender Clan 'tchat Inscription BlenderClan 6 1162 04/06 09:50:41
Redstar 
The Blender Clan 'tchat Les muets 0 214 03/06 23:04:31
Rimpotche 

Qui est en ligne
224 utilisateur(s) en ligne (dont 71 sur Forums)

Membre(s): 3
Invité(s): 221


Roberto71H, FrankBachm, MosheRicke, plus...
Nouveaux membres
JadaBlackm 26/6/2022
LuellaYic6 26/6/2022
NapoleonBa 26/6/2022
KandisRodr 26/6/2022
MaryDeLiss 26/6/2022
Bridgett54 26/6/2022
IonaKiley7 26/6/2022
ASIArlen73 26/6/2022
BreannaPar 26/6/2022
LavonneBay 26/6/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