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/kicade/usr/local/share/kicadno Linux,/Applications/KiCad/KiCad.app/Contents/SharedSupportno macOS,KICAD9_SYMBOL_DIReKICAD9_FOOTPRINT_DIRnoutros sítios, incluindo o Windows.KICAD8_*eKICAD_*também funcionam.
agentee search symbol lm358
agentee import symbol Amplifier_Operational:LM358 --with-footprint
agentee import footprint Package_TO_SOT_SMD:SOT-89-3Uma 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
| KiCad | agentee |
|---|---|
.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árquicas | sheets = [...] num esquema principal, redes ligadas por nome |
.kicad_pcb | *.pcb.toml: posicionamentos, pistas, vias, áreas de cobre, serigrafia |
| DRC | agentee check, com todas as regras listadas por agentee drc NAME --list |
| preenchimento de áreas de cobre | automático ao carregar, em cache; agentee fill guarda-o no ficheiro |
| gerar Gerbers e ficheiros de furação | agentee fab |
campos de footprint mpn, lcsc | os 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"oucurrent = "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-7628ou uma construção da PCBWay a partir deagentee stackupsem 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.pngA importação escreve:
| ficheiro | de |
|---|---|
NAME.board.toml | o 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.toml | posicionamentos 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.toml | cada 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ê.