Communitygithub.com

gift-pcb(纪念展示板)

Criação de PCBs puramente estéticas (sem circuito) no EasyEDA Pro / JLCPCB: cartões de aniversário, placas comemorativas, emblemas escolares, pingentes, etc. Também útil para replicar o visual de placas de referência (máscara preta fosca + ENIG, borda texturizada, serigrafia branca) e solucionar discrepâncias de aparência.

O que é gift-pcb(纪念展示板)?

A skill **gift-pcb** é especializada na criação de PCBs puramente decorativas, sem qualquer componente elétrico, voltada para aplicações como cartões de aniversário, medalhas comemorativas, emblemas de escolas, placas de formato irregular para penduricalhos ou chaveiros. O grande diferencial está em resolver os três problemas mais ignorados: entender exatamente como é a placa de referência, identificar o material de cada camada, e eliminar a diferença entre 'parece certo' e 'medido certo'. A skill opera em **8 etapas** com portões rígidos (gate checks) que impedem avanço se os requisitos não forem atendidos, desde a entrevista de necessidades (P0.5) até a revisão 3D (P4.5) e o empacotamento final. Suporta **EasyEDA Professional** e **JLCPCB**, utilizando scripts Python para decodificar referências, gerar vetores, verificar proporções de cores (ouro entre 12-24%, branco ≥0,3%, preto fosco 65-85%), renderizar prévias 3D e empacotar o pedido com manifesto de integridade. A documentação inclui uma lista de 118 armadilhas (arquivo `04`) e 13 regras mais caras, como a necessidade de gerar espelhos nas camadas traseiras (2/4/6), usar `path:["CIRCLE",...]` para círculos em vez de scanlines, e sempre verificar com `scripts/13-check.py` antes de fechar. É ideal para designers que querem replicar fielmente a estética de uma placa de referência ou criar algo do zero, mas totalmente inapropriada para PCBs funcionais que exigem BOM, roteamento ou montagem de componentes.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YHLLXY/pcb-art-skill/tree/HEAD

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Placa Comemorativa (gift-pcb)

Uma PCB puramente estética, sem circuito. A dificuldade não está no esquema elétrico, mas em três coisas frequentemente ignoradas: Qual é realmente a aparência da placa de referência, qual o material de cada camada, e a diferença entre "parece certo" e "medido certo".

Três Regras de Ferro

  1. Veja por camada, não veja a imagem composta. Cobre coberto por máscara é preto; apenas "cobre + abertura de máscara" fica dourado.
  2. Meça, não estime. Todas as dúvidas de "é suficiente" devem ser resolvidas com números reais em milímetros/pixels, e devem ser escritas na resposta. Números estimados serão desmascarados na terceira iteração.
  3. Copie primeiro, depois modifique. Problemas já resolvidos na placa de referência ou em emblemas oficiais devem ser aproveitados diretamente; não reinvente a roda.

Oito Etapas e Portões

EtapaSaídaPortão (sem passar, não avança)
P0 ProjetoDestinatário, dimensões, processo, lista de elementosCada elemento responde "onde colocar, qual tamanho"
P0.5 Entrevista de RequisitosUso, cenário, realista/decorativo, rascunho à mão, orçamentoResponder às 8 perguntas (veja 06), especialmente "quer sensação de escrita à mão?"
P1 Decodificar Placa de ReferênciaRenderizações camada a camada + lista de elementos + tabela de proporção das 3 cores; sem referência, pesquisar素材① Conseguir apontar na imagem o que é cobre/ouro/serigrafia/furo; ② Executar scripts/00-decode_badge.py para obter protótipo do emblema (linhas/círculo) + raio + área + traço mais fino; ③ Com referência, medir os três números (ouro/branco/preto); ④ Preencher a lista de 10 itens de cópia do 07 (cada item com número real + decisão do usuário)
P2 LayoutMockups de posição frontal/traseiraUsuário aprova o layout; e declarar "pré-renderização não representa o resultado final"
P3 Vetor e FabricabilidadeVetores de emblema/texto, tabela de largura de traço, orçamento de área douradaLargura mínima de traço ≥ limite do processo; Ouro 12–24%, Branco ≥0,3%, Preto fosco 65–85%
P4 EDAProjeto + placa + gráficos de cada camadaApós salvar cada camada, reler e verificar se número de elementos confere com o planejado
P4.5 Revisão 3DImagens 3D frontal/traseira geradas por scripts/14-render3d.py + confirmação item por item pelo usuário (C1 ver defeitos / C2 ver se está bonito / C3 se precisa complementar素材)Usuário diz "pode", pelo menos uma rodada, ideal duas; sem aprovação, não gera pacote de pedido
P5 Revisão de ExportaçãoPacote Gerber + pacote de pedidoscripts/13-check.py tudo verde (incluindo proporção ouro/branco/preto) + uma imagem local ≥60 px/mm (olho nu)

P0.5 e P4.5 são os dois portões mais fáceis de pular e mais caros. O primeiro decide se o projeto está certo, o segundo decide se o usuário aceita.

Consulta Direta

O que você precisa fazerLeia isto
O que perguntar ao usuário antes de começar, como fazer revisão 3D, como calcular área douradareferences/06-需求访谈与验收.md
Abrir Gerber de referência, identificar cada camadareferences/01-参考板解码.md
Largura de traço, se pode ser fabricado, bitmap para vetor, precisão de scanline, parâmetros de textura de tramareferences/02-制造性与矢量.md
Inserir textura de trama (reproduzir tabela de textura da placa de referência)scripts/15-weave.py (--extract para extrair tabela de qualquer referência)
O que copiar da placa de referência (faixa dourada, grupo de furos, sangria, hierarquia de serigrafia…)references/07-从参考板抄什么.md
素材 insuficiente, quer procurar imagens onlinereferences/08-素材爬取计划.md + scripts/17-crawl_assets.py
Quais imagens de um conjunto cabem na placascripts/18-filter_assets.py (gera mural de imagens, humano escolhe)
O que perguntar ao usuário antes de começar (formulário preenchível)templates/问卷.md
Não sabe como organizar o layouttemplates/layouts/ (três modelos + referência 24 px/mm)
Quer ver uma prévia da especificação (sem abrir EDA)scripts/20-preview_spec.py
Escrever chamada CLI/JS do EasyEDA Professionalreferences/03-EDA落地.md
Não quer anotar elementos um por um (escrever .epcb2 diretamente)references/03-EDA落地.md seção 8
Emblema é bloco sólido de cor + texto branco recortado (tipo círculo)references/02-制造性与矢量.md "Dois protótipos de emblema"
Gerar prévia 3D para revisão do usuárioscripts/14-render3d.py
Qualquer passo "parece estranho", primeiro consulte histórico de errosreferences/04-踩坑清单.md (118 itens, seções A–R)
Empacotar pedido, confirmar se este é o mesmo da revisãoscripts/19-pack_order.py (MANIFEST + --verify)
Depois de modificar script, confirmar que não estragou a placapython -m pytest tests -q (reprodução de placa dourada / textura / autoteste)
Quer trocar fonte / não roda em outra máquinareferences/02-制造性与矢量.md "Fontes"
Procurar素材, ver skills similares de outrosreferences/05-参考资源.md

Antes de iniciar P4, leia references/03. O erro mais caro foi tentar adivinhar a ordem dos parâmetros de create() de memória, enquanto a assinatura correta estava no próprio 03.

As 13 Regras Mais Caras (texto completo em 04)

  1. Ouro = cobre + abertura de máscara, ambas são obrigatórias; ouro 12–24% (referência do mesmo tamanho 22,0%, 13-check口径, veja 02 "dois口径"). Abaixo de 8% é placa vazia; acima de 26% é placa toda dourada.
  2. Identifique o protótipo do emblema antes de desenhar: tipo linha → desenhe o contorno inteiro; tipo círculo (bloco sólido + texto branco recortado) → círculo sólido + texto em preto recortado. Errar o protótipo fará o texto virar rebarbas (v3 foi descartado assim).
  3. Caracteres complexos não devem usar operações booleanas de polígonos; use rasterização + scanline de 0,06 mm; mas letras latinas/números devem ser objetos de texto (vetorial), scanline apenas para caracteres chineses, escrita à mão e gráficos.
  4. Textura de fundo deve ser cortada no limite (interseção com cantos arredondados); não descarte segmentos que cruzam a borda, senão a borda da placa fica com dentes de serra.
  5. Na mesma camada com textura de fundo, qualquer filtro de bbox deve incluir a assinatura de tamanho, senão a textura será deletada junto.
  6. Escrita de lote ≤600 por lote, sleep entre lotes, retry em falha, deduplicação por coordenadas no final; setState_* não persiste, confie apenas em modify() para geometria.
  7. As três camadas traseiras (2/4/6) devem ser geradas espelhadas; serigrafia inferior é camada 4, não 3.
  8. Quando o usuário diz "não parece", o problema quase sempre está nas regras (disposição, proporção, hierarquia), não nos parâmetros; vá contar a placa de referência em números, não ajustar valores.
  9. Após escrever .epcb2, deve session close --destroy e depois open; o editor não recarrega automaticamente alterações do disco, e a exportação pegará o desenho antigo (item 109).
  10. A placa inteira pode ser escrita como texto .epcb2 (uma linha por JSON, uma FILL por path), é uma ordem de grandeza mais rápido que injeção por CLI; mas texto traseiro não pode usar mirror:true, deve espelhar a geometria.
  11. Círculos sempre use path:["CIRCLE",cx,cy,r] + width; scanline para círculo cola com o texto próximo, criando buracos.
  12. "Copie tudo que puder" — mas copie números, não impressões. Faixa dourada na borda sobre o contorno da placa (largura visível = largura do traço / 2), grupo de furos ligados àqueles φ0,3, gráficos sangrando para fora da placa, serigrafia com três linhas e três fontes, linha horizontal inferior — meça item por item e preencha a tabela do 07, pergunte ao usuário se copia.
  13. Autoteste deve ser "tabela gerada por script + uma imagem local ≥60 px/mm"; 20 px/mm não vê defeitos de 0,06 mm; ver e escrever "aceitável" é pior que não ver. Textura de trama é separado: deve ser 80 px/mm em um bloco de 12×12 mm; na imagem composta ela sempre parece "um cinza".

Entregáveis (cada versão final deve ter)

  • export/<nome>_gerber_<data>_v<n>.zip
  • preview/board-gerber<n>.png: frontal/traseira rasterizadas a partir do Gerber, não screenshot do EDA
  • preview/v<n>_front3d.png / v<n>_back3d.png: pseudo 3D gerado por 14-render3d.py (relevo preto fosco + reflexo dourado), para revisão P4.5 do usuário
  • docs/03-当前状态.md: estatísticas de camadas, parâmetros geométricos, itens decididos, itens pendentes
  • docs/验收单.md: tabela de medição real gerada por 13-check.py --md + 14 itens de verificação P4.5 (uma cópia por placa, não pergunte verbalmente)
  • Pacote de pedido: Gerber + imagens de prévia + arquivos fonte do projeto + 下单说明.txt (com dados reais e riscos conhecidos) + MANIFEST.txt (scripts/19-pack_order.py gera sha256, após descompactar --verify confere consistência antes de pedir)

Autoteste (cada entrega, sem exceção)

  1. Execute scripts/13-check.py, tudo verde para continuar (dimensões / área dourada / largura mínima de traço / serigrafia mínima / serigrafia branca / preto fosco / furos / contagem de elementos / cobertura de anel). Placas com textura de trama devem usar --weave: comparar orientação das células de 2 mm na placa com a tabela de textura da referência, concordância ≥90% para considerar cópia correta. Adicione também --md docs/验收单.md, para registrar os números e os 14 itens de verificação P4.5 em um arquivo.
  2. Gere uma imagem local ≥60 px/mm, focando em três pontos: emblema, texto principal, um canto da placa.
  3. Escreva os números das duas etapas acima na resposta, não "já olhei".
  4. Se encontrar defeitos: primeiro corrija, depois decida se diz "aceitável" — "aceitável" não é um plano de reparo.
  5. As imagens 3D da P4.5 devem ser realmente mostradas ao usuário (frontal + traseira), não apenas dizer "já foi renderizado".

Habilidades Relacionadas