3º Encontro de Usuários do Emme – São Paulo
Automação do Emme usando Python
16 Novembro 2010
Eduardo Germani
Steer Davies Gleave
Rua Bela Cintra, 756 Cj 21
São Paulo – SP - Brasil
www.steerdaviesgleave.com
1
Automação do Emme
Para que serve?
Ι Executar processos complexos e ou repetitivos
■
Replicar alterações em diversos cenários
■
obter seqüência de informações (resultados)
■
Implementação de algorítmos diferentes
■
Etc.
Ι Portabilidade
■
Pode ser utilizados em outros projetos
■
Pode hover intercâmbio entre usuários
Ι Maior controle sobre a rede e alocações
■
Diminui erros humanos
■
“Documenta” os processos
Ι Etc.
2
Automação do Emme
Prompt Console
Ι Linguagem de Macro
■
Arquivo de texto;
■
É parte do programa Emme;
■
Substitui o teclado para respostas a diálogos do Emme, com alguns
recursos básicos de linguagem de programação (estruturado, variáveis,
etc.);
Desktop (interface gráfica)
Ι Linguagem de programação Python
■
Arquivo de texto;
■
Programa externo;
■
Substitui o mouse e teclado na interface gráfica do Emme, com poderosa
linguagem de programação.
3
Por que Python?
Ι Foi criada para ser fácil de aprender
■
Muito utilizada em cursos para iniciantes;
Ι É grátis;
■
acompanha o Emme, ou www.python.org;
Ι É livre – pode ser alterada e redistribuída;
■
já vem com uma ampla biblioteca de módulos;
Ι É poderosa
■
Moderna (OO, multiplo processamento, etc.)
■
não é de “brinquedo”;
■
pode ser utilizada para fazer programas profissionais;
Ι Portabilidade
■
roda em diferentes sistemas operacionais (Windows, Mac, Linux, etc.).
4
Automação do Desktop
Executado fora do Emme
Ι Clique duplo no arquivo python (*.py), ou;
Ι Do DOS prompt
Caso o Emme esteja rodando
Ι Tem que ter sido iniciado com a opção “Emme Desktop with API”
Ι Ou com o parâmetro –a
Conexão via TCP/IP
Ι Porta padrão=4242, host padrão="127.0.0.1“
Ι Podem ser alterados
Acesso remoto via LAN ou Internet
Sem ordem seqüencial predefinida (orientada a eventos)
5
Automação do Desktop
Exemplo 1 – Punch Nodes
Ι Abre o Emme e carrega o banco de dados
Ι Abre a tabela “PunchNodes”
Ι Salva a tabela em arquivo texto
Variante:
Ι Abre o Emme em modo invisível
Ι Encerra o Emme ao final
6
Automação do Desktop
Exemplo 2 - Impressões
Para cada cenário de uma simulação nova:
Ι Imprime o volume de Automóveis
Ι Imprime o volume de Caminhões
Ι Imprime a comparação do volume de Automóveis com o cenário
anterior
Ι Imprime a comparação do volume de Caminhões com o cenário
anterior
Em todas as impressões, utiliza uma janela padrão e atualiza a legenda.
7
Automação do Desktop
Outros exemplos de uso:
Ι Comandar apresentações a clientes
Ι Modificar legendas ou configurações de worksheets
Ι Acrescentar ou remover layers dependendo do cenário, da janela,
etc.
Ι Aplicar padronização da empresa em todas as imagens
Ι Gerar seqüência de impressões ou pdfs automaticamente
Ι Etc.
8
Automação do Desktop
Documentação:
Ι Python: www.python.org
Ι Emme Desktop API:
■
Guia
■
Referência de comandos
■
Programa exemplo:
(C:\Program Files\INRO\Emme\Emme 3.3\Emme-3.3.3\
doc\html\desktop_api\desktopAPIExample.py)
9
Obrigado
10
Download

Emme+Python