Resultados 1 al 8 de 8

Tema: Uso del script bmg

  1. #1
    Fecha de ingreso
    Apr 2002
    Mensajes
    25,945

    Uso del script bmg

    por stefano selleri. Resumen: este artículo trata acerca de la animación y modelado de engranajes, junto con un breve tutorial sobre el uso del script Blender Mechanical gears (bmg).

    Introducción uno de los puntos clave para el modelado y animación de dispositivos mecánicos es la necesidad de crear engranajes. Los engranajes no son meramente ruedas dentadas. Estos fueron así en la antigüedad, pero la mecánica moderna estudió en profundidad diferentes modos en como los giros pueden ser transferidos de un eje a otro, definiendo exactamente como debe ser diseñado un engranaje para obtener una máxima eficacia.

    Algo de teoría se puede obtener de la documentación en [ (no quiero hacer publicidad de un fabricante en particular, pero ésta es la referencia que usé para crear mis engranajes), del mismo modo que de la documentación del script Blender Mechanical gears [. Básicamente, un engranaje debe ser diseñado de tal manera, que no ocurra ningún tipo de fricción en el acoplamiento entre los dientes de 2 engranajes. Esto asegura eficacia, poco ruido y una gran duración.

    La descripción matemática de un engranaje esta basada en el concepto del evolvente. El evolvente de un círculo tiene diversas propiedades, la más importante de las cuales es que el perfil mismo de los dientes de los engranajes es un evolvente, que no desliza uno sobre el otro mientras los engranajes rotan, y el ángulo de presión con el cual un engranaje empuja al otro permanece constante.



    No profundizaré más en el tema, no necesita saber más, porque el script se encargara de las matemáticas, pero si siente curiosidad, revise los apartados [1,.

    El script bmg es una suite de scripts que puedes descargar desde aquí [. Comprende dos scripts, un mesher (modelador) (bmgm) y un spinner (rotador) (bmgs). Nos centraremos en el primero, modelador. Bmgm pertenece a la categoría de las mallas por si elige instalarlo en el directorio apropiado en el árbol.blender. De todos modos, una vez ejecutado, aparece en pantalla una imagen cómo se muestra en la fig. 1.

    Bmgm puede crear engranajes cilíndricos y cónicos, la opción worm (tornillo sin fin) aún no funciona. En este artículo nos centraremos en el cilíndrico para entender el uso del script.

    Parámetros del engranaje principal este grupo de opciones definen el aspecto básico del engranaje. Cuando dos mallas de engranajes son puestos en escena, lo que define la geometría es el pitch Radius, que es el radio ideal del círculo en el cual la malla de los dientes de los dos engranajes se tocan. Es el pitch Radius quien define gran parte de la geometría del engranaje.

    Éste, como la mayoría de las opciones, se define en unidades Blender. Mantendremos el valor predeterminado 5 por ahora. El valor eth number define el número de dientes que tiene el engranaje. Éste es el segundo parámetro más importante, y lo pondremos en 25 para este ejemplo. El pressure angle (ángulo de presión) es vital desde el punto de vista mecánico, pero resulta irrelevante para los gráficos por ordenador.

    Éste define el ángulo entre el plano de la tangente del diente del engranaje hacia el punto de contacto y el plano que contiene ambos ejes de rotación. Es mejor dejar este parámetro en el valor por defecto que es 20°. Helical angle, define la forma helicoidal del engranaje. Los engranajes comunes tienen dientes rectos. Los engranajes helicoidales tienen dientes oblicuos. Estos engranajes emiten menos ruido y son más rápidos en operación, pero su fabricación es más costos a. En gráficos 3d, todo eso es irrelevante, así que, mantendremos este valor en 0.

    El addendum y el dedendum definen cómo se extiende el pitch Radius del diente por encima y por debajo. Estos parámetros son críticos. Primero, el addendum no debe ser mayor que el dedendum, o tendrá problemas con la malla. Segundo, su valor debe estar en consonancia al número de dientes. Cuantos más dientes, más bajos deben ser estos valores, y a menor cantidad de dientes, mayores pueden ser. Para nuestro ejemplo, 25 dientes es un número promedio, de modo que podemos mantener estos valores en 0.4.

    Biselado: ningún dispositivo mecánico tiene bordes puntiagudos. Fillet define el radio del redondeo en la parte superior e inferior del diente. Bevel define el biselado de todos los bordes inferiores y superiores del engranaje.

    Parámetros de malla (Mesh parameters): el script genera un sólo diente para el engranaje, con un nivel de refinamiento en la malla. El nivel de refinamiento se da como una resolución a lo largo del perímetro del diente, que debería mantenerse en 2, a no ser que plane aplicar mucho zoom (acercarlo) o lo contrario (alejarlo) sobre sus engranajes, y una resolución longitudinal a lo largo del espesor del diente.

    Esto es sólo necesario para engranajes helicoidales, que tienen giros longitudinales. Finalmente thickness define que tan grueso es el engranaje y width define cuanto hacia dentro se extiende el cuerpo del engranaje, con respecto al grado de inclicacción, al otro lado del diente. Deje estos valores como vienen por defecto.



    Pinion (piñón): no tiene sentido hablar de un engranaje sin su piñón contrario. Éste puede ser un piñón estándar (el de un engranaje), una cremallera (un elemento dentado recto) o una corona (un gran engranaje con dientes en su interior). Mantengamos la opción pinion y la cantidad de dientes en 12, si presiona el botón generate vera algo similar a la figura 2. Notar que el script generó una pareja de dientes, uno para el engranaje principal y uno para el piñón.

    El centro del engranaje principal está en el punto de origen, el radio de inclinación (pitch Radius) está en 5 unidades Blender, podrá ver esto cuando el diente toque ahí, una vez rotado. El radio del piñón (pinion Radius) ha sido automáticamente calculado por el script, su centro se ubica a la derecha para un engranado correcto (el punto amarillo más a la derecha) y el diente se ha creado ligeramente rotado para una mayor claridad.

    Nuestra siguiente tarea será completar el engranaje y la malla del piñón.

    Correcciones de las mallas de engranajes primero de todo, rote el diente del engranaje principal 1/50 de 360° (7,5°) (fig. 3.1). É esto hace que el borde inferior del diente quede alineado con plano xz. En vista frontal y modo edición (Edit Mode) podemos extruir el vértice superior para completar el perfil (fig. 3.2). Duplicando esto y moviéndolo en torno al plano xz creara el perfil para el interior del engranaje (fig. 3.3). Ahora dupliquemos todos estos nuevos vértices y reflejémoslos a lo largo a la coordenada global z con respecto al cursor.



    Ahora volvamos a la vista superior con todos esos nuevos vértices seleccionados. Idealmente deberíamos girar (en el sentido de las agujas del reloj) tres copias en un ángulo de 14,4°. Desgraciadamente Blender no acepta decimales aquí. Así que giraremos 15 copias en un ángulo de 72°. (fig 4.1). Ahora seleccione el diente y hagale un Spin Dup 5 veces en 72°. T endra una copia extra de el (fig 4.2), que debería borrar. Ahora remove doubles (elimine puntos dobles).



    Rote el engranaje 36° en el sentido de las agujas del reloj, para tenerlo situado simétricamente respecto al plano xz. Ahora extruya algunos vértices desde su parte interior (fig. 5.1 y 5.2) y extrúyalos hacia el anillo exterior, fusione (función merge) alguno vértices donde sea necesario. También es una buena idea usar bevelscript para hacer este brazo mejor.



    Ahora sólo debe hacer Spin Dup en 288°, 4 copias y remove doubles. Quizás también dese escalar un poco la parte interna sólo a lo largo del eje Z para hacer el engranaje menos plano. Haga algo similar también con el piñón. Pero no tendrá el espacio suficiente para hacer la malla tan compleja. Recuerde que el piñón tiene 12 dientes, de modo que éste ocupa 30° (360°/12) de anchura. Al final debería tener algo similar a la fig. 6. De al objeto engranaje un nombre memorizable (como gear), y al objeto piñón, otro (pinion es una gran opción).



    Preparando para hacer spinning (girado). Para tener los engranajes girados apropiamente deberá configurar un par de cosas, pero primero, puesto que dos engranajes es un modelo demasiado simple, seleccione ambos engranajes, duplíquelos y mueva las copias de modo que el nuevo engranaje quede coaxial y bajo el piñón original (fig. 7). Dé a los duplicados nombres cortos, como gearb y pinionb. T venga cuidado, los objetos pinion y gearb deben tener la misma localización X e Y, y un offset en z.



    Ahora agregue un hueco para cada engranaje, localizado en su centro, con el eje Z apuntando en dirección de su eje rotacional, luego emparente los engranajes a los huecos. Deles nombres similares (fig.

    Esto es necesario porque el spinning script (bmgs) manejara las rotaciones para el engranaje de modo relativo al eje Z. Si los engranajes están siendo movidos y no están sobre el plano xy, esto desencadenara un comportamiento extraño. Al emparentar engranajes con huecos y moviendo/rotando solo huecos de ahora en adelante -nunca los engranajes- La animación se comportara de manera apropiada.



    Ahora, ejecute el script bmgs. Este es un script tipo animación. Mostrara una interfaz casi vacía, con tan sólo el botón add. Presiónelo cuatro veces y aparecerán 4 líneas. En la primera línea y columna se muestra el campo gear object. Ponga gear en el primero y pinion en el segundo, gearb en el tercero y pinionb en el cuarto. La segunda columna especifica el número de dientes. gear y gearb tienen 25, pinion y pinionb tienen 12. Esto completa nuestra base de datos de engranajes. (fig. 9.1) la base de datos contiene información sobre que objeto en tu escena es realmente un engranaje que debería ser girado. Puede guardar y cargar la base de datos desde o hacia un disco, el script genera archivos xml. Es aconsejable que haga esto porque la base de datos se perderá cuando cierre Blender (el script generado automáticamente para el girado no se perderá).



    Ahora vaya al panel enlace. Añada 3 líneas con el botón add. Las nuevas líneas contienen información sobre que engranaje está conectado con otro. La primera columna de cada línea contiene el engranaje conductor y la segunda el engranaje conducido. La tercera columna especifica el tipo de enlace, el cual puede ser un tipo de enlace malla Mesh, en la que el piñón rota en dirección opuesta con respecto al engranaje y la velocidad viene dada por la velocidad del engranaje modificada por la relación del número de dientes.

    Para engranajes coaxiales, es decir, para engranajes no engranados sino más bien montados en el mismo eje, el tipo de enlace es fijo fixed porque la velocidad de rotación es la misma. En casos especiales, con engranajes de corona y helicoidales, la velocidad podría estar en relación al número de dientes, pero no en la dirección opuesta. Para estos casos existe la opción invmesh.

    En nuestro ejemplo, en la primera línea estableceremos que gear es el conductor principal y pinion es el conducido y la conexión es del tipo Mesh. En la segunda línea pinion es ahora el conductor principal, gearb es el conducido y el tipo de enlace es fixed, ya que están rígidamente unidos. Al final, la tercera línea, establece que gearb es el conductor para pinionb en un enlace tipo Mesh.

    La base de datos de los enlaces define una secuencia de acciones. Si un engranaje conductor es rotado su movimiento se propaga a sus piñones conducidos y de estos a sus propios engranajes conducidos, y así sucesivamente. Los 2 botones a la derecha permiten cambiar el orden de los enlaces. Una vez que la base de datos de los enlaces ya está echa (fig. 9.2), estamos listos. Al presionar el botón generate. Éste crea un nuevo script, llamado driversl (fig. 10). Éste nuevo script es guardado en el archivo (*.blend) y no se perderá cuando cierre Blender (obviamente debe haber guardado su archivo).



    Para completar la puesta en escena, vaya al contexto script en la buttons window y añada un enlace scene script sobre un evento framechanded. Poner driversl como un script enlazado (fig. 11).

    Vamos. Estamos casi listos. Primero haga un pequeño avance del frame 1 al 2 y de vuelta. Si algunos engranajes no están en la rotación 0, se devolverán a ésta (en este caso, nuestros piñones) y debería hacer que roten sus huecos (no los engranajes mismos.) para volver a un engranado mutuo entre los engranajes.



    Ahora seleccione el engranaje conductor, en nuestro ejemplo, gear. Y añada a éste una rotación ipo no constante en rotz (sólo en rotz).



    Ahora presione al t+a. El engranaje conductor comenzara a rotar y el piñón y todos los demás engranajes lo seguirán a una velocidad correcta. Conclusiones.

    Por stefano selleri.
    |Agradecer cuando alguien te ayuda es de ser agradecido|

  2. #2
    Fecha de ingreso
    May 2002
    Mensajes
    1,359

    Uso del script bmg

    Muchas gracias.

  3. #3
    Fecha de ingreso
    Jul 2013
    Mensajes
    4

    Uso del script bmg

    ¿y cómo se instala?
    Si, soy novato en esto, tengo Blender 266a, Linux lubuntu y los archivos de BGM-0.02, ya he probado a ponerlos en el directorio de addons de Blender, pero no funciona.

    Veo que esto ya tiene algunos años, ¿hay alguna versión nueva u otros programas para él dibujo de engranajesí.

  4. #4
    Fecha de ingreso
    Aug 2004
    Mensajes
    22,247

    Uso del script bmg

    Las últimas versiones de Blender traen varios AD-ONS sin activar.

    Para ruedecillas y otro tipo de roscas, hay uno que se llama Extra Objects.

    Lo activas desde User Preferencias > Addons y luego los objetos se añaden desde Add > Mesh > Extra Object
    En este caso puedes utilizar el GEAR > Gears y cuando tienes la rueda en pantalla, puedes cambiar los tamaños desde el panel de la izquierda (Tol Shelf) letra T lo activa/desactiva.

    Clic en la imagen para ver su versión completa. 

Nombre: Gears.jpg 
Visitas: 794 
Tamaño: 487.3 KB 
ID: 183743

  5. #5
    Fecha de ingreso
    Jul 2013
    Mensajes
    4

    Uso del script bmg

    Cita Iniciado por Soliman Ver mensaje
    Lo activas desde User Preferencias > Addons y luego los objetos se añaden desde Add > Mesh > Extra Object
    En este caso puedes utilizar el GEAR > Gears y cuando tienes la rueda en pantalla, puedes cambiar los tamaños desde el panel de la.
    Ese programa dibuja mal los engranajes (el diente no tiene la forma correcta), por eso quiero probar el de bmg.
    Última edición por octavio.vega; 29-07-2013 a las 19:06

  6. #6
    Fecha de ingreso
    Aug 2004
    Mensajes
    22,247

    Uso del script bmg

    Cita Iniciado por Octavio, vega Ver mensaje
    Ese programa dibuja mal los engranajes (el diente no tiene la forma correcta), por eso quiero probar el de bmg.
    Pues puedes hacerlo con la 2.49 y luego exportar el objeto como.3ds, por ejemplo, y luego abrirlo en el 2.68
    http://download.blender.org/release/Blender2.49a/
    http://www.selleri.org/Blender/scripts/text.html.

  7. #7
    Fecha de ingreso
    Jul 2013
    Mensajes
    4

    Uso del script bmg

    Cita Iniciado por Soliman Ver mensaje
    Pues puedes hacerlo con la 2.49 y luego exportar el objeto como.3ds, por ejemplo, y luego abrirlo en el 2.68.
    http://download.blender.org/release/Blender2.49a/.
    http://www.selleri.org/Blender/scripts/text.html.
    ¿no hay una solución mejoré
    Porque para instalar la versión 2.49 tengo que desinstalar la versión 2.68. Y me parece un poco raro que la versión 2.49 tuviese un script que hacia bien los engranajes y lo cambiasen por uno que los hace mal.

  8. #8
    Fecha de ingreso
    Aug 2012
    Mensajes
    1,752

    Blender Uso del script bmg

    Pues anda qué no tiene años este post. Esa versión esta ya muy obsoleta.
    Buena cosa esto del Blender

Temas similares

  1. Respuestas: 2
    : 07-05-2015, 22:08
  2. Cómo cambiar un script a un macro script
    Por Miguel-Arte-3D-1990 en el foro Programación y Scripts
    Respuestas: 11
    : 11-03-2012, 22:07
  3. Pf script
    Por Zuria en el foro Programación y Scripts
    Respuestas: 6
    : 18-05-2010, 16:09
  4. Script
    Por altair_117 en el foro Modelado
    Respuestas: 2
    : 18-04-2009, 02:53
  5. Que es script
    Por el aprendiz 3d en el foro Programación y Scripts
    Respuestas: 5
    : 31-08-2007, 15:43

Etiquetas para este tema