Gracias Gracias:  1
Resultados 1 al 8 de 8

Tema: Uso del script BMG

  1. #1
    Administrador y fundador. Avatar de 3dpoder
    Fecha de ingreso
    Apr 2002
    Mensajes
    15,459

    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 mecanicos es la necesidad de crear engranajes. Los engranajes no son meramente "ruedas dentadas". Éstos 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 [1] (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 [2]. Basicamente, 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. Ésto asegura eficacia, poco ruido y una gran duración. La descripción matematica 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, 2].

    El Script BMG es una suite de scripts que puedes descargar desde aquí [3]. 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 como 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 T eeth 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 mecanico, 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 costosa. En gráficos 3D, todo eso es irrelevante, así que mantendremos este valor en 0.

    El Addendum y el Dedendum definen como 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 mecanico 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 planee aplicar mucho zoom (acercarlo) o lo contrario (alejarlo) sobre sus engranajes; y una Resolución Longitudinal a lo largo del espesor del diente. Ésto 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 inclicació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 esta en el punto de origen, el radio de inclinación (Pitch Radius) esta en 5 unidades blender, podrá ver ésto 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 ésto 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 SpinDup 5 veces en 72°. T endra una copia extra de él (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 SpinDup en 288°, 4 copias y "remove doubles"! Quizás también desee 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 debera 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 enga 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, ésto desencadenara un comportamiento extraño. Al emparentar engranajes con huecos y moviendo/rotando sólo los 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. Ésto completa nuestra base de datos de engranajes. (Fig. 9.1) La base de datos contiene información sobre qué 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 ésto porque la base de datos se perdera cuando cierre Blender (¡El script generado automáticamente para el girado no se perdera!).



    Ahora vaya al panel 'Link'. Añada 3 líneas con el botón Add. Las nuevas líneas contienen información sobre qué engranaje esta 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 pricipal 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 éstos 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á hecha (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 perdera 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 devolveran 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
    Si vas a subir un trabajo al foro, hazlo adjuntando la imagen, archivo, vídeo o lo que sea, no publicando enlaces de otros sitios. http://www.foro3d.com/f45/forma-correcta-de-insertar-imagenes-y-archivos-en-nuestro-mensaje-98930.html

    |Agradecer cuando alguien te ayuda es de ser agradecido|

  2. #2
    ejemplar de ciudadano Avatar de adal
    Fecha de ingreso
    May 2002
    Ubicación
    albacete
    Mensajes
    1,367

    Respuesta: Uso del script BMG

    muchas gracias

  3. #3
    Miembro Nuevo
    Fecha de ingreso
    Jul 2013
    Mensajes
    4

    Re: Uso del script BMG

    ¿y como 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 el dibujo de engranajesí

  4. #4
    Senior Member Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Ubicación
    Torrevieja-Alicante
    Mensajes
    10,200

    Re: Uso del script BMG

    Las últimas versiones de Blender traen varios ADD-ONS sin activar.
    Para ruedecillas y otro tipo de roscas, etc, hay uno que se llama Extra Objects

    Lo activas desde User Preferences > 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 ruedecilla en pantalla, puedes cambiar los tamaños desde el panel de la izquierda (Tool Shelf) letra T lo activa/desactiva.

    Uso del script BMG-gears.jpg

  5. #5
    Miembro Nuevo
    Fecha de ingreso
    Jul 2013
    Mensajes
    4

    Re: Uso del script BMG

    Cita Iniciado por Soliman Ver mensaje
    Lo activas desde User Preferences > 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 ruedecilla 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 20:06

  6. #6
    Senior Member Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Ubicación
    Torrevieja-Alicante
    Mensajes
    10,200

    Re: 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
    Miembro Nuevo
    Fecha de ingreso
    Jul 2013
    Mensajes
    4

    Re: 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
    El Senior De Los Members Avatar de limitee
    Fecha de ingreso
    Aug 2012
    Ubicación
    Madrid, España (Spain)
    Mensajes
    1,745

    Blender Re: Uso del script BMG

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

Temas similares

  1. Respuestas: 2
    Último mensaje: 07-05-2015, 23:08
  2. Script Eco
    Por 3dpoder en el foro Programación y Scripts
    Respuestas: 0
    Último mensaje: 14-07-2014, 14:00
  3. script
    Por minato en el foro Programación y Scripts
    Respuestas: 9
    Último mensaje: 20-07-2010, 23:17
  4. script
    Por altair_117 en el foro Modelado
    Respuestas: 2
    Último mensaje: 18-04-2009, 03:53
  5. max script
    Por Thule en el foro Modelado
    Respuestas: 5
    Último mensaje: 13-02-2005, 18:00

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •