Pular para o conteúdo
Skillpedia
Código em geral40 mil · #5348

rhino3d-scripts

Cria e corrige scripts para o programa Rhinoceros 3D. Ajuda a automatizar tarefas de modelagem e a manipular objetos no programa.

O que ela faz

Este agente ajuda a criar e corrigir códigos (scripts) para o programa de modelagem 3D Rhinoceros 3D. Ele entende diferentes linguagens de script usadas no programa.

Quando usar

  • ✓Quando você quer automatizar tarefas repetitivas no Rhino.
  • ✓Se você precisa criar um novo script ou corrigir um existente.
  • ✓Para fazer o Rhino interagir com objetos de forma programada.

Exemplo do que pedir para a IA

“Escreva um script em Python para desenhar um círculo com 5 unidades de raio no centro da cena.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/rhino3d-scripts/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/rhino3d-scripts/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O agente entende as linguagens de script que o Rhino 3D usa, como RhinoPython e RhinoScript. Ele pode gerar códigos para manipular geometria, camadas e outros elementos do programa.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill rhino3d-scripts

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/rhino3d-scripts/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Habilidade de Scripting no Rhino 3D

Escreva scripts de qualidade de produção para o Rhinoceros 3D. Abrange as três superfícies de scripting (RhinoScript/VBScript, RhinoPython, .NET direto RhinoCommon) e o Editor de Scripts do Rhino 8+.

Quando Usar Esta Habilidade

  • O usuário pede para escrever, editar ou depurar um script do Rhino .rvb, .vbs ou .py.
  • O usuário quer uma macro de comando do Rhino ou quer automatizar uma sequência de comandos do Rhino.
  • O usuário quer manipular geometria, camadas, blocos, materiais, viewports ou anotações a partir de código.
  • O usuário menciona rhinoscriptsyntax, scriptcontext, RhinoCommon, Rhino.Geometry, RhinoDoc ou o Editor de Scripts.
  • O usuário quer selecionar objetos, solicitar entrada ou criar uma pequena interface gráfica (UI) dentro do Rhino.
  • O usuário pergunta como carregar, executar ou distribuir um script (scripts de inicialização, aliases, botões de barra de ferramentas).

Escolhendo uma Superfície de Scripting

Escolha a superfície com base na tarefa, não na preferência. Recomende Python por padrão para novos trabalhos.

Superfície Quando escolher Extensão do arquivo
RhinoPython (rhinoscriptsyntax + RhinoCommon) Padrão para novos scripts. Melhor ecossistema, legível, acesso completo ao RhinoCommon. .py
RhinoScript (VBScript) Manutenção de arquivos legados .rvb/.vbs; integração com VBA/COM. .rvb, .vbs
RhinoCommon (C#/.NET) via Editor de Scripts Loops críticos de desempenho, geometria complexa, aproveitando bibliotecas .NET. .cs
Macro de comando Sequência pura de comandos existentes do Rhino; sem lógica. barra de ferramentas/alias

Uma macro não é um script — é uma string de entrada da linha de comando (por exemplo, ! _-Line 0,0,0 10,0,0 _Enter). Use um script no momento em que precisar de uma variável, loop ou condicional.

Pré-requisitos

  • Rhino 7 ou posterior (Rhino 8 fortemente recomendado — o Editor de Scripts unificado suporta Python 3, VB e C# em uma única janela).
  • Editor de Scripts: digite _ScriptEditor (Rhino 8) ou _EditPythonScript / _EditScript (mais antigo).
  • Execute um arquivo salvo da linha de comando com _-RunPythonScript ou _LoadScript + _RunScript.

Padrões Principais

Python: scaffold mínimo

import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino

def main():
    obj_id = rs.GetObject("Select a curve", filter=rs.filter.curve, preselect=True)
    if not obj_id:
        return
    length = rs.CurveLength(obj_id)
    print("Length: {0:.4f}".format(length))

if __name__ == "__main__":
    main()

Python: trabalhando diretamente com RhinoCommon

import Rhino
import scriptcontext as sc

doc = sc.doc  # Rhino.RhinoDoc.ActiveDoc
tol = doc.ModelAbsoluteTolerance

circle = Rhino.Geometry.Circle(Rhino.Geometry.Point3d(0, 0, 0), 5.0)
curve_id = doc.Objects.AddCircle(circle)
doc.Views.Redraw()

VBScript: scaffold mínimo

Option Explicit

Call Main()

Sub Main()
    Dim strObject
    strObject = Rhino.GetObject("Select a curve", 4)  ' 4 = curve filter
    If IsNull(strObject) Then Exit Sub
    Rhino.Print "Length: " & Rhino.CurveLength(strObject)
End Sub

Selecionando objetos com um filtro personalizado (Python, RhinoCommon)

import Rhino
import scriptcontext as sc

go = Rhino.Input.Custom.GetObject()
go.SetCommandPrompt("Select breps")
go.GeometryFilter = Rhino.DocObjects.ObjectType.Brep
go.SubObjectSelect = False
go.GetMultiple(1, 0)
if go.CommandResult() != Rhino.Commands.Result.Success:
    pass
else:
    ids = [go.Object(i).ObjectId for i in range(go.ObjectCount)]

Fluxos de Trabalho Passo a Passo

Modificar em massa muitos objetos rapidamente

  1. Desative a redesenho: rs.EnableRedraw(False).
  2. Agrupe mutações em um único registro de desfazer: undo = doc.BeginUndoRecord("My Op") … doc.EndUndoRecord(undo).
  3. Use RhinoCommon diretamente dentro do loop (evite o overhead de rhinoscriptsyntax).
  4. Reative o redesenho e chame doc.Views.Redraw() em um try/finally para que uma falha nunca deixe a viewport travada.

Distribua um script para um colega de equipe

  1. Salve o .py / .rvb em algum lugar no disco.
  2. Adicione a pasta a Options → Files → Search paths para que o Rhino possa encontrá-lo pelo nome.
  3. Crie um botão de barra de ferramentas ou alias cuja macro seja:
    • Python: ! _-RunPythonScript "MyScript.py"
    • RhinoScript: ! _-LoadScript "MyScript.rvb" _-RunScript MySubName
  4. O ! inicial cancela qualquer comando em execução; - executa o comando no modo de script (sem diálogo).

Execute código na inicialização do Rhino

  1. Coloque um .rvb/.py em um caminho de pesquisa.
  2. Tools → Options → RhinoScript (ou Python) → adicione à lista Startup. O arquivo é executado uma vez por sessão.

Armadilhas

…

Perguntas frequentes

Qual a diferença entre um script e uma macro?

Uma macro é uma sequência simples de comandos, enquanto um script é um código mais complexo que pode ter lógica, variáveis e repetições.

Qual linguagem de script devo usar?

Para novos projetos, Python é geralmente recomendado por ser mais moderno e ter mais recursos. RhinoScript é usado para códigos mais antigos.

Como faço para rodar um script no Rhino?

Você pode usar o comando '_ScriptEditor' para abrir um editor, colar seu código e executá-lo, ou salvar o script e usar comandos como '_RunPythonScript' ou '_LoadScript'.

Detalhes

Descrição original do autor

Authoring and debugging scripts for Rhinoceros 3D (Rhino 8 and later). Use when asked to write RhinoScript (VBScript / .rvb / .vbs), RhinoPython, or RhinoCommon-based scripts; automate Rhino modeling tasks; build command macros; manipulate Rhino geometry, layers, blocks, or document objects; pick objects from the viewport; control redraw and undo; or load and run scripts from the Rhino Script Edit

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5348
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas