NOTAS DO PROFESSOR
- Enfatizar: automatizar é uma competência do referencial desta UC, não um "extra" para quem gosta de programar.
- Erro comum: achar que só se automatiza o que é complexo. O que compensa automatizar é o que se **repete muitas vezes**, seja simples ou não.
- Exemplo: uma chapa com 40 furos desenhados um a um demora horas e qualquer furo pode ficar mal alinhado; uma rotina desenha-os todos em segundos, sempre iguais.
NOTAS DO PROFESSOR
- Enfatizar: requisito é o "quê" (tem furos de fixação), especificação é o "quanto" (8 furos, Ø100 mm). Confundir os dois é o erro mais comum.
- Pergunta: "se automatizarmos sem confirmar a especificação, o que acontece a uma peça já fabricada com o erro?" (Resposta: o erro repete-se em todas as peças da série.)
- Analogia: é como escrever a receita antes de cozinhar em série; sem ela, cada tacho sai diferente.
NOTAS DO PROFESSOR
- Enfatizar: o critério de decisão é objetivo (comparar poupança acumulada com o custo de desenvolver), não uma impressão.
- Erro comum: programar uma rotina para uma tarefa que só acontece uma vez. O tempo de desenvolvimento nunca se paga.
- Exemplo: os dois casos do código foram mesmo corridos; o resultado muda de "compensa" para "não compensa" só por mudar a frequência.
NOTAS DO PROFESSOR
- Enfatizar: o fluxograma separa o "o que fazer" (lógica) do "como escrever" (sintaxe do VBA). Pensar primeiro na lógica poupa tempo a depurar depois.
- Erro comum: começar a escrever código sem desenhar o fluxograma e perder-se a meio de um ciclo com uma condição mal pensada.
- Analogia: o fluxograma é a planta da rotina, tal como o desenho técnico é a planta da peça.
NOTAS DO PROFESSOR
- Enfatizar: todo o ciclo tem de ter uma condição de paragem clara (aqui, "i < N?"); sem ela, a rotina nunca termina.
- Erro comum: esquecer o caso N = 0 ou N negativo. É o primeiro caso limite a testar em qualquer rotina.
- Pergunta: "o que aconteceria se trocássemos 'i < N' por 'i <= N'?" (Resposta: desenhava-se um furo a mais, fora do padrão.)
NOTAS DO PROFESSOR
- Enfatizar: `Integer` e `Double` não são intermutáveis, uma coordenada em milímetros com casas decimais tem de ser `Double`, nunca `Integer`.
- Erro comum: declarar tudo como `Variant` "para não ter de pensar". Funciona, mas gasta mais memória e esconde erros de tipo que só aparecem em produção.
- Exemplo: um `Integer` a contar mais de 32767 furos rebenta; nesse caso usa-se `Long`.
NOTAS DO PROFESSOR
- Enfatizar: "dinâmica" aqui significa que o valor muda durante a execução, não que o tipo é indefinido.
- Erro comum: reutilizar a mesma variável para dois fins diferentes (ex.: um contador de furos e depois um contador de peças) sem a reiniciar.
- Pergunta: "porque é que uma referência de peça como '007' deve ser String e não Integer?" (Resposta: perderia o zero à esquerda se fosse número.)
NOTAS DO PROFESSOR
- Enfatizar: a divisão inteira arredonda sempre para baixo; uma peça que "quase cabe" não conta.
- Erro comum: usar `/` (divisão real) para contar peças e a rotina "desenhar" 6,2 peças, o que não existe fisicamente.
- Exemplo: os números 6 peças e 82 mm de sobra vieram mesmo de correr o código, não são inventados.
NOTAS DO PROFESSOR
- Enfatizar: `For` usa-se quando o número de repetições é conhecido (N furos); `Do While`/`Do Until` quando depende de uma condição (ex.: "até a folha acabar").
- Erro comum: esquecer de atualizar o contador dentro de um `Do While`, criando um ciclo infinito que trava o CAD.
- Pergunta: "o que devolve `furos_em_linha` com N = 0?" (Resposta: lista vazia, é o caso limite tratado no código.)
NOTAS DO PROFESSOR
- Enfatizar: otimizar sem dizer o que se otimiza e sob que restrição não é otimizar, é só "mudar por mudar".
- Erro comum: comparar duas rotinas sem correr as duas com os mesmos dados de entrada, o que invalida a comparação.
- Analogia: é como arrumar uma mala, as peças grandes primeiro deixam menos espaço desperdiçado do que enfiar as pequenas antes.
NOTAS DO PROFESSOR
- Enfatizar: os números 7, 5 e 28,6% vieram de correr mesmo o código com os mesmos dados; a rotina não muda, só a ordem das peças à entrada.
- Erro comum: assumir que qualquer reordenação melhora o resultado. Aqui melhora porque as peças grandes "sobram" menos espaço morto quando entram primeiro.
- Pergunta: "porque é que ordenar por tamanho ajuda mais do que ordenar por código de peça?" (Resposta: o tamanho é o que determina se cabe ou não numa barra; o código de peça é irrelevante para o corte.)
NOTAS DO PROFESSOR
- Enfatizar: testar casos limite não é perfecionismo, é o que distingue uma rotina fiável de uma que falha na primeira exceção real.
- Erro comum: testar só com o exemplo "de propaganda" e nunca com dados vazios ou extremos.
- Exemplo: uma peça de 3000 mm pedida para uma barra de 2500 mm tem de dar um aviso claro, nunca um ciclo sem fim.
NOTAS DO PROFESSOR
- Enfatizar: nunca se testa a chamada à API fora do CAD, mas a lógica de cálculo (coordenadas, contagens, decisões) testa-se sempre à parte, como fizemos nos blocos anteriores.
- Erro comum: misturar cálculo e chamadas à API na mesma linha, o que torna impossível testar o cálculo sem abrir o CAD.
- Analogia: é como separar a receita (lógica) do forno (API): a receita pode ser revista no papel, o forno só se testa a sério a assar.
NOTAS DO PROFESSOR
- Enfatizar: `CreateObject` é a função que "liga" o VBA a outra aplicação (Excel, outro CAD); sem ela não há interface.
- Erro comum: esquecer de fechar a aplicação Excel aberta pela rotina (`oExcel.Quit`), o que deixa processos "fantasma" na memória.
- Pergunta: "porque separar o cálculo do IVA da leitura da célula Excel?" (Resposta: o cálculo pode ser testado sem abrir nada; só a leitura depende do Excel.)
NOTAS DO PROFESSOR
- Enfatizar: a estrutura em seis passos é sempre a mesma, muda o que se desenha (furos, cotas, vistas, legendas).
- Erro comum: saltar o passo de validação "para ir mais depressa" e a rotina desenhar lixo quando alguém introduz um valor inesperado.
- Exemplo: ligar este fluxo ao fluxograma do Bloco 2, é a mesma lógica, agora com os passos escritos por extenso.
NOTAS DO PROFESSOR
- Enfatizar: o passo angular só faz sentido dividir por N se N > 1; com um furo só, não há "distribuição" a calcular.
- Erro comum: não tratar N = 1 como caso especial e obter uma divisão por zero ao calcular 360/N... não, division by zero seria N=0, mas o erro típico é o aluno esquecer de testar N=1 e assumir que o furo fica sempre no mesmo sítio por coincidência.
- Pergunta: "se mudarmos o ângulo inicial de 0° para 45°, o que muda?" (Resposta: todos os furos rodam 45° em bloco, o padrão mantém-se.)
NOTAS DO PROFESSOR
- Enfatizar: esta rotina não desenha nem otimiza, só classifica; é o "controlo de qualidade" automático do desenho.
- Erro comum: só verificar visualmente algumas peças da série "por amostragem" quando a rotina pode verificar todas em segundos.
- Exemplo: mandar fabricar sem correr esta verificação é como imprimir 500 folhas sem rever a primeira.
NOTAS DO PROFESSOR
- Enfatizar: a rotina não "adivinha" a massa, lê-a das propriedades geométricas do modelo, que dependem só da forma desenhada.
- Erro comum: orçamentar "a olho" a partir do desenho em vez de inquirir o volume real do modelo 3D.
- Exemplo: duas peças com a mesma silhueta 2D mas espessuras diferentes têm massas muito diferentes; só o 3D dá o volume certo.
NOTAS DO PROFESSOR
- Enfatizar: mudar o material (dicionário de densidades) muda logo a massa e o custo, sem tocar no resto da rotina.
- Erro comum: usar a densidade errada (confundir alumínio com aço) e o orçamento sair 3× mais caro ou mais barato do que devia.
- Pergunta: "o que acontece se pedirmos um material que não está no dicionário?" (Resposta: a rotina tem de falhar com um aviso claro, não calcular um valor absurdo.)
NOTAS DO PROFESSOR
- Enfatizar: o CSV é texto simples, sem formatação, por isso é lido por praticamente qualquer programa, do Excel ao ERP da empresa.
- Erro comum: exportar números como texto com vírgula decimal portuguesa (1,35) para um sistema que espera ponto (1.35), o que gera erros de leitura silenciosos.
- Exemplo: a BOM de uma estante (painéis, prateleiras, dobradiças, puxador) exportada para CSV é o que o departamento de compras usa para pedir os materiais.
NOTAS DO PROFESSOR
- Enfatizar: importar sem validar o tipo de cada campo (aqui, converter texto para número) deixa tudo como texto e as contas seguintes falham.
- Erro comum: assumir que o ficheiro de entrada está sempre bem formatado; uma rotina de produção verifica antes de calcular.
- Pergunta: "porque testámos a ida e volta (exportar depois importar) em vez de só a exportação?" (Resposta: só assim se prova que nenhum dado se perde ou corrompe na transferência.)
NOTAS DO PROFESSOR
- Enfatizar: o maior risco de uma rotina automática não é físico, é o de replicar um erro em toda uma série de peças antes de alguém dar por isso.
- Erro comum: correr uma rotina nova diretamente sobre o ficheiro final, sem testar primeiro numa cópia.
- Exemplo: uma rotina de furação com o diâmetro errado, corrida sobre 200 peças antes de ser travada, obriga a refazer a série toda; um teste de 1 peça teria apanhado o erro em segundos.