agentee

Começar aqui

Para quem vem do KiCad

O que o agentee toma do KiCad e o que faz de forma diferente: as bibliotecas de onde importa, a importação de uma placa inteira, e como os conceitos se mapeiam.

O agentee não é um substituto do KiCad com um formato de ficheiro diferente. É uma ferramenta de design para agentes que usa as bibliotecas do KiCad e lê as placas do KiCad. Se conhece o KiCad, a maioria dos conceitos se aplica; o que muda é que os ficheiros são a interface, e uma pessoa edita através de um agente e de um visualizador em vez de através de um editor.

As bibliotecas

O agentee não tem biblioteca de componentes própria. agentee search e agentee import leem as bibliotecas de símbolos e footprints do KiCad a partir de:

  • /usr/share/kicad e /usr/local/share/kicad no Linux,
  • /Applications/KiCad/KiCad.app/Contents/SharedSupport no macOS,
  • KICAD9_SYMBOL_DIR e KICAD9_FOOTPRINT_DIR noutros sítios, incluindo o Windows. KICAD8_* e KICAD_* também funcionam.
agentee search symbol lm358
agentee import symbol Amplifier_Operational:LM358 --with-footprint
agentee import footprint Package_TO_SOT_SMD:SOT-89-3

Uma importação escreve um .sym.toml ou .fp.toml em symbols/ ou footprints/. A partir daí o projeto é o dono: não há ligação de volta à biblioteca, por isso um componente nunca muda sob si quando o KiCad atualiza. Um caminho .kicad_sym ou .kicad_mod funciona no lugar de Library:Name para componentes fora das bibliotecas padrão.

Os modelos 3D vêm de KICAD9_3DMODEL_DIR e afins, 3dmodels/ no projeto, ou de um cache que o agentee models preenche a partir do repositório kicad-packages3D.

Como os conceitos se mapeiam

KiCadagentee
.kicad_pro configuração da placa: camadas, regras, classes de rede*.board.toml: predefinição do fabricante, predefinição do stackup, [rules], [[netclasses]], [[vias]]
entrada de biblioteca de símbolos*.sym.toml, um por símbolo
footprint*.fp.toml, com linhas de pads em vez de uma entrada por pad
folha de esquema com fios*.sch.toml: componentes e redes como listas de pinos; fios opcionais
folhas hierárquicassheets = [...] num esquema principal, redes ligadas por nome
.kicad_pcb*.pcb.toml: posicionamentos, pistas, vias, áreas de cobre, serigrafia
DRCagentee check, com todas as regras listadas por agentee drc NAME --list
preenchimento de áreas de cobreautomático ao carregar, em cache; agentee fill guarda-o no ficheiro
gerar Gerbers e ficheiros de furaçãoagentee fab
campos de footprint mpn, lcscos mesmos campos no componente do esquema, lidos pela BOM e por agentee parts

Coisas que se comportam de forma diferente:

  • As larguras de classe de rede são mínimos. No KiCad, a largura de uma classe é o valor predefinido para novas pistas; no agentee, uma pista mais estreita do que a sua classe é um erro, a menos que seja uma redução curta de pescoço para um pad.
  • A impedância e a corrente vivem na classe. Dê a uma classe impedance = "50ohm" ou current = "2A" e a verificação resolve a largura para todas as camadas do stackup.
  • Os stackups são os do próprio fabricante. Escolha JLC04161H-7628 ou uma construção da PCBWay a partir de agentee stackups em vez de digitar espessuras.
  • O Y cresce para baixo em todos os ficheiros, como no editor de footprints do KiCad, e a rotação é anti-horária no ecrã.
  • Chaves desconhecidas são erros. Um erro de digitação numa chave é reportado, não ignorado.
  • Toda a placa tem uma marca de versão na sua serigrafia: a versão do agentee e o commit que gerou o pacote de fabrico.

Importar uma placa inteira

agentee import board path/to/NAME.kicad_pcb --dir NAME
cd NAME
agentee check
agentee render pcb:NAME -o NAME.png

A importação escreve:

ficheirode
NAME.board.tomlo contorno Edge.Cuts e os seus recortes, o stackup com espessura, permissividade e tangente de perda, o acabamento e a cor da máscara, as regras de design e as classes de rede de NAME.kicad_pro
NAME.pcb.tomlposicionamentos de footprints, pistas (arcos como segmentos curtos), vias e áreas de cobre com os seus preenchimentos guardados, e o texto e as linhas de serigrafia e de fabrico, com ${TITLE} e as variáveis de texto do projeto preenchidas
NAME.sch.tomlcada componente com o seu valor, e cada rede como uma lista de pinos, desenhada com etiquetas de rede
footprints/cada footprint tal como está na placa, os da face inferior virados de volta para a face superior
symbols/um símbolo de caixa por footprint, com um pino por número de pad

O esquema é uma netlist, não o seu desenho: o esquema do KiCad não é lido, pelo que os nomes dos pinos, o desenho dos símbolos e a estrutura das folhas não são transportados. Isso é suficiente para verificar, renderizar, simular e fabricar a placa e para ter um agente a alterar o layout.

As vias mantêm o seu tipo. Uma via micro do KiCad torna-se uma microvia, blind uma via cega ou enterrada conforme a sua extensão, e cada furação, pad, extensão, preenchimento e backdrill distintos torna-se num tipo de via da placa. As coordenadas movem-se para que o contorno comece em 0, 0.

Excluídos e reportados: gotas de solda, áreas de exclusão e laços no Edge.Cuts fora do contorno. Uma classe cujas pistas correm mais estreitas do que a sua largura adota a mais estreita, uma vez que o agentee trata a largura como um mínimo. Os afastamentos são verificados com a tolerância de 0,5 um do KiCad.

Nos demos video e complex_hierarchy do próprio KiCad, cada pad do layout importado cai onde a exportação IPC-D-356 do KiCad o coloca: 2089 e 165 pads. O exemplo HackRF Pro é uma placa completa importada desta forma.

Voltar

Não há exportação para ficheiros do KiCad. O que sai do agentee é o pacote de fabrico (Gerbers com atributos X2, furações Excellon, BOM, posicionamento e uma netlist IPC-D-356) e um STEP da placa montada, que qualquer fabricante e qualquer ferramenta MCAD lê.

Melhorar este guia · Markdown para agentes