Esquema e layout
Edição no visualizador
Mover componentes, rotear pistas e colocar vias manualmente no agentee view, guardados de volta no mesmo TOML.
A página de layout 2D do agentee view edita o layout à mão. As edições ficam na janela até save (ctrl+S) as escrever no .pcb.toml através do mesmo escritor que preserva comentários e ordem que a CLI usa; revert as descarta. Cada edição é verificada em segundo plano da forma como check o faria, por isso o painel de diagnósticos e a tabela de redes acompanham, e o cabeçalho conta layouts não guardados. Quando o ficheiro muda em disco sob edições não guardadas, a página pergunta se manter as suas ou carregar o ficheiro. Fechar a janela com edições não guardadas pergunta primeiro.
| tecla | faz |
|---|---|
| clicar | selecionar uma peça, pista, via ou linha de ratsnest; clicar na seleção novamente escolhe o próximo item sob o ponteiro |
| arrastar | mover: uma peça com a sua etiqueta, uma via, um canto de pista, ou um segmento de pista inteiro; o item selecionado vence o que está debaixo dele |
| arrastar com o botão direito ou do meio, roda | mover, ampliar |
| R, shift+R | rodar a peça selecionada 90 graus |
| Del | apaga a pista ou via selecionada |
| X | ferramenta de roteamento: clicar num pad, via ou pista para começar, clicar para adicionar cantos de 45 graus, / inverte a curva, V coloca uma via e move para a próxima camada que as vias da classe da rede alcançam, Backspace recua, Enter, um duplo clique ou um clique em cobre da rede termina |
| V | ferramenta de via: clicar em cobre com uma rede para colocar uma via de classe dessa rede |
| PgUp, PgDn | camada ativa |
| ctrl+Z, ctrl+shift+Z | desfazer, refazer |
| Esc | cancelar a pista, voltar para seleção, limpar a seleção |
Os movimentos encaixam na grelha selecionada na barra de ferramentas. As novas pistas assumem a largura da classe (sem a chave width); o painel de propriedades define a rede, a camada e uma largura própria de uma pista, a posição, a rede e o tipo de uma via, e a posição, a rotação, o lado e o locked de uma peça. Uma linha do ratsnest selecionada pode ser entregue ao autorouter como uma ligação única ou como a sua rede inteira, com as mesmas regras do agentee route. Uma via colocada por uma regra [[fanouts]] ou [[stitching]], ou um elemento de uma linha count, é retirada da respetiva regra quando a move, altera ou apaga: a regra recebe uma entrada skip_at para o local e a via é escrita como a sua própria [[vias]].
O reset na barra de ferramentas limpa o que marcou: o routing (pistas, vias e as secções do plano do motor), as regras [[fanouts]] e [[stitching]], as áreas de cobre com os seus preenchimentos guardados e as posições das etiquetas de serigrafia, e pode recolocar todas as peças não bloqueadas com o posicionador (agentee place, com uma semente). Como qualquer edição, permanece por guardar até guardar. O new layout na separadora de layouts pede um nome, uma placa e um esquema, escreve NAME.pcb.toml junto ao projeto e, a menos que desmarque, coloca todas as peças com o posicionador primeiro. O novo ficheiro começa com uma área de cobre em cada camada de cobre para cada rede de massa do esquema e, quando o esquema tem redes RF, uma grelha [[stitching]] de vias de massa a 2,5 mm mais uma cerca ao longo das pistas RF quando a sua classe tem um coplanar_gap. O tie plane pads no cartão do motor executa o agentee tie no layout da janela, e uma linha do ratsnest selecionada de uma rede de plano oferece tie pads to the plane antes de um routing.
O cartão layout engine executa as etapas do agentee layout (ver docs/layout-engine-2.md) no layout tal como está na janela, incluindo edições por guardar: o run toma as etapas de..até, o run X only reexecuta uma, e o stop termina a execução após a etapa em curso. A edição fica em pausa durante a execução. O resultado chega à janela como qualquer outra edição, por guardar e a um desfazer de distância, com o tempo e a pontuação de cada etapa e os termos de pontuação que mais pesam. O phases to run e o settings escrevem [engine] no layout (phases, rounds, place_rounds, [engine.place] seed, [engine.access] via_in_pad, [engine.global], [engine.detail]), e o default remove novamente uma definição. Uma peça selecionada com 16 ou mais pads tem pinswap, que procura trocas da sua E/S como o agentee pinswap e escreve-as nos ficheiros do esquema ao write to the schematic.
As peças comuns são desenhadas a partir do footprint sem carregar um modelo: resistores, condensadores, indutores, LEDs e diodos em chip (nomes com um tamanho Metric), cabeçotes e soquetes de pinos verticais, pacotes SOIC, SOT, QFP, QFN, DFN, SON, TSLP e BGA, cristais e osciladores, conectores SMA de montagem em borda e molduras de blindagem (Shield no nome ou na descrição), desenhadas sem cobertura. O corpo é o contorno F.Fab, a altura vem do height, de uma parte do nome _h1.25mm, ou da família do pacote, e os terminais assentam nos pads fora do corpo. Furos de montagem, fiduciais, pontos de teste de pad, jumpers de solda e footprints Tag-Connect não recebem corpo. Um ficheiro de modelo no projeto (3dmodels/ ou um caminho relativo a ele) continua a prevalecer sobre uma peça gerada; o agentee models ignora as geradas.
Os modelos são STEP ou VRML, colocados da forma como o KiCad os coloca (model_offset, model_rotate, model_scale). Um caminho de modelo é procurado tal como indicado, depois sob KICAD9_3DMODEL_DIR e afins, 3dmodels/ no projeto, ~/.cache/agentee/3dmodels e /usr/share/kicad/3dmodels, tentando .step, .stp e .wrl, comprimidos ou não. Um modelo também pode ser uma URL https:// para um ficheiro STEP ou VRML, de modo a que os modelos do fornecedor não precisem de ser verificados: é descarregado uma vez para ~/.cache/agentee/3dmodels/url/ e conta como o modelo próprio do projeto, pelo que prevalece sobre uma peça gerada. Fixe a URL a um commit ou release para que o ficheiro não mude sob si. Os modelos de biblioteca do KiCad que não estão no disco são descarregados do repositório kicad-packages3D para a cache: o agentee models (MCP models) descarrega-os todos e relata o que encontrou, e o visualizador descarrega em segundo plano. Uma peça sem modelo é uma caixa sobre o seu contorno fab, com a altura height, senão uma altura estimada a partir do nome do footprint. Os ficheiros STEP são malhados com truck, com cores dos seus itens estilizados e colocações de montagem aplicadas. As arestas usam a curva 3D de cada curva de superfície, não as suas pcurves. As curvas e superfícies B-spline não fixadas são cortadas ao seu intervalo de nós válido. Uma curva de aresta que ainda não avalia para pontos finitos é malhada como uma linha reta, e uma face cuja superfície não avalia é omitida.
O agentee export pcb:NAME -o NAME.step (MCP export) escreve o layout como uma montagem STEP única (AP214) para CAD de invólucro. A placa é um sólido da espessura do stackup com os seus furos de pad, fendas e recortes da placa; as vias são omitidas. Cada peça é uma instância nomeada pela sua referência: um modelo STEP entra tal como o fornecedor o escreveu, sólidos, cores e submontagens intactos, e é escrito uma vez, independentemente de quantas peças o usam. Os modelos VRML e os corpos gerados entram como superfícies facetadas, e uma peça sem modelo algum entra como uma caixa sobre o seu contorno fab. O referencial é o do layout com Y para cima e a face inferior da placa em z = 0, de modo a que uma peça no lado superior comece na espessura da placa. O relatório lista os ficheiros STEP usados, quantas peças foram facetadas, as peças desenhadas como caixas e os modelos que não puderam ser encontrados.
Os pads recebem as suas redes do esquema (número do pad = número do pino). As áreas de cobre são preenchidas com o afastamento para todas as outras redes e para a borda da placa, e as ilhas que não tocam em nada são removidas. A verificação reporta ligações não roteadas (com o ratsnest), curtos-circuitos, violações de afastamento, pistas mais estreitas do que a sua classe ou fora da largura de impedância, cobre perto da borda, sobreposições de courtyards, componentes não posicionados, extremidades de pistas que não ligam a nada e texto de serigrafia que sobrepõe outro texto, cruza um contorno de serigrafia, assenta num pad ou sai da placa. Os courtyards são os contornos fechados desenhados em F.CrtYd / B.CrtYd, posicionados com o componente (o land de um componente inferior fica no outro lado); dois componentes cujos courtyards se sobrepõem no mesmo lado são um erro, tal como um courtyard em qualquer lado sobre um furo NPTH de outro componente ou sobre o courtyard de um footprint MountingHole* (o contorno do seu pad, quando não tem). Nomeie um item com o seu tipo quando os nomes colidirem: agentee render pcb:lna, sch:lna, board:lna.