taller ia

parte 4

Leer código

presentar →

Cómo habla un script con Rhino, las seis piezas de cualquier programa, y GitHub.

01

Dónde estamos

presentar →

Volvemos a la pila. Ya vimos empresa y modelo y arnés (app o agente) y conexión. Ahora: leer código. ¿Cómo leo un script que escribió el agente? ¿Qué es RhinoCommon y cómo se lo pido? ¿Dónde guardamos los scripts del equipo?

02

Cómo habla un script con Rhino

presentar →

Todo lo que hacen con el ratón en Rhino es código por debajo: escribir Point y hacer clic es lo mismo que la línea rs.AddPoint(0, 0, 0). Rhino tiene dos puertas para los scripts. rhinoscriptsyntax es la sencilla: una línea por acción, muy parecida a los comandos. RhinoCommon es la completa: las piezas con las que está construido Rhino, con todo el poder y más palabras. Y la sencilla está construida encima de la completa: por dentro, rs.AddPoint llama a RhinoCommon. RhinoCommon tiene cuatro zonas principales: la aplicación y el documento, la geometría, los objetos del documento como capas y atributos, y la entrada del usuario y los archivos. Es también lo que usan C# y Grasshopper. Al pedirle algo al agente, díganle Rhino 8, Python 3 y la biblioteca; si no, adivina.

RhinoCommon
La interfaz de programación (.NET) sobre la que está construido Rhino. Se usa desde Python, C# y Grasshopper.
rhinoscriptsyntax
Una biblioteca de Python más sencilla, construida encima de RhinoCommon: una línea por acción, menos completa.
03

Las seis piezas de cualquier programa

presentar →

No vamos a escribir código: vamos a aprender a leerlo, para revisar lo que escribe el agente. Todo programa, en cualquier lenguaje, se arma con seis piezas: variable, lista, diccionario, función, ciclo e if. Las vemos ejecutando un script que pone círculos en fila. Variables: cuántos círculos y a qué distancia. Un diccionario con tres tamaños con nombre. Un if que revisa que no se enciman. Una función que calcula cada centro. Una lista para guardarlos y un ciclo que los recorre. Antes de cada paso, pregunten al grupo qué va a pasar. Al final cambiamos a “grande”: sin el if, los círculos se enciman; con el if, el espacio se ajusta. Es un caso límite: hay que nombrarlo en la instrucción al agente.

Variable
Un nombre que guarda un valor, por ejemplo radio = 1.0.
Lista
Una colección ordenada de valores, como la lista de centros de los círculos.
Diccionario
Una tabla de pares clave → valor, como tamaño con nombre → radio.
Función
Una receta con nombre que se puede reutilizar: recibe datos y devuelve un resultado.
Ciclo (for)
Repetir las mismas instrucciones para cada elemento, como dibujar un círculo en cada centro.
Condición (if)
Hacer algo solo si se cumple una condición.
Caso límite
Una situación poco común que el código debe contemplar, como círculos que se enciman o una capa anidada.
04

GitHub: el archivo central de los scripts

presentar →

GitHub es donde un equipo guarda su código y toda su historia. El repositorio es la carpeta del proyecto, como el archivo de control de documentos. Cada commit es una versión guardada con una nota, como una revisión emitida. Un branch es una línea de trabajo paralela sobre una copia, como probar una opción de diseño. Un pull request propone unir esa línea a la principal, con revisión antes de emitir. Clone, push y pull son bajar una copia, subir tus cambios y traer los de otros: sincronizar con el archivo central. Así, el script de una persona se vuelve de todo el equipo, y un agente también puede leer y escribir el repositorio.

Repositorio
La carpeta de un proyecto en GitHub, con la historia completa de cada cambio.
Commit
Una versión guardada del código, con una nota de qué cambió.
Branch
Una línea de trabajo paralela, sobre una copia, para probar sin afectar la principal.
Pull request
Una propuesta para unir un branch a la línea principal, con revisión.
Clone, push, pull
Bajar una copia del repositorio, subir tus cambios y traer los cambios de otros.
05

¡Gracias!

presentar →

Gracias. Todo el material queda en el sitio del taller, con cada parte para leer o presentar y el glosario completo.