Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
tourelle~1.jpg
Publicité
Formation Blender ElephormBlender 3d Elephorm


     






Script en Python - Optimiser la taille d'un fichier en wrl
Touriste
Inscrit:
11/01 15:23:08
Post(s): 1
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 :

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)



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

Contribution le : 11/01 15:31:50
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
Concours Défi du clan 2019 n°1 / Thème: La ferme 4 235 Aujourd'hui 21:28:08
titi38360 
Mes premières images sous Blender (débutants) mon premier bonzai low poly (un peu déplumé)    [1][2][3]...[10] 92 3661 Aujourd'hui 21:10:56
tykrane 
Questions & Réponses roue à rochets 5 42 Aujourd'hui 21:08:45
tykrane 
Questions & Réponses objet joint avant l'armature 2 31 Aujourd'hui 13:17:47
Zarathoustra 
The Blender Clan 'tchat [RECHERCHE] Modélisateur (Dev Python) pour Stage/CDD/CDI 2 839 Aujourd'hui 10:35:52
tricotou 
Questions & Réponses [non résolu] Animer une queue    [1][2][3] 22 272 Hier 19:05:24
Horemheb 
Moteur de jeu GameBlender et alternatives Jeu d'action/aventure (WIP) 6 104 Hier 18:07:26
Redstar 
Questions & Réponses [résolu] Bone avec longueur fixe (non redimensionnable) 3 63 Hier 01:53:22
Rimpotche 
Mes premières images sous Blender (débutants) Première réalisation 6 82 16/01 20:42:16
Zarathoustra 
Mes premières images sous Blender (débutants) Création d'un personnage robotique 9 166 16/01 18:14:36
docouatzat 
The Blender Clan 'tchat Blender 2.80    [1][2] 14 1462 15/01 19:30:45
Fadge 
Questions & Réponses effet encre révélant un objet    [1][2][3] 22 864 15/01 19:05:33
thomas56 
Questions & Réponses [résolu] Dupliquer un groupe d'objets animé 4 75 15/01 13:38:43
moonboots 
Mes premières images sous Blender (débutants) reprise    [1][2][3]...[7] 67 2536 14/01 20:38:02
tykrane 
Questions & Réponses [résolu] Bridge edge loop tordu 1 86 14/01 15:23:45
sapajou 
Questions & Réponses Problème d'opération boolean avec géométrie complexe 2 151 13/01 09:53:15
Redstar 
Questions & Réponses UV Mapping Curve 3 178 12/01 19:16:34
tykrane 
Questions & Réponses blender nouveau lover depuis l'anné dernière "je suis embrouillé" 6 399 12/01 11:45:24
ebrain 
Questions & Réponses [résolu] génération de vidéo qui foire la bande son quand je change les fps 3 680 12/01 10:44:54
naeco 
Questions & Réponses [non résolu] Script en Python - Optimiser la taille d'un fichier en wrl 0 117 11/01 15:31:50
bubu31 

Qui est en ligne
60 utilisateur(s) en ligne (dont 53 sur Forums)

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


plus...
Nouveaux membres
ValerieWal 18/1/2019
docouatzat 14/1/2019
mpapicture 14/1/2019
mPirs 12/1/2019
CBY 12/1/2019
bubu31 11/1/2019
Osfern 10/1/2019
DenisDenis 9/1/2019
Arkaon 9/1/2019
bachadam48 7/1/2019
Dernier Ajout
super8_2.jpg

Evènements à venir
Fev 15
Anniversaire de Dany
Fev 19
Anniversaire de APPGirault123
Fev 23
anniversaire de windspirit
plus 294 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2018 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445