Resultados 1 al 2 de 2

Tema: Bevel a cubo creado cara a cara en python

  1. #1
    Fecha de ingreso
    Jul 2009
    Mensajes
    303

    Blender Bevel a cubo creado cara a cara en python

    Buenas. Estoy intentando darle un poco de biselado a un especie de cubo que he creado vértice a vértice y añadiendo las caras con addface y tal.

    El caso es que el script bevel_center no funciona con este cubo que he hecho. Sin embargo, si que me funciona con otros objetos creados con primitivas como Cube, cone.

    Si entro en edición y pulso w->bevel pues si me lo hace, pero claro quiero hacerlo por código.
    ¿Alguna idea de cómo hacerlo o de por que me puede estar fallando?
    Si no me he explicado bien os pego el código para que veáis a que me refiero. Gracias.

  2. #2
    Fecha de ingreso
    Jul 2009
    Mensajes
    303

    Bevel a cubo creado cara a cara en python

    Ya he conseguido hacerlo. No sé por qué creando el cubo de una manera no le afecta, pero creándolo de otra si. Bueno, os pego el código por si a alguien le interesa.
    Código:
    # librerías necesarias.
    
    Import Blender.
    
    From Blender import scene, object, Mesh, material, nmesh.
    
    Import random.
    
    Import math.
    
    From random import *.
    
    From Blender. Bgl import *.
    
    From Blender. Draw import *.
    
    From bevel_center import *.
    
    Import Bpy.
    # obtener la escena actual.
    
    Escena = scene. Getcurrent().
    
    Def crear_cubo2(vértices=none):
    T# Vector con las 6 caras indicando con que vértices se creara cada una, tcaras= [ [2,0,1,3], [6,4,5,7], [5,1,3,7], [6,2,0,4], [4,0,1,5], [6,2,3,7] ] t#creamos una mlla vacía, tme = Bpy, data, meshes, new(mymesh) t#le añadimos los vértices que nos llegan por parámetro, tme, vértices, extend(vértices) t#y creamos las caras, tme, Faces, extend(caras) t# devolvemos la malla creada treturn me.
    
    Def crear_cubo (vértices=none):
    T# creamos una malla vacía, tmesh = nmesh. Getraw() t# creamos los 8 verétices que formaran el cubo con el Vector de entrada, TV1=nmesh. Vert(vértices[0][0], vértices[0][1], vértices[0][2]) tv2=nmesh. Vert(vértices[1][0], vértices[1][1], vértices[1][2]) TV3=nmesh. Vert(vértices[2][0], vértices[2][1], vértices[2][2]) tv4=nmesh. Vert(vértices[3][0], vértices[3][1], vértices[3][2]) tv5=nmesh. Vert(vértices[4][0], vértices[4][1], vértices[4][2]) tv6=nmesh. Vert(vértices[5][0], vértices[5][1], vértices[5][2]) tv7=nmesh. Vert(vértices[6][0], vértices[6][1], vértices[6][2]) tv8=nmesh. Vert(vértices[7][0], vértices[7][1], vértices[7][2]) t# y los añadimos a la malla creada tmesh, vértices, append(v1) tmesh, vértices, append(v2) tmesh, vértices, append(v3) tmesh, vértices, append(v4) tmesh, vértices, append(v5) tmesh, vértices, append(v6) tmesh, vértices, append(v7) tmesh, vértices, append(v t# vamos creando las caras que formaran el cubo t# a la hora de añadir los vértices de cada cara es importante el orden t# hay que ir añadiéndolos en sentido contrario a las agujas del reloj t# para que se vayan creando las aristas adecuadamente, t# cara inferior tfacevertlist = [] tfacevertlist, append(v3) tfacevertlist, append(v1) tfacevertlist, append(v2) tfacevertlist, append(v4) tnewface = Blender. Nmesh. Face (facevertlist) tmesh, addface (newface) t# cara superior tfacevertlist = [] #en cada nueva cara inicializamos el Vector de vértices tfacevertlist, append(v7) tfacevertlist, append(v5) tfacevertlist, append(v6) tfacevertlist, append(v tnewface = Blender. Nmesh. Face (facevertlist) tmesh, addface (newface) t# cara lateral derecha, tfacevertlist = [] tfacevertlist, append(v6) tfacevertlist, append(v2) tfacevertlist, append(v4) tfacevertlist, append(v tnewface = Blender. Nmesh. Face (facevertlist) tmesh, addface (newface) t# cara lateral izquierda, tfacevertlist = [] tfacevertlist, append(v7) tfacevertlist, append(v3) tfacevertlist, append(v1) tfacevertlist, append(v5) tnewface = Blender. Nmesh. Face (facevertlist) tmesh, addface (newface) t# cara delantera, tfacevertlist = [] tfacevertlist, append(v5) tfacevertlist, append(v1) tfacevertlist, append(v2) tfacevertlist, append(v6) tnewface = Blender. Nmesh. Face (facevertlist) tmesh, addface (newface) t# cara trasera, tfacevertlist = [] tfacevertlist, append(v7) tfacevertlist, append(v3) tfacevertlist, append(v4) tfacevertlist, append(v tnewface = Blender. Nmesh. Face (facevertlist) tmesh, addface (newface) t# devolvemos la malla creada treturn Mesh.
    
    Def cubos():
    Vértices = [0,0,0],[1,0,0],[0,1,0],[1,1,0],[0,0,1],[1,0,1],[0,1,1],[1,1,1] t# este bevel no funciona, tcajamesh = crear_cubo (vértices) tcaja = escena, objects, new(cajamesh, cubo) tcaja, select(1) tbevel() t# con la primitiva Cube siempre funciona tcajamesh2 = Mesh. Primitives. Cube (1) tcaja2 = escena, objects, new(cajamesh2, cubo3) tcaja2.setlocation(3, 1,1) tcaja2.select(1) tbevel() t# de esta otra forma sí que funciona, tcajamesh3 = crear_cubo2(vértices) tcaja3 = escena, objects, new(cajamesh3, myobj) tcaja3.setlocation(-3, 1,1) tcaja3.select(1) tbevel().
    
    Def pantalla_sel():
    Button(cubos,1,30,220,150,30).
    # eventos del sistema.
    
    Def event(evt, ala):
    If (evt==esckey):
    Exit().
    # eventos definidos por nosotros.
    
    Def bevent(evt):
    If (evt==1):
    Cubos() Blender. Redraw() t.
    # subrutinas que se ejectuaran al inicio.
    
    Register(pantalla_sel, event, bevent).
    
    Blender. Redraw()

Temas similares

  1. Blender Girar cubo 45 tirando de una cara
    Por Jhorbam en el foro Blender
    Respuestas: 6
    : 30-04-2018, 20:21
  2. 3dsMax Rig de la cara
    Por luis8p en el foro Animación y Rigging
    Respuestas: 0
    : 31-05-2010, 23:10
  3. Blender Imagen diferentes en cada cara del cubo
    Por Lycan en el foro Modelado
    Respuestas: 6
    : 30-04-2010, 21:47
  4. Blender:python crear un cubo
    Por neobarry en el foro Pasatiempos y sugerencias
    Respuestas: 5
    : 02-05-2006, 14:10
  5. Cara de payaso modelo3d creado por Fiz3d
    Por Fiz3d_ en el foro Trabajos Finalizados
    Respuestas: 16
    : 12-02-2003, 09:59