Macros do SOLIDWORKS pt I

Pergunte a um projetista qual a parte de um planejamento é pior que a gestão do tempo. Há tempo necessário para projetos específicos? Tempo necessário para alterar a documentação? Tempo necessário para todas outras tarefas cotidianas que todos nós devemos encaixar no planejamento? Então, quanto tempo sobra para realmente trabalhar com design? Como conseguimos mais desse tempo? Bem, você poderia solicitar um assistente (boa sorte com isso) ou automatizar essas tarefas tediosas e demoradas usando as Macros do SOLIDWORKS.

Macros são ‘pequenos’ programas de computador que você pode criar diretamente na aplicação, ou seja, no SOLIDWORKS. São salvas como um arquivo separado e, portanto, podem ser usadas repetidamente com qualquer um dos seus modelos. Como são programas de computador, quanto mais habilidades de programação você tiver ou puder adquirir, mais tempo você e sua equipe poderão economizar.

Chega de conversa, vamos dar uma olhada debaixo dos panos e passar por um exemplo de criação de uma macro simples. Suponha que você tenha uma peça com duas configurações (“xyz” e “123”) e você precisa criar um novo arquivo com o nome da configuração ativa.

Veja como criar uma macro para realizar essa tarefa com o apertar de um botão:

  1. Iniciar Gravação
  • Selecione Ferramentas à Macro à Gravar…
  • Agora o SOLIDWORKS estará ‘observando’ cada ação sua e transformando cada passo em uma linha de código na sua macro

  1. Ativar uma Configuração
  • Botão direito do Mouse à Exibir configuração.
  • O SOLIDWORKS acabou de escrever a seguinte linha de código em sua macro: Part.ShowConfiguration2(“123”).

  1. Salve o Arquivo
  • Arquivo à Salvar Como…
  • Digite o nome da configuração como o novo nome do arquivo.
  • O SOLIDWORKS acabou de escrever a seguinte linha de código em sua macro: Part.SaveAs3(“C:\temp\123.SLDPRT”, 0, 2).
  1. Pare de Gravar
  • Ferramentas à Macro à Parar…
  • O SOLIDWORKS parou de ‘observar’ as ações.
  1. Salve a Macro
  • Você será avisado assim que interromper a gravação.
  • Salve-a.

Parabéns! Você acabou de criar seu primeiro programa de computador. Para executá-lo basta escolher Ferramentas à Macro à Executar… e navegue até o arquivo ‘.swp’.

Pronto! Foi executado novamente. Embora a execução tenha terminado rapidamente, essa macro fez EXATAMENTE o que você fez. Ela salvou a configuração “123” como “c:\temp\123.sldprt”. Isso é muito legal, mas o nosso objetivo é salvar TODAS as configurações.

Para visualizar ou otimizar o código-fonte, basta selecionar Ferramentas à Macro à Editar… e navegar até o arquivo ‘.swp’. Isso o levará até o editor de código-fonte para sua macro. A maior parte do código-fonte que você verá é um código de inicialização que toda macro precisa ter. Observando o código-fonte e com a ajuda dos comentários inseridos automaticamente você poderá identificar as 3 linhas onde o trabalho propriamente dito é feito. Essas linhas selecionam a configuração, depois a ativam e finalmente salvam o novo arquivo.

Você pode simplesmente copiar esse código e ajustá-lo para adicionar a outra configuração ao código.

Veja como:

  • Copie as três linhas para a área de transferência e cole de novo logo abaixo dos originais
  • Nas novas linhas mude todos os “123” para “xyz”
  • Salve e feche a macro
  • Execute-a novamente (Ferramentas à Macro à Executar…)

Voilà! Ambas as configurações estão sendo salvas agora.

Mas e se mais configurações forem adicionadas ao modelo? Teríamos que modificar o código-fonte todas as vezes? Bem, você poderia, mas existem outras maneiras de tornar a macro mais versátil (ou seja, escalável). É aqui que o seu conhecimento de programação entrará em ação. Nesse caso, podemos usar uma chamada da API do SOLIDWORKS para que sua macro obtenha do modelo ativo uma lista de cada um dos nomes das configurações ‘on-the-fly’. Em seguida, usando uma construção “loop… …for“, a macro pode percorrer a lista e executar suas 3 linhas de código para cada nome na lista.

Algo parecido com isto:

Você notará que o original “123” foi substituído por ‘configNames (i)’. É aí que a macro realmente trabalha. As linhas de código originais que o SOLIDWORKS gerou ainda estão no código, mas, a macro substitui dinamicamente os nomes das configurações fornecidos pela API do SOLIDWORKS.

Mesmo uma macro simples como essa ainda exige um pouco mais de trabalho antes de compartilhá-la. Por exemplo: tratamento de erros – o que acontece se não tivermos permissão para salvar o arquivo? Ou otimizar – há chamadas API mais eficientes ou algoritmos de programação para realizar essa tarefa?  – Você também pode considerar adicionar comentários, registro, teste, controle de origem, etc.

Embora já seja bastante útil, outras funcionalidades poderiam ser adicionadas. Por exemplo, provavelmente gostaríamos de remover as configurações indesejadas dos novos arquivos, todas as configurações originais ainda estão lá, ou ainda pedir ao usuário para selecionar um subconjunto de configurações para exportar. Talvez adicionar um ícone na Barra de Ferramentas Personalizada para iniciar a macro. Tudo isso e muito mais podem ser alcançados aproveitando a tecnologia de macro integrada do SOLIDWORKS.

Gerente de Marketing