100 likes | 239 Views
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. Automação do Emme. Para que serve?
E N D
3º Encontro de Usuários do Emme – São PauloAutomação do Emme usando Python 16 Novembro 2010 Eduardo Germani Steer Davies Gleave RuaBelaCintra, 756 Cj 21 São Paulo – SP - Brasil www.steerdaviesgleave.com
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.
Automação do Emme PromptConsole • 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çãoPython • Arquivo de texto; • Programa externo; • Substitui o mouse e teclado na interface gráfica do Emme, com poderosa linguagem de programação.
Porque 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ávemcomumaampla biblioteca de módulos; • É poderosa • Moderna (OO, multiploprocessamento, etc.) • não é de “brinquedo”; • pode ser utilizada para fazer programas profissionais; • Portabilidade • roda em diferentes sistemas operacionais (Windows, Mac, Linux, etc.).
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)
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
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.
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.
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)