Blender (jusqu'à 2.49)
Python
MESH : 
Copier les coordonnées d'un axe (x,y,z) d'un sommet 
sur un groupe de sommets du même mesh
    Début   Index
précédentScript Python
Trim vertex 2 plane :Suivant

Télécharger le script

Objectif
Copier les coordonnées d'un axe X,Y, ou Z d'un sommet sur un groupe de sommets du même mesh ce qui revient à choisir un axe d'alignement pour une série de points.

Instatllation 
Copiez le fichier alignvertex.py dans le répertoire .blender/scripts

Procédure
Simple et fonctionne en mode edit : 
1/ ouvrez une fenêtre python  ou passez par le menu Scripts :

2/ chargez le script copyvertexcoord.py
3/ passez dans la fenêtre 3d, sélectionnez un vertex et un seul 
4/ appuyez sur le bouton Original Vertex
5/ sélectionnez l'axe (ou les axes) : x, y ou z
6/ sélectionnez tous les vertices/sommets  qui devront être modifiés
7/ appuyez sur Selected vertex list.
#!BPY

"""
Name: 'Align Vertices'
Blender: 236
Group: 'Mesh'
Tooltip: ''
"""
__author__ = "Jean-Michel Soler (jms)"
__url__ = ("Script's homepage, ",
"Communicate problems and errors, http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender")
__version__ = "Vertex Align 12/2004"

__bpydoc__ = """\

La procedure est simple et fonctionne en mode edit : 

1/ ouvrez une fenêtre python 
2/ chargez le script copyvertexcoord.py
3/ passez dans la fenêtre 3d, sélectionnez un vertex et un seul 
4/ appuyez sur le bouton Original Vertex
5/ sélectionnez l'axe (ou les axes) : x, y ou z
6/ sélectionnez tous les vertices/sommets qui devront être modifies
7/ appuyez sur Selected vertex list.

""" 

#=========================
# jmsoler, 01/2005
#=========================
 

import Blender
from Blender.Draw import *
from Blender.BGL import *
from Blender.NMesh import *

axe={} 
for n in ['X','Y','Z'] : 
    axe[n]=Create(0.0)

def draw():
    global axe
    glClear(GL_COLOR_BUFFER_BIT)
    glRasterPos2f(20, 80)
    Text("Copy X,Y,Z from original value to selected vertex list.")

    dec=20
    for n in ['X','Y','Z'] : 
        dec+=32
        axe[n]=Toggle(n, 4, 40+dec, 33, 30, 20, int(axe[n].val) ,"A toggle button")

    Button("Original Vertex", 2, 20, 55, 120, 18)
    Button("Selected Vertex list", 3, 145, 55, 120, 18)

    #boutons de sortie
    Button("Exit", 1, 20, 10, 80, 19)

def event(evt, val): 
    if (evt== QKEY and not val): Exit()

def bevent(evt):
    global axe
    if   (evt== 1):
        Exit()
    if   (evt== 2):
        in_editmode = Blender.Window.EditMode()
        if in_editmode: 
            Blender.Window.EditMode(0)
        O=Blender.Object.GetSelected()[0]
        v=[v for v in O.getData().verts if v.sel==1]
        if len(v)==1:
           for n in [0,1,2] : print v[0].co[n] 
           Blender.X=v[0].co[0]
           Blender.Y=v[0].co[1]
           Blender.Z=v[0].co[2]
        else:
           print "Only one vertex "
        if in_editmode: 
                 Blender.Window.EditMode(1)
    if   (evt== 3):

           print Blender.Z
           in_editmode = Blender.Window.EditMode()
           if in_editmode: 
              Blender.Window.EditMode(0)
           O=Blender.Object.GetSelected()[0]
           M=O.getData()
           v=[v for v in M.verts if v.sel==1]
           for v0 in v: 
               if axe['X'].val : v0.co[0]=Blender.X
               if axe['Y'].val :v0.co[1]=Blender.Y
               if axe['Z'].val :v0.co[2]=Blender.Z
           M.update()
           if in_editmode: 
                 Blender.Window.EditMode(1)
           #except:
           #   print "nothing to copy..."

    Blender.Window.RedrawAll()

Register(draw, event, bevent)


 
précédentScript Python
 Trim vertex 2 plane : 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