Blender (jusqu'à 2.49)
Import KMZ/KML 


Google Earth 3 seulement
(ancien format d'exportation de Sketchup)

 utilisant les modules Mesh ou NMesh 
 (version anglaise)

    Début   Index
précédentScript Python
py :Lampe et spot...Suivant

 
Pour créer le mesh complet avec le module Mesh et la fonction Fill() (mise à jour du 27/03/2007). Ce script recalcule correctement les proportions en tenant compte des degrés de longitude et de latitude. 

Pour créer des meshes avec le module NMesh en imitant la fonction fill() (mise à jour du 25 mai 2006) : division en "Placemark" et nette amélioration des performances 

Liens externes

Objectif 

Ce script a pour seule fonction d'importer les modèles en géométries 3D que l'on peut trouver sur le net . 
Avertissements
La fonction Fill()

Cette fonction est utilisée pour remplir les polygones importés par le script car Blender ne peut gerer que des polygones de 3 ou 4 cotésalors que les géométries des fichiers KML peuvent contenir des polygones contenant un nombre indéterminé de coté .

def cree_POLYGON():
    global ME
    Blender.Redraw()
    ME.fill()
    for e in ME.edges :
        e.sel= 0
    return 0
Fill n'existe, hélas,  que dans le module Mesh  mais il est possible d'en faire une imitation pour pouvoir utiliser le module  NMesh :
def cree_POLYGON():
   global ME, DOCUMENTORIGINE, TESSEL, OB
   Blender.Window.EditMode(1)
   winid = Blender.Window.GetScreenInfo(Blender.Window.Types.VIEW3D)[0]['id']
   Blender.Window.SetKeyQualifiers(Blender.Window.Qual.SHIFT)
   Blender.Window.QAdd(winid, Blender.Draw.FKEY,1)
   Blender.Window.QHandle(winid) 
   Blender.Window.SetKeyQualifiers(0)
   Blender.Window.QHandle(winid) 
   Blender.Window.EditMode(0)
   ME=OB.getData()
   for v in ME.verts :
     v.sel=0
   ME.update() 
Très proche, elle est cependant beaucoup - mais vraiment beaucoup - plus  lente .  On peut regretter l'absence de cet outil dans un module qui offre pourtant à la fois des facilités de développement et une plus grande clarté dans l'écriture. 
 
Attention,  3 conditions  impératives pour la bonne exécution de la fonction fill() que ce soit avec  Mesh ou NMesh : 

1/ une fenêtre 3D doit être ouverte sur le plan de travail; 

2/ l'espace de travail doit être obligatoirement en mode "Global"; si la fenêtre 3d n'est pas positionnées sur ce mode, rien ne sera affiché; le mode "Local", il faut comprendre par là qu'on a sélectionné un objet et qu'on l'a isolé de l'ensemble de la scène pour le travailler en particulier; on obtient le résultat en appuyant sur la touche / du pavé numérique, ne peut s'appliquer qu'à des objets déjà créés et, malheureusement la fonction de remplissage des polygones ne peut s'effectuer que dans la fenêtre qui contient réellement l'objet;  

3/ On doit être en mode Object pour effectuer l'import mais il est indispensable que le mode vertex soit activé ! Les deux illustrations ci-dessous donnent un idée de la différence si on ne respecte pas cette dernière condition.

Pour éviter d'utiliser  les outils propres au python, donc de passer par une installation complète de ce dernier  ces scripts utilisent des fonctions développées pour un autre de mes scripts  qui importe des fichiers au format SVG .


Pour créer des meshes avec le module NMesh en imitant la fonction fill() 
  • __version__ = "0.0.5, 13 Mai 2006" :

  • Recupération de la face perdue  .
  • __version__ = "0.0.9, 14 Mail 2006" 

  • Modification de la méthode de lecture des textes contenants les coordonnées .
    Tri entre  les polygones nécessitant un traitement particulier par remplissage et ceux de 3 ou 4 sommets qui peuvent être créés à la volée .
  • __version__ = "0.1.1, 16 Mai 2006" 

  • Import des polygones creux .
  • __version__ = "0.1.2, 17 Mai 2006

  • TéléCharger la version totalement autonome  script 0.1.2 + zipfile.py intégré
    Amélioration des performances de 257 % (environ)  sur l'import de  fichiers constitués exclusivement de polygones à 3 ou 4 cotés ..
  • __version__ = "0.1.3, 20 May 2006"

  • Division en Placemark, ce qui améliore les performances en fonction du nombre de fragments créés . 
  • __version__ = "0.1.4, 25 May 2006"

  • TéléCharger le script 0.1.4
    Correction d'un probleme lié à certains fichiers qui semblent attribuer un placemark par polygone . La lenteur de chargement et la quantité d'objets à gérer deviennent insupportables .
Pour créer le mesh complet avec le module Mesh et la fonction Fill() . 
0.1.2 + zipfile.py intégré
0.1.3 Gestion des contours internes ouverts et des placemarks
0.1.4 Gestion des couleurs et des polygones encombrants car ils seraient tous traités comme des placemarks et amèneraient une surcharge dans la création d'objets .
0.1.5 Gestion des fichiers ne contenant aucune géométrie importable . Suppression d'un léger défaut de conception qui créait un objet mesh vide et donc inutile  .
0.1.6 Gestion des fichiers  contenant des balises htmls 
Z 0.1.6    +  fichier zipfile.py pour une complète autonomie dans blender
__version__ = "0.1.7,  june 14th, 2006" :
Import "à la hussarde"  des couleurs oubliées en chemin 
Download  the script  0.1.7 with build in zipfile 
__version__ = "0.1.8d,  10 Aout , 2006" :
Import de toutes les linestrings
Download  the script  0.1.8d with build in zipfile 
__version__ = "0.1.9,  11 Aout , 2006" :
Import forcé de toutes les linestrings même quand il n'y a pas de polygones 
Download  the script  0.1.9 with build in zipfile 


__version__ = "0.1.9b,  12 Aout , 2006" :
Ajout de panneaux de dialogue pour gérer l'import des edges (pas toujours nécessaire puisqu'ils ne sont quelquefois utilisés que pour souligner les formes déjà dessinées avec les polygones ) . 

Notez que l'import se fait par défaut et qu'il faut décocher cette option pour la rendre inactive . 
Idem pour l'option Remove Double  . 
Il est maintenant obligatoire d'appuyer sur le bouton OK pour lancer l'import .
Download  the script  0.1.9b with build in zipfile 

__version__ = "0.1.9c,  16 Aout , 2006" : modification des constantes de conversions des degrés de latitude et de longitude en mètres 
Download  the script  0.1.9c with build in zipfile 

__version__ = "0.1.9f,  31 janvier, 2007" : Modifications diverses à la demande des animateur du bundle scripts, auxquelles s'ajoute la possibilité de choisir l'affcihage de la progression du chargement dans la la console dos . 
Download  the script  0.1.9f with build in zipfile 

__version__ = "0.1.9g,  03 février, 2007" :  plus de modifications encore mais absolument sans intérêt. Elles ont été exigées par la Python Team pour que le script soit livré avec Blender. Mais aucune amélioration de vitesse de chargement n'a été constaté (plutôt des ralentisements dans certains cas, la version 0.19f est préférable). Par contre, il paraîtrait qu'on évite une multiplication des objets python quand on appelle les listes de données au travers du module Mesh. Il serait bon de mettre à jour le module NMesh à jour pour éviter les mauvaise surprises de ce genre mais les développeurs ne semblent pas pressés de réaliser la chose.
Download  the script  0.1.9g with build in zipfile 

__version__ = "0.1.9h,  13 février, 2007" :  meilleure méthode d'identification des fichiers Google Earth 4
le script n'est plus distribué avec Blender pour éviter d'être diffuser en une version inutilisable comme le Shape Widget Wizard. Il reste GPL pour l'instant. La partie supplémentaire qui sera associée à la version 2.0,  pourrait être distribuée avec une licence plus restrictive.
Download  the script  0.1.9h with build in zipfile 

__version__ = "0.1.9i,  5 mars, 2007" :  meilleure méthode (encore plus précise) d'identification des fichiers Google Earth 4.  Aménagement pour fonctionner avec le python 2.5  qui accompagnera certainement la version 2.44  de Blender.
Download  the script  0.1.9i with build in zipfile 

__version__ = "0.1.9j,  27 mars, 2007" :  correction infime sur un test qui  ne reconnaissait plus les fichiers kml 2.0.
Download  the script  0.1.9j with build in zipfile 


Liens externes 
  • Google Earth : attention, les fichiers kmz et kml contiennent souvent (toujours ?) des données sous licence que l'on ne peut pas lire et encore moins utiliser dans un travail personnel . Les utilisateurs doivent prendre le temps de vérifier les droits des fichiers sur lesquel ils comptent utiliser ce script . 

  • De même, les fichiers exportés à partir de Google Sketchup 3D  ne doivent pas être utilisés dans une réalisation à but commercial .
  • Sketchup 3D
  • Export Script (needs the python xml tools) 
  • Fil de discussion sur Blenderartiste 
  • Nouvelle sur BlenderNation
précédentScript Python
py :Lampe et spot...Suivant
Vers le  Haut de page

Les questions concernant cette page  peuvent être posées sur  :
 news://news.zoo-logique.org/3D.Blender


 

 

Livre en français
Blender : apprenez, pratiquez, Créez, livre, Ed. Campus Press, coll. Starter Kit
Blender Starter Kit

Forum
FAQ
Lexique
Didacticiels
Compilations
Blender2KT
Débuter
Modelage
Blender python
Materiaux
Lumière
Animation
API python (eng)
Archives nzn
Statistiques
Doc flash Sculptris
Galerie Sculptris

mon site de démos sur youtube