Automatizando a geração de saídas do Altium Designer

Output generation is not a manual step at the end of a project – it is a configurable, automatable process that should run the same way every time.

O sistema de geração de saídas do Altium Designer é estruturado em torno dos arquivos Output Job (OutJobs). Um OutJob é uma coleção configurada de saídas – dados de fabricação, dados de montagem, documentação, BOMs, verificações de validação e relatórios personalizados – com as configurações, o formato e o local de destino de cada saída definidos uma única vez. O mesmo OutJob pode ser executado em qualquer projeto. Quando o projeto muda, executar o OutJob regenera todas as saídas de acordo com o estado atual. Quando os requisitos de saída mudam, você atualiza o OutJob uma única vez.

Os OutJobs não são apenas uma conveniência para engenheiros individuais. No nível da equipe, eles são o mecanismo para padronizar o que é produzido, em que formato e para onde vai – eliminando a variação que ocorre quando cada engenheiro gera saídas manualmente com suas próprias configurações.

A arquitetura de geração de saídas – o que os OutJobs produzem

  • Fabrication outputs: Arquivos Gerber (RS-274X, X2), arquivos de furação NC, ODB++, IPC-2581, relatórios de empilhamento da placa.

  • Assembly outputs: Arquivos pick and place, desenhos de montagem, relatórios de pontos de teste.

  • Documentation outputs: Impressões de esquemático, impressões de PCB, modelos 3D (STEP), desenhos de montagem.

  • BOM outputs: Relatórios de BOM em formatos padrão e personalizados.

  • Validation outputs: Relatórios de DRC, relatórios de ERC, relatórios de diferenças, relatórios de comparação de footprints. Eles podem ser configurados para bloquear a geração de saídas em caso de falha.

  • Netlist outputs: Vários formatos de netlist para ferramentas downstream.

  • Custom outputs: Scripts incorporados em OutJobs podem gerar saídas em qualquer formato exigido pelo seu fluxo de trabalho.

Automatizando a geração de saídas por meio da liberação

Quando um projeto é liberado por meio do Workspace, a execução do OutJob é integrada ao processo de liberação. As verificações de validação são executadas primeiro – se alguma falhar, a liberação é interrompida. As saídas são geradas a partir do estado validado do projeto e armazenadas no Workspace como artefatos de liberação versionados. Isso significa que as saídas da liberação são sempre rastreáveis a uma revisão específica do projeto, geradas a partir de um estado conhecido como válido e armazenadas em um local que toda a equipe pode acessar.

Isso é fundamentalmente diferente de gerar saídas localmente e compartilhar arquivos: não há dúvida sobre a qual revisão do projeto as saídas correspondem, não há risco de que as saídas sejam regeneradas com configurações diferentes e não há dependência da máquina ou da configuração de um engenheiro específico.

Geradores de saída personalizados

Para formatos de saída que não são suportados nativamente pelo Altium Designer, o SDK fornece uma API de Output Generator. Uma extensão de gerador de saída personalizado se conecta ao sistema de OutJob como um tipo de saída de primeira classe – ela aparece no editor de OutJob como qualquer saída nativa, pode ser configurada com definições, atribuída a contêineres de saída e executada como parte da liberação automatizada. Do ponto de vista do usuário, um gerador de saída personalizado é indistinguível de um nativo.

Essa é a abordagem correta para formatos proprietários de fabricação, modelos internos de documentação, formatos de netlist personalizados para ferramentas internas ou qualquer requisito de saída que não corresponda ao que o Altium fornece por padrão.

Padrões comuns de falha no gerenciamento de saídas

  • Manual generation with per-engineer settings – cada engenheiro gera saídas em sua própria máquina com suas próprias configurações. Os resultados variam sutilmente entre engenheiros e entre execuções. Quando algo dá errado na fabricação, é difícil saber de qual revisão do projeto as saídas vieram ou se as configurações usadas estavam corretas.

  • Outputs stored outside the Workspace – arquivos de saída armazenados localmente ou em pastas de rede compartilhadas acabam se desvinculando dos projetos que os geraram. Fica pouco claro qual revisão do projeto corresponde a qual conjunto de saídas, especialmente depois que revisões são feitas. O mecanismo de liberação do Workspace resolve isso vinculando as saídas a revisões específicas do projeto como artefatos versionados.

  • Validation and output generation as separate manual steps – quando os engenheiros executam DRC e ERC manualmente antes de gerar saídas, as verificações e a geração não ficam formalmente conectadas. Um projeto pode passar na validação em uma hora e ter saídas geradas na hora seguinte, depois que alguém fizer uma alteração. Integrar a validação ao OutJob garante que a validação seja executada no mesmo estado do projeto que produz as saídas.

  • OutJob configuration drift between projects – quando OutJobs são copiados entre projetos e modificados de forma independente, as configurações divergem com o tempo. Uma mudança nos requisitos de saída exige a atualização de vários OutJobs. Gerenciar OutJobs como modelos compartilhados no Workspace e incorporar as atualizações aos projetos evita essa divergência.

Quando investir em geradores de saída personalizados

Geradores de saída personalizados fazem sentido quando seus parceiros de fabricação ou ferramentas downstream exigem formatos que o Altium não produz nativamente, e quando essas saídas precisam ser geradas de forma consistente como parte de um processo de liberação gerenciado. Se o formato puder ser produzido por pós-processamento de uma saída nativa do Altium – por exemplo, transformando um CSV de BOM em uma estrutura específica – um script no OutJob geralmente é mais simples do que uma extensão completa do SDK. Construa a extensão quando o formato exigir acesso aos objetos de projeto em um nível que o sistema de scripts não consegue alcançar, ou quando o tipo de saída precisar se integrar à interface do OutJob como uma saída configurada adequada.

 

AI-LocalizedLocalizado por IA
Caso encontre um problema, selecione o texto/imagem e primaCtrl + Enterpara nos enviar o seu feedback.
Conteúdo