Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
file000665449383.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
Python & Plugins [non résolu] Addon pour fonction mirroir spécifique. 1 9 Aujourd'hui 00:59:41
Gilead_Maerlyn 
Mes premières images sous Blender (débutants) mon premier bonzai low poly (un peu déplumé)    [1][2][3]...[10] 93 3693 Hier 22:49:35
blend74 
Concours Défi du clan 2019 n°1 / Thème: La ferme 4 250 Hier 21:28:08
titi38360 
Questions & Réponses roue à rochets 5 52 Hier 21:08:45
tykrane 
Questions & Réponses objet joint avant l'armature 2 35 Hier 13:17:47
Zarathoustra 
The Blender Clan 'tchat [RECHERCHE] Modélisateur (Dev Python) pour Stage/CDD/CDI 2 847 Hier 10:35:52
tricotou 
Questions & Réponses [non résolu] Animer une queue    [1][2][3] 22 277 17/01 19:05:24
Horemheb 
Moteur de jeu GameBlender et alternatives Jeu d'action/aventure (WIP) 6 107 17/01 18:07:26
Redstar 
Questions & Réponses [résolu] Bone avec longueur fixe (non redimensionnable) 3 65 17/01 01:53:22
Rimpotche 
Mes premières images sous Blender (débutants) Première réalisation 6 87 16/01 20:42:16
Zarathoustra 
Mes premières images sous Blender (débutants) Création d'un personnage robotique 9 171 16/01 18:14:36
docouatzat 
The Blender Clan 'tchat Blender 2.80    [1][2] 14 1473 15/01 19:30:45
Fadge 
Questions & Réponses effet encre révélant un objet    [1][2][3] 22 873 15/01 19:05:33
thomas56 
Questions & Réponses [résolu] Dupliquer un groupe d'objets animé 4 78 15/01 13:38:43
moonboots 
Mes premières images sous Blender (débutants) reprise    [1][2][3]...[7] 67 2551 14/01 20:38:02
tykrane 
Questions & Réponses [résolu] Bridge edge loop tordu 1 88 14/01 15:23:45
sapajou 
Questions & Réponses Problème d'opération boolean avec géométrie complexe 2 155 13/01 09:53:15
Redstar 
Questions & Réponses UV Mapping Curve 3 181 12/01 19:16:34
tykrane 
Questions & Réponses blender nouveau lover depuis l'anné dernière "je suis embrouillé" 6 405 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 708 12/01 10:44:54
naeco 

Qui est en ligne
43 utilisateur(s) en ligne (dont 38 sur Forums)

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


plus...
Nouveaux membres
MaggieFull 19/1/2019
DeidreDfo 19/1/2019
PenelopeHu 19/1/2019
LonStaton0 18/1/2019
Hattie10L4 18/1/2019
ValerieWal 18/1/2019
docouatzat 14/1/2019
mpapicture 14/1/2019
mPirs 12/1/2019
CBY 12/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