Como criar um plugin

2 min de leitura

De forma bem resumida, um plugin nada mais é que um arquivo de texto, contendo instruções que serão interpretadas por algum programa. Para que essas instruções sejam entendidas, é necessário que o texto esteja claro e em uma linguagem conhecida pelo programa. Simples assim!

O SketchUp entende as instruções escritas na linguagem Ruby. Então, você deve conhecer essa linguagem antes de pedir que o SketchUp faça algo por você.

Antes de tudo, crie uma pasta chamada Meus plugins e dentro dela salve todos os plugins que você criar. Mantenha este hábito.

Instale um editor

Use o de sua preferência ou os mais populares, como Notepad++, Atom.io ou Sublime Text 2.

Sempre confira se a codificação do arquivo está como UTF-8 without BOM, ou simplesmente UTF-8. Nunca use with BOM.

Vamos começar pelo mais simples de todos os exemplos. O famoso Hello World! Abra um dos programas citados acima e escreva o seguinte texto:

UI.messagebox('Olá, tudo bem?')

Na pasta que você criou Meus plugins, salve o arquivo com o nome saudacao.rb. Isso mesmo, sem acentos.

Agora que você já salvou o arquivo e conferiu três vezes que a codificação está correta, copie ele para a pasta plugins do SketchUp. Caso não saiba onde fica, clique aqui

Se deu tudo certo, seu arquivo ficará como o exemplo em verde.

Agora toda vez que você abrir o programa, ele vai fazer essa saudação.

Legal, né?

Ainda podemos deixar esse Hello World mais personalizado. Que tal fazê-lo mudar de frase de acordo com o horário do dia?

Então vamos lá. Abra seu arquivo saudacao.rb, escreva igual ao texto abaixo e salve-o. Feche o sketchup e abra novamente.

Use a tecla Tab para dar os espaços necessários abaixo do if, else e elsif. Isso se chama Identação.

tempo = Time.now
hora = tempo.hour
if hora < 12
  UI.messagebox('Bom Dia! Já tomou seu café?')
elsif hora >=12 && hora < 18
  UI.messagebox('Boa Tarde! Já fez o alongamento?')
else
  UI.messagebox('Boa noite! Café nunca é demais')
end

Achou complicado?

Clique aqui para baixar o arquivo de saudacao.

Abaixo, temos o exemplo da estrutura de um plugin capaz de fazer duas coisas, sacar o dinheiro da conta corrente e pedir um extrato ao caixa automático.

module FulanoDeTal # namespace para quem fez o plugin ou o nome da empresa


  module FazTudo # nome do plugin ou abreviado

    
    def self.sacar_dinheiro
      #... codigo para o saque

    end

    def self.pedir_extrato
      #... codigo para o extrato

    end

    unless file_loaded?(__FILE__) # Criamos um item no menu

      UI.menu("Plugins").add_item("Sacar dinheiro") {self.sacar_dinheiro}
    end

    file_loaded(__FILE__)

  end # fim do plugin FazTudo


end # fim do modulo FulanoDeTal

Veja que dentro da definição, temos que dar todo o passo a passo e dizer que terminou. Os ... nas linhas 6 e 10, serão o passo a passo bem detalhado das operações. Para saber quais são os comandos a serem usados, leia a documentação da API do SketchUp.

Estrutura de código

A forma como escrevi a estrutura, é apenas uma das formas de se fazer. É possível ainda incluir classes de código, inserir mais sub-menus, criar toolbars com icones e infinitas combinações.

Se você pretende se tornar um autor de plugins, escolha um nome de módulo e use o mesmo nome em todos os plugins que fizer. Isso evita que hajam conflitos entre plugins. Pode ser que um autor escreva algo no plugin dele que seja igual no seu. Pode ser difícil de acontecer isso, mas já ouvi relatos desse fenômeno.

Por enquanto esse foi meu breve resumo. Embaixo deixo alguns links para auxíliar na sua aprendizagem.

  1. SketchUp API
  2. Treine Ruby
  3. SketchUp Developers

Bons estudos!

Gostou do conteúdo?

Ajude-me a manter o site gratuito enviando uma doação ou comprando alguma coisa da minha lista da Amazon. Você pode também assinar os vários feeds do site pra ser notificado de novas postagens ou seguir-me nas redes sociais.

Deixe um comentário

Explore mais:

sketchupruby

↑ ir para cima