IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Script en Python sous Blinder [Python 3.X]


Sujet :

Programmation multimédia/Jeux Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut Script en Python sous Blinder
    Bonjour à tous,

    Voici mon problème.

    J'essaie de faire fonctionner un script qui me semble "assez correct", du moins, correspondant à ce que je souhaite faire, mais il ne fonctionne pas.

    En effet, je souhaite diminuer la taille de fichiers ".wrl" (pièces 3D) en automatisant cela sur plus de 3000 fichiers.
    Les étapes je sais les faire de façon manuelle, j'obtiens bien un fichier moins lourd, mais je souhaite automatiser cette tâche en l'automatisant grâce à un script pour 3000 pièces.

    En effet, chacune de ces pièces se composent de plusieurs élements.

    Les étapes manuelles sont les suivantes :

    - Conversion en un seul object ("Object Mode" sous Blinder).
    - JOIN
    - Je rechange de mode, "Edit Mode"
    - Je sélectionne "Remove Doubles"
    - Et je sauvegarde ma pièce. Je gagne environ 25-30% de la taille.

    Mon Script est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import bpy
    from mathutils import Vector, Matrix, Quaternion, Euler, Color
    from os import *
     
     
    input_dir = "C:\\Users\\fdu\\Documents\\MesDocumentsPersos\\Programmation\\Python\\vrml-De-Base\\"
    output_dir = "C:\\Users\\fdu\\Documents\\MesDocumentsPersos\\Programmation\\Python\\vrml-Allege\\"
     
    for wrl_file in listdir(input_dir):
        if wrl_file.endswith(".wrl"):
     
            object_all = bpy.context.scene.objects
            for ob in object_all:
                ob.select = True
            bpy.ops.object.delete(use_global=False) # Permet de supprimer les caméras (servent à rien)
     
            filepath = path.join(input_dir, wrl_file)
            bpy.ops.import_scene.x3d(filepath=filepath, filter_glob="*.wrl")
     
            object_all = bpy.context.scene.objects
            for ob in object_all:
                ob.select = ob.name.startswith("Viewpoint") # Viewpoint : CAMERAS
            bpy.ops.object.delete(use_global=False)
     
            object_all = bpy.context.scene.objects
            for ob in object_all:
                ob.select = ob.name.startswith("Shape_IndexedFaceSet") # Shape_IndexedFaceSet -> Chaque pièce composant le wrl
            if bpy.context.object.mode == "EDIT": # PB sur cette ligne à l'exécution
                bpy.ops.object.editmode_toggle()
            bpy.ops.object.join()
     
            if bpy.context.object.mode == "OBJECT":
                bpy.ops.object.editmode_toggle()
            bpy.ops.mesh.remove_doubles(use_unselected=False, threshold=9.999999747378752e-05)
     
            filepath = os.path.join(output_dir, wrl_file)
            bpy.ops.export_scene.vrml2(filepath=filepath)
    J'ai mis en commentaire la ligne sur laquelle j'ai une erreur.

    Est-ce que quelqu'un peut m'aider car il faut dire que je débute totalement sur ce logiciel ainsi qu'en Python.

    Merci d'avance

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par fredbubu65 Voir le message
    J'ai mis en commentaire la ligne sur laquelle j'ai une erreur.
    Ca serait bien de poster l'erreur (le tas de lignes appelé traceback) remontée par Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut réponse
    Dans les lignes en console concernant l'erreur, y a rien ! Y a juste : "Python script fail, look in the console for now..."

    Seulement, je ne sais pas comment faire et utiliser la console !!! Si quelqu'un peu m'indiquer la démarche pour avoir plus d'infos ça serait cool.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par fredbubu65 Voir le message
    Seulement, je ne sais pas comment faire et utiliser la console !!! Si quelqu'un peu m'indiquer la démarche pour avoir plus d'infos ça serait cool.
    Vous auriez plus de chance dans un forum Blender ou simplement en ouvrant la documentation de Blender.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut réponse
    Ok merci ! Je vais attendre un peu avant de fermer cette discussion. Je vais faire un tour sur des forums spécialisés alors, vu qu'il y a personne qui s'y connaît.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Par défaut
    si editmode_toggle() passe bien en edit mode (pas sûr) le problème est simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if bpy.context.object.mode == "EDIT": # PB sur cette ligne à l'exécution
                bpy.ops.object.editmode_toggle()
    sur cette partie tu ne passes en edit mode que si tu est déjà en edit mode, je pense que c'et pour ca que ca coince.
    perso j'aurai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if bpy.context.object.mode != "EDIT": # si on est pas en edit mode
                bpy.ops.object.editmode_toggle() # on passe en edit mode...
    voilà j'espère que ça t'aura aidé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 2.X] installation d'un script python sous Linux/Mac OS
    Par nekcorp dans le forum Général Python
    Réponses: 14
    Dernier message: 22/02/2015, 01h57
  2. script PHP dans script python sous zope
    Par kck61 dans le forum Zope
    Réponses: 1
    Dernier message: 18/07/2012, 17h25
  3. [Tkinter] Python sous Linux
    Par PMdomine dans le forum Tkinter
    Réponses: 7
    Dernier message: 06/03/2006, 20h56
  4. Réponses: 4
    Dernier message: 10/02/2006, 13h49
  5. probleme apache+module python sous windows
    Par gaussprodada dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 02/11/2004, 21h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo