Communitygithub.com

gift-pcb / 纪念展示板

専用スキル:美術のみで回路のないPCB(誕生日カード、記念メダル、校章プレート、異形ディスプレイ、ストラップタグ)を作る、または既存の記念基板のビジュアル言語・プロセス(艶消し黒レジスト+金フラッシュ、織り目、白シルク)を流用する。EasyEDA プロフェッショナル版でゼロから発注可能な状態にする。BOM・配線・実装が必要な機能基板には非対応。

纪念展示板 とは?

このスキル(gift-pcb / 纪念展示板)は、回路を一切含まない、美術表現のみのPCB(記念基板)をゼロから設計し、EasyEDA プロフェッショナル版を通じて製造発注できるようにするための総合ツールです。スキルの核は、『参考基板を正確に読み解く』『各層の素材を正しく扱う』『見た目の正しさと実測の一致を確認する』という三つの難所にあります。 このスキルは8段階のゲート制御プロセスを採用しており、特に「P0.5 要件ヒアリング」と「P4.5 3D承認」の二つが最も重要かつ見落としやすいゲートです。各段階では、参考基板の色配分(金12~24%、白シルク≧0.3%、艶消し黒65~85%)や、最小線幅、織り目パラメータなどの製造制約を満たした設計が要求されます。 付属のスクリプト群(例:`scripts/13-check.py` で色配分・寸法などの自検、`scripts/14-render3d.py` で擬似3Dプレビュー、`scripts/15-weave.py` で織り目抽出・適用)を駆使し、Gerber 出力→プレビュー→発注パッケージの一貫性を検証します。また、`references/04-踩坑清单.md`(118項目の失敗例集)など豊富なドキュメントにより、過去の高額なミスを繰り返さない設計思想が特徴です。 このスキルは、Cline や Claude Code など、エージェントがファイル操作とスクリプト実行権限を持つ環境で最も効果的に機能します。最終的には、Gerber ファイル、プレビュー画像、検証レポートを含む発注パッケージを生成し、その完全性をSHA256チェックで確認してから発注します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

纪念展示板(gift-pcb)

美術のみで回路のないPCB。難所は回路図ではなく、繰り返し見落とされる次の三つ: 参考基板が実際にどのようなものか、各層がそれぞれどの素材か、「見た目が合っている」と「実測で合っている」の差。

三つの鉄則

  1. 合成図ではなく、層ごとに見る。 銅はレジストに覆われると黒く見える。「銅+開窓」だけが金色になる。
  2. 見積もるのではなく、計測する。 すべての「十分かどうか」をミリメートル/ピクセルの実測値に落とし込み、回答に記載する。見積もった値は三度目の手直しで必ず破綻する。
  3. 先にコピーし、それから変更する。 参考基板や公式エンブレムで既に解決された問題は、その形状を直接採用し、再発明してはならない。

八段階とゲート

段階成果物ゲート(通過しなければ次の段階へ進めない)
P0 プロジェクト立ち上げ受取人、サイズ、プロセス、要素のリストすべての要素について「どこに配置するか、どのくらいの大きさか」を回答できること
P0.5 要件ヒアリング用途、シーン、写実性/装飾性、手書き原稿、予算8つの質問をすべて完了すること(06 参照)、特に「手書き感が必要かどうか」
P1 参考基板のデコード各層のレンダリング図+要素リスト+三色の配分表;参考基板がない場合は素材を検索① どの部分が銅・金・シルク・穴かを図示で説明できること;② scripts/00-decode_badge.py を実行し、エンブレムの原形(線画/円盤)、半径、面積、最細線幅を出力していること;③ 参考基板がある場合は金・白・黒の3つの数値を計測していること;④ 07 の10項目コピーリストをすべて埋めていること(各項目に実測値と、コピーするかどうかをユーザーが決める)
P2 レイアウト表/裏のビットマップモックアップユーザーがレイアウトを承認すること;かつ 「プレレンダリングは最終的な効果を保証しません」と明記すること
P3 ベクターと製造性エンブレム/文字のベクター、線幅表、金面積の予算最小線幅 ≥ プロセス下限;金 12–24%、白 ≥0.3%、艶消し黒 65–85%
P4 EDA 実装プロジェクト+基板+各層の図形各層を保存後に読み戻し、図形要素数が計画と一致すること
P4.5 3D承認scripts/14-render3d.py で出力した表/裏の3D図+ユーザーによる項目別確認(C1 欠陥チェック/C2 見た目の良し悪し/C3 素材の追加要否)ユーザーが「これで大丈夫」と言うこと(最低1ラウンド、理想的には2ラウンド)。承諾なしで発注パッケージを作成しない
P5 出力検証Gerber パッケージ+発注パッケージscripts/13-check.py がすべて緑(金・白・黒の三色配分を含む)+一枚以上の ≧60 px/mm の部分拡大図(肉眼確認)

