Dibujar logo Ansible Tools en 3D usando OpenSCAD y Blender
index | about | archive | charlas | docs | links
dot
|
git
|
img
|
plt
|
tty
|
uml
GraphViz
, antes te admiraba!
Mi primer approuch para graficar suele ser GraphViz
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…
3D es la que vá!
Entonces decidí usar OpenSCAD
2 el cual ya había utilizado
con anterioridad para graficar el isotipo de gcoop
3 y el de
FACTTIC
4, y teniendo en cuenta la geometría del logo de
Ansible Tools
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\ de radio 1
, y luego fue cuestión de
agregar los otros 3 \cylinders\ 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:
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(); } }
AAAA…
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 que sabe bastante de
Blender
7, 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…
Un par de horas mas tarde, obtuve una secuencia de imágenes con la
animación para convertir en video! Comparto un gif
También podes leer
ChangeLog
2023-05-21 22:47
agregar tag en Dibujar logo Ansible Tools en 3D usando OpenSCAD y Blender2023-05-21 16:28
agregar Dibujar logo Ansible Tools en 3D usando OpenSCAD y Blender