-- Leo's gemini proxy
-- Connecting to gmi.osiux.com:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini;lang=es_AR
AUTHOR: Osiris Alejandro Gomez
EMAIL: osiux@osiux.com
DATE: 2023-03-28 09:57
Mi primer *approuch* para graficar suele ser `GraphViz` ^1[1], pero esta vez se complicó un poco, de por si, siempre se resiste a seguir órdenes estrictas y solo acepta sugerencias que no siempre las toma en cuenta...
Entonces decidí usar `OpenSCAD` ^2[2] el cual ya había utilizado con anterioridad para graficar el isotipo de `gcoop` ^3[3] y el de `FACTTIC` ^4[4], y teniendo en cuenta la geometría del logo de `Ansible Tools` ^5[5], no debería ser muy complejo...
Inicialmente fue fácil, dibujar la porción que se repite, elementos básicos, comencé con un `\cylinder`{=latex}\ de `radio 1`, y luego fue cuestión de agregar los otros 3 `\cylinders`{=latex}\ moviendo (`translate`) y rotando (`rotate`) a la posición correcta.
module circles() { $fn=32; translate([d1,0,0]) cylinder(r=r3, h); translate([d2,0,0]) cylinder(r=r3, h); rotate([0,0,a1]) translate([d1,0,0]) cylinder(r=r3, h); rotate([0,0,a1]) translate([d2,0,0]) cylinder(r=r3, h); }
Ahora bien, para agregar las líneas que unían los círculos, en principio fueron simples las exteriores, porque su origen y destino eran el centro de cada circulo dibujados con *cylinders*, pero las diagonales, no tenía el dato preciso (estoy oxidado con trigonometría), entonces fui probando ángulos por aproximación, queda pendiente mayor precisión.
module lines() { $fn=32; translate([d1,0,r3/2]) rotate([0,90,45]) cylinder(r=r3/2,(d2-d1)*1.2); translate([d2,0,r3/2]) rotate([0,90,145]) cylinder(r=r3/2,(d2-d1)*1.2); translate([d1,0,r3/2]) rotate([0,90,0]) cylinder(r=r3/2,d2-d1); translate([d1,0,r3/2]) rotate([270,0,5]) cylinder(r=r3/2,l1); translate([d2,0,r3/2]) rotate([270,0,6]) cylinder(r=r3/2,l2); }
Y con estas 2 funciones (`circles` y `lines`) ya tenía el `modulo` que se repetía.
module modulo() { union() { lines(); circles(); } }
Capturando la secuencia construí un `gif` del paso a paso del modulo:
[6]
Bastó contar, cuántas veces se repetía, eran `32` veces, dividiendo los `360` grados, el ángulo de rotación daba `11.25` grados.
module border() { for ( i = [1 : 32] ) { rotate([0,0,i*a1]) modulo(); } }
[7]
Ahora solo faltaban el círculo central con la `A` de `Ansible`, y si bien `OpenSCAD` permite importar un `svg` y extruirlo, no recordaba como hacerlo y mucho tiempo no tenía, entonces como no podía resolver la tarea, la delegué en `herzet` ^6[8] que sabe bastante de `Blender` ^7[9], solo tuve que exportar el modelo y a otra cosa mariposa...
En cuestión de minutos `hertzet` ya estaba solucionado mis *bugs* en `Blender` y un *screenshot* bastó para despreocuparme...
[10]
Un par de horas mas tarde, obtuve una secuencia de imágenes con la animación para convertir en video! Comparto un `gif`
[11]
Ansible Buenos Aires Meetup MAR/2023[12]
*Ansible Tools* `v0.3.0`[13]
`2023-05-21 22:47`[14] agregar tag en Dibujar logo *Ansible Tools* en *3D* usando *OpenSCAD* y *Blender*
`2023-05-21 16:28`[15] agregar Dibujar logo *Ansible Tools* en *3D* usando *OpenSCAD* y *Blender*
-- Response ended
-- Page fetched on Thu May 2 01:51:27 2024