P0.5 と P4.5 は最もスキップされやすく、かつ最も高額になるゲートである。 前者は「正しいものを作っているか」を、後者は「ユーザーが納得するか」を決める。

クイックリファレンス

やりたいこと読むべきもの
作業開始前にユーザーに質問すること、3D承認の方法、金面積の計算方法references/06-需求访谈与验收.md
参考基板のGerberを開き、各層を判定するreferences/01-参考板解码.md
線幅、製造可否、ビットマップ→ベクター変換、スキャンライン精度、織り目パラメータreferences/02-制造性与矢量.md
織り目を敷く場合(参考基板の織り目テーブルを再現)scripts/15-weave.py(--extract で任意の参考基板からテーブルを再抽出可能)
参考基板から何をコピーするか(金帯/穴グループ/裁ち落とし/シルクの階層…)references/07-从参考板抄什么.md
素材が足りない、ネット検索が必要references/08-素材爬取计划.md + scripts/17-crawl_assets.py
多数の画像から基板に使えるものを選別scripts/18-filter_assets.py(画像一覧を出力、人手で選択)
作業開始前にユーザーに聞くべきこと(記入用テンプレート)templates/问卷.md
レイアウトの組み方が分からないtemplates/layouts/(3つのテンプレート+24 px/mm の例示)
仕様をEDAを開かずに確認したいscripts/20-preview_spec.py
EasyEDA プロフェッショナル版のCLI/JS呼び出しreferences/03-EDA落地.md
図形を一つずつ注釈したくない(直接 .epcb2 を書く)references/03-EDA落地.md 第8節
エンブレムが塗りつぶされた色塊+白抜き文字(円盤型)references/02-制造性与矢量.md「徽记有两种原型」
ユーザー承認用に3Dプレビューを出力scripts/14-render3d.py
何かの手順で「おかしい」と感じたら、まず過去の失敗を確認references/04-踩坑清单.md(118項目、A–R節)
発注パッケージの作成、手元のものが承認されたものと同じか確認scripts/19-pack_order.py(MANIFEST + --verify)
スクリプト変更後、基板を壊していないか確認python -m pytest tests -q(金基板再現/織り目/自己チェック)
フォントを変更したい/別のマシンで動作しないreferences/02-制造性与矢量.md「字体」
素材を探す、他の同種スキルを参考にするreferences/05-参考资源.md

P4 開始前に必ず references/03 を読むこと。 最も高額だったミスの一つは、create() の引数順序を記憶に頼って推測し、正しいシグネチャが自分の 03 に書かれていたことに気づかなかったことである。

