Diferencia entre revisiones de «Obiscad»

De WikiRobotics
Saltar a: navegación, buscar
(Attach.scad: uniendo piezas)
(Attach.scad: uniendo piezas)
Línea 62: Línea 62:
 
|----
 
|----
 
|| [[Archivo:Attach-04.png|thumb|300px| '''Fig. 3''': Parte principal con dos piezas en sus conectores (''click para ampliar'')]]
 
|| [[Archivo:Attach-04.png|thumb|300px| '''Fig. 3''': Parte principal con dos piezas en sus conectores (''click para ampliar'')]]
|| [[|thumb|300px| (''click para ampliar'')]]
+
|| [[Archivo:Attach-01.png|thumb|300px| '''Fig. 4''': La pieza secundaria y el objeto final (''click para ampliar'')]]
 
|----
 
|----
 
|| [[|thumb|300px|  (''click para ampliar'')]]
 
|| [[|thumb|300px|  (''click para ampliar'')]]

Revisión del 01:29 10 sep 2012

[[|thumb|200px|]]

Introducción

Biblioteca de Módulos y objetos en Openscad para facilitar el diseño.

Componentes

Bcube.scad: Cubos biselados

Más información
Cubo biselado con mismo radio pero diferentes resoluciones (click para ampliar)
Pieza hecha a partir de cubos biselados (click para ampliar)
(click para ampliar)
Cubo biselado, con vaciado interior biselado también (click para ampliar)

Vector.scad: Vectores

22 vectores apuntando a diferentes direcciones (click para ampliar)
Probando los vectores y la orientación de un elemento (click para ampliar)
Boceto de robot junto con sus sistemas de referencia, y proyección sobre plano z=0 (click para ampliar)
Cinemática del robot (click para ampliar)

Introducción

Librería para la visualización de vectores y sistemas de referencia. Incluye también el operador orientate() para orientar cualquier pieza según la dirección dada por un vector. Esta librería es especialmente útil para el diseño de robots y estudio de sus cinemáticas, así como para facilitar el diseño de piezas complejas mediante la visualización de vectores auxiliares o sistemas de referencia.

API

  • vector(v, l, l_arrow): Dibujar el vector v. l_arrow es la longitud de la flecha. Hay dos modos de dibujo:
    • Modo 1: Cuando el parámetro l es 0, v especifica el vector cartesiado. Se dibuja un vector que va desde el origen y que tiene su punta en las coordenadas indicadas por v
    • Modo 2: Cuando l es distinto de 0, se dibuja un vector en la misma dirección que v, con una longitud de l
    • Ejemplos de uso:
vector([10,20,30]);       //-- Dibujar vector cartesiano
vector([10,20,30],l=50);  //-- Dibujar un vector en la misma dirección que el anterior, pero de longitud 50
  • frame(l,l_arrow): Dibujar un sistema de referencia con 3 vectores de longitud l. El parámetro l_arrow indica la longitud de las flechas.
    • Ejemplo:
frame(l=10);
  • orientate(v,roll): Operador para orientar cualquier objeto según la dirección dada por v, y rotado un ángulo roll alrededor del eje definido por v
    • Ejemplo:
orientate([1,1,1]) cube([10,10,10])

Dibujar un cubo de 10 de arista y orientarlo en la dirección dada por el vector [1,1,1]

Attach.scad: uniendo piezas

Fig. 1: Parte principal (cuerpo) en la que se han definido 2 connectores (click para ampliar)
Fig. 2: Parte secundaria. Se ha definido 1 conector (click para ampliar)
Fig. 3: Parte principal con dos piezas en sus conectores (click para ampliar)
Fig. 4: La pieza secundaria y el objeto final (click para ampliar)
[[|thumb|300px| (click para ampliar)]] [[|thumb|300px| (click para ampliar)]]

Introducción

El operador attach permite conectar dos piezas en las que se han definido conectores. Hace que el código sea más legible y fácil de entender.

Ejemplo

Partimos de la pieza principal, que en este ejemplo usaremos un cubo. Queremos unir al cubo otras dos piezas, una en la parte superior y otra en la izquierda. Primero definimos los conectores: son los elementos donde se conectarán las piezas.

Un conector consta de 3 componentes: El punto de anclaje, el eje de unión y el ángulo de giro. Para nuestro ejemplo definiremos los dos conectores c1 y c2 así:

//--     punto     eje    ángulo
c1 = [ [0,0,10],  [0,0,1],  20 ]; 
c2 = [ [-10,0,0], [-1,0,0],-30 ];

Para hacerlo más fácil, podemos invocar al comando connect() para verlos gráficamente junto con nuestra pieza:

connector(c1);
connector(c2);

El resultado se muestra en la figura 1. A continuación hacemos lo mismo para otra pieza. En esta solo definimos el conector a:

a = [ [0, 2,2], [0,0,1], 0 ];

Para "depurar" podemos ver tanto el conector como el sistema de referencia de la piza (Figura 2).

Por último, ya podemos unir las piezas secundarias al cuerpo usando attach:

attach(c1,a) mi_pieza();
attach(c2,a) mi_pieza();

¡Y ya está! El código queda muy limpio y fácil de entender. Si ahora cambiamos los ángulo de los connectores (tercera componente) ocurre lo que se muestra en las figuras 5 y 6.

API

Repositorio

Autor

Licencia

Cc logo.png This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 Spain License.

Enlaces

Noticias

  • 7/Sep/2012: Comenzada esta página