En resumen
- El comando ScriptEditor abre el editor de scripts de Python integrado en Rhino.
- Al crear un script nuevo, puedes elegir Python 3 y ejecutar el código con Run > Run.
- Rhino ofrece dos entornos de trabajo independientes: Python 3 basado en CPython y Python 2 basado en IronPython.
- Los paquetes de PyPI se pueden instalar desde ScriptEditor y declarar como requisitos dentro del script.
Qué aprenderás en esta guía
Esta guía se centra en preparar un pequeño script de Python que se ejecuta dentro de Rhino. Primero abriremos un archivo nuevo en ScriptEditor y crearemos un ejemplo que permita seleccionar dos puntos y dibujar una línea entre ellos. Después veremos cómo ejecutar el script, depurarlo, elegir el entorno de Python y gestionar las dependencias de paquetes.
El ejemplo utiliza funciones de rhinoscriptsyntax de Rhino. El objetivo no es desarrollar una herramienta completa, sino entender el flujo básico de un script que recibe datos del usuario y crea geometría en Rhino. Esta introducción puede servir como punto de partida para automatizar más adelante tareas de modelado repetitivas.
Requisitos y elección de versión
El flujo de trabajo se realiza en Rhino y en su ScriptEditor integrado. Escribe ScriptEditor en la línea de comandos para abrir el editor. Al crear un script, puedes seleccionar Python 3 desde el menú File > New. Las fuentes no indican requisitos adicionales de cuenta, pago o hardware específico para este trabajo.
Las opciones de Python de Rhino se ofrecen como implementaciones independientes, no como distintas versiones del mismo motor. La guía identifica Python 3 como CPython y Python 2 como IronPython. Python 3 permite usar paquetes de PyPI. Python 2 puede ser una opción para algunos scripts centrados en llamadas a RhinoCommon o que necesitan aprovechar el multihilo de .NET. La documentación para desarrolladores recomienda Python 3 como punto de partida para la mayoría de los scripts nuevos.
Al consultar los números de versión, ten en cuenta también la fecha de las fuentes. La guía general Rhino.Python, actualizada en 2025, indica Python 3.9.11 para Rhino 8 e IronPython 2.7.12 para Rhino 7. La documentación de ScriptEditor, actualizada en 2026, describe los entornos de trabajo, pero no especifica esos números. Por ello, lo más recomendable es comprobar las opciones disponibles en el editor de la versión de Rhino instalada.
Crear el primer script
Ejecuta el comando
ScriptEditoren la línea de comandos de Rhino. Cuando se abra el editor, ve a File > New y selecciona Python 3. ScriptEditor indica el lenguaje y el entorno de trabajo utilizados por el archivo que estás editando.Añade el siguiente código al script nuevo:
import rhinoscriptsyntax as rs
first_point = rs.GetPoint("Çizginin başlangıç noktası")
if first_point:
second_point = rs.GetPoint("Çizginin bitiş noktası")
if second_point:
rs.AddLine(first_point, second_point)El código te pide que selecciones primero el punto inicial y luego el punto final en Rhino. Cuando hayas seleccionado ambos, crea una línea entre ellos. Si no seleccionas uno de los puntos, no se ejecuta el paso de creación de la línea. Las funciones del ejemplo utilizan la interfaz rhinoscriptsyntax de Rhino.
Ejecuta el script con Run > Run y selecciona los puntos solicitados en la vista de Rhino. Puedes guardar el archivo con la extensión
.py. La opción File > New From Template del editor ofrece otra forma de iniciar un archivo nuevo a partir de una plantilla.Mantén el ejemplo acotado y observa el resultado de cada paso. Después, puedes adaptar el mismo enfoque a tareas repetitivas de selección y creación de geometría. Rhino.Python admite casos de uso como scripts interactivos, comandos personalizados y generación de geometría mediante algoritmos. Este ejemplo se limita a mostrar el flujo de selección de puntos y creación de una línea.
Ejecución, depuración y motor de Python
No es obligatorio iniciar un script desde el editor cada vez. Según la guía para desarrolladores de Rhino, ScriptEditor puede ejecutar archivos guardados desde la línea de comandos de Rhino, una macro, un botón de la barra de herramientas o un alias. Así, puedes conectar el script a distintos puntos de inicio de Rhino, según el uso previsto. Si escribes código directamente en una macro, recuerda añadir un indicador de lenguaje para que Rhino pueda seleccionar el motor correcto.
El entorno de Python en el que se abre el archivo depende de la extensión y del indicador incluido en el script. Las expresiones #! python 3 o #! python 2 especifican el motor correspondiente; las extensiones .py3 y .py2 también señalan un entorno concreto. En los archivos .py normales se tiene en cuenta el entorno que solicita el script. Si un archivo no se ejecuta como esperabas, comprueba este aspecto.
Si quieres que el script se detenga en una línea para inspeccionar variables, añade un punto de interrupción haciendo clic en el margen junto a esa línea del editor. A continuación, inicia la depuración desde Run > Debug. Cuando el script se detenga, podrás avanzar paso a paso e inspeccionar las variables en los paneles correspondientes. La opción Debug no está disponible si no has añadido un punto de interrupción.
Paquetes y problemas que puedes comprobar
Para añadir paquetes de PyPI a scripts de Python 3, puedes usar la opción Install Package del panel de ScriptEditor. Puedes buscar paquetes o introducir su nombre y versión. Si necesitas que la información del paquete forme parte del script, comprueba si está marcada la opción Add Package Reference to Script; la guía para desarrolladores explica que permite declarar los paquetes necesarios en el texto del script.
También es posible especificar las dependencias de paquetes con varios nombres. Por ejemplo, la siguiente línea enumera los paquetes numpy y requests:
#requirements: numpy, requestsDespués de instalar paquetes o cambiar los módulos importados, puede ser necesario volver a cargar el motor de Python correspondiente. Para ello, puedes usar las opciones Tools > Reload Python 3 (CPython) Engine o Tools > Reload Python 2 (IronPython) Engine de ScriptEditor; según la guía, no hace falta reiniciar Rhino.
Si un script no se ejecuta, comprueba primero si es compatible con el motor de Python seleccionado y qué indican la extensión o el indicador de lenguaje. En un archivo que use paquetes, revisa si la información de dependencias está incluida en el script. Las fuentes no señalan que estos sean problemas especialmente frecuentes; son posibilidades que conviene comprobar al investigar el origen de un fallo. Para depurar, añade primero un punto de interrupción y después prueba la opción Debug.
Próximos pasos
Puedes trasladar el código que vayas a usar en varios scripts a un módulo independiente e importarlo desde otros archivos. Para que Rhino encuentre el módulo, su carpeta debe estar incluida en las rutas de búsqueda; estas carpetas aparecen en Module Search Paths, dentro de Options. La guía para desarrolladores también menciona la opción de añadir una ruta mediante un archivo .pth.
En usos más avanzados, los scripts pueden acceder a RhinoCommon. Python 3 ofrece este acceso mediante Python.NET, mientras que Python 2 se ejecuta sobre .NET. También es posible usar Python dentro de Grasshopper, aunque existe una guía independiente de Grasshopper Python para sus componentes y el flujo de trabajo del editor. Por tanto, al elegir el siguiente paso, define si tu objetivo es crear un script independiente dentro de Rhino o un componente personalizado que funcione dentro de una definición de Grasshopper.
Fuentes y licencia
El contenido se ha adaptado con una explicación original en turco a partir de las guías para desarrolladores de McNeel “Scripting: Python” (K1) y “What is Rhino.Python?” (K2). Los registros de las fuentes clasifican la licencia como “libre”; las páginas incluyen avisos de derechos de autor y la mención “All Rights Reserved”, pero no especifican una licencia abierta.
Fuentes
2 fuentesNo republicamos los textos de las fuentes; las citas breves van marcadas y el resto es resumen y comentario propios.
Para los estudios de arquitectura y estudiantes que repiten las mismas selecciones y operaciones de geometría en Rhino, Python ofrece un punto de partida útil para probar pequeñas automatizaciones. Aunque el ejemplo de seleccionar puntos y crear una línea es limitado, muestra de forma práctica cómo afecta el script a Rhino y cómo depurarlo.
Para los equipos de Turquía, es importante comprobar el entorno de Python de la instalación actual de Rhino y los paquetes que se utilizarán antes de ampliar el alcance. Como las fuentes no indican precios, requisitos de hardware ni costes de licencia, no conviene hacer suposiciones sobre esos aspectos. También hay que tener en cuenta que RhinoCommon y Grasshopper implican flujos de trabajo distintos.
Preguntas frecuentes
¿Cómo se ejecuta un script de Python en Rhino?
Ejecuta el comando ScriptEditor en la línea de comandos, crea un script nuevo y selecciona Run > Run. También puedes iniciar los archivos desde la línea de comandos, una macro, la barra de herramientas o un alias.
¿Rhino usa Python 3 o Python 2?
Las guías para desarrolladores indican que Rhino ofrece los entornos de trabajo Python 3 basado en CPython y Python 2 basado en IronPython. Python 3 permite usar paquetes de PyPI; la elección del motor depende de los requisitos del script.
¿Cómo se añade un paquete de PyPI a un script de Python para Rhino?
Puedes buscar el paquete o introducir su nombre y versión con la opción Install Package del panel de ScriptEditor. La opción Add Package Reference to Script ayuda a especificar las dependencias dentro del script.