高額失敗13選(全文は04参照)

  1. 金色 = 銅+開窓、二層が揃わなければならない。金 12–24%(同サイズ参考基板22.0%、13-check 口径、02「兩套口徑」参照)。8%未満なら空基板、26%超なら全面金張り。
  2. エンブレムは原型を判定してから書き始める:線画型→全体をトレース。円盤型(塗りつぶし色塊+白抜き文字)→塗りつぶし円盤+文字を黒のくり抜きに。原型を誤ると文字がギザギザになる(v3で廃盤)。
  3. 複雑な字形でポリゴンブール演算をしない、ラスタライズ+0.06mmスキャンライン。ただしラテン文字/数字はテキストオブジェクト(ベクター)を優先、スキャンラインは漢字、手書き文字、図形のみに使用。
  4. 背景テクスチャは境界でクリップする(角R部分で円と交差)、境界線分を丸ごと捨てないこと。さもないと基板の縁にギザギザの隙間ができる。
  5. 同じ層に背景テクスチャがある場合、bbox条件フィルタにはすべてサイズシグネチャを追加しないと、テクスチャも一緒に削除してしまう。
  6. 書き込みバッチは ≤600個/バッチ、バッチ間スリープ、失敗時リトライ、最後に座標で重複除去。setState_* はディスクに保存されないため、ジオメトリの変更は modify() のみを信頼する。
  7. 裏面の三層(2/4/6)はすべてミラー生成すること。最下層シルクは層4であり、層3ではない。
  8. ユーザーが「似ていない」と言う時、問題はほぼ常にルール(配置、比率、階層)にあり、パラメータではない。参考基板を数字に落とし込むこと。値を調節してはいけない。
  9. .epcb2 を書き終えたら必ず session close --destroy してから open すること。エディタはディスクの変更を自動リロードせず、エクスポート時に古い図形を取得する(第109条)。
  10. 基板全体を直接 .epcb2 テキストとして書ける(一行1JSON、1 FILLで1パス)。CLIでバッチ注入するより一桁速い。ただし裏面の文字は mirror:true ではダメで、ジオメトリ自体をミラーする必要がある。
  11. 円は常に path:["CIRCLE",cx,cy,r] + width で書く。スキャンラインで円を描くと、隣の文字と粘着して欠けが生じる。
  12. 「コピーできるものはすべてコピーする」——ただしコピーするのは数字であり、印象ではない。 基板縁の金帯は基板枠上に載っている(見かけの幅=線幅/2)、穴グループはφ0.3の小孔を連続させる、図形は基板外に裁ち落とす、シルクの三行は三つの異なるフォント、下部の横線——すべてを計測して 07 のテーブルに記入、コピーするかどうかはユーザーに尋ねる。
  13. 自己チェックは「スクリプトの表+一枚以上の ≧60 px/mm の部分拡大図」でなければならない。20 px/mm では0.06mmの欠陥は見えない。見えたのに「許容範囲」と書くのは、見えないままより悪い。織り目は別:80 px/mm で12×12mm の一塊を個別に見る。合成図では常に「灰色の一片」にしか見えないから。

成果物(毎回の確定版に必須)

  • export/<name>_gerber_<date>_v<n>.zip
  • preview/board-gerber<n>.png:表面/裏面を各Gerberでラスタライズ後に合成したもの、EDAのスクリーンショットではない
  • preview/v<n>_front3d.png / v<n>_back3d.png:14-render3d.py で出力した擬似3D(艶消し黒エンボス+金反射)。P4.5承認用にユーザーへ提示
  • docs/03-当前状态.md:層統計、幾何パラメータ、確定済み項目、保留項目
  • docs/验收单.md:13-check.py --md で生成した実測表+P4.5の14項目チェックリスト(基板ごとに1部、口頭で尋ねないこと)
  • 発注パッケージ:Gerber + プレビュー図 + プロジェクトソース + 下单说明.txt(実測データと既知リスクを含む)+ MANIFEST.txt (scripts/19-pack_order.py でSHA256出力。解凍後に --verify で一致確認してから発注)

自己チェック(納品前にすべてを実施、一つも欠かせない)

  1. scripts/13-check.py を実行し、すべて緑であることを確認(寸法/金面積/最小線幅/最小シルク/白シルク/艶消し黒/ドリル/図形要素数/リングカバレッジ)。 織り目がある基板は必ず --weave を追加:基板上の2mmユニットの方向を参考基板の織り目テーブルと格子ごとに比較し、一致度 ≧90%で初めてコピー成功とみなす。 同時に --md docs/验收单.md で、数字とP4.5の14項目をファイルに落とし込む。
  2. ≧60 px/mm の部分拡大図を一枚作成し、次の三か所を固定的に確認する:エンブレム、主要文字、基板の一角。
  3. 上記二つのステップの数字を回答に記載する。「確認しました」だけでは不十分。
  4. 欠陥を発見した場合:先に修正し、その後で「許容範囲」と判断するかどうかを決める——「許容範囲」は修正手段ではない。
  5. P4.5の3D図は実際にユーザーに貼り付けて見せること(表面+裏面の二枚)。「レンダリング済みです」と言うだけでは不十分。

関連スキル