agentee

製造

製造パッケージ、BOM、価格

JLCPCBまたは任意の基板メーカー向けにGerber、ドリル、BOM、配置を書き出し、MouserとFarnellでBOMの価格を調べ、エンクロージャ用にSTEPを書き出します。

チェックにエラーがなくなると、レイアウトは、基板メーカーと組立業者がそのまま受け入れるパッケージになります。このガイドでは、パッケージの作成、部品価格の算出、エンクロージャ用の3Dモデルの出力について説明します。

パッケージの作成

agentee fab pcb:NAME -o fab/

fab は、レイアウトにエラーがある間は拒否します。エラーがない場合、以下を書き出します。

ファイル内容
F_Cu.gbr ... B_Cu.gbr層ごとの銅、X2ファイル属性付きRS-274X、ベタを領域として
F_Mask.gbr、B_Mask.gbrパッド輪郭でのソルダーレジスト開口、ビアはテント処理
F_Paste.gbr、B_Paste.gbrSMDパッドへのはんだペースト
F_SilkS.gbr、B_SilkS.gbrHersheyストロークフォントのシルク、バージョンウォーターマーク付き
Edge_Cuts.gbr輪郭と各基板の切り抜き
drill-PTH.drl、drill-NPTH.drlExcellonドリル、スロットはG85。HDI基板ではブラインド、バリアード、マイクロビアのスパンごとに1ファイル追加
bom.csv、bom-jlcpcb.csvBOM、値、フットプリント、mpn、lcscでグループ化
cpl.csvJLCPCBの列形式での配置
fab-notes.txtバージョン、層構成、表面処理、インピーダンスクラス、ビアタイプ、充填すべき箇所
NAME.d356裸基板電気テスト用のIPC-D-356Aネットリスト
testpoints.csvテストパッドすべて、フィクスチャビルダー用
NAME-gerbers.zipすべてのGerberとドリルファイル、アップロード準備完了
assembly-top.png、assembly-bottom.pngライン用の基板とシルク層

座標はY上向きミリメートルで、Gerberと配置ファイルで同一です。dnpとマークされた部品、フィールドに assembly = "no" がある部品、マウンティングホールとフィデューシャルは、BOMと配置から除外されます。

JLCPCBからの注文

  1. NAME-gerbers.zip をアップロードします。
  2. 基板仕様で指定された同じ層構成を選択します。インピーダンス制御基板では、コード(JLC04161H-7628 など)でビルドを選択します。すべての幅チェックの解決はこれを前提としています。
  3. 表面処理、ソルダーレジストの色、銅厚を fab-notes.txt に合わせます。
  4. 組立には、bom-jlcpcb.csv と cpl.csv をアップロードします。回路図で各部品に lcsc フィールドを与えることで、LCSC Part # 列を埋めます。
agentee edit sch NAME set C1 --field lcsc=C14663

fab-notes.txt は、デフォルトを超える基板メーカーの作業内容を列挙します。パッド内のビアの充填とキャップ、保持するエッジパッド、ターゲット、層、幅を持つインピーダンスクラスです。関連する行を注文メモに貼り付けます。

ウォーターマーク

すべてのパッケージには、シルクに agentee vX.Y.Z-HASH が含まれます。ビルドしたバージョンとソースのgitコミットで、ツリーに未コミットの変更がある場合は -dirty が付きます。デフォルトでは下側シルクに、左下隅に最も近い空きスペースに配置され、fab-notes.txt に場所が記載されています。無効にすることはできず、スペースがない場合はパッケージが拒否されます。レイアウトで [watermark] at を設定して、場所を自分で選択できます。

BOMの価格算出

agentee parts NAME --boards 5
agentee parts NAME --refs C11,R8 --json
agentee parts NAME --distributor farnell --farnell-store ie.farnell.com

parts は、mpn フィールドでMouserとFarnellのすべてのBOM行を検索します。そのため、まずすべての部品に mfr と mpn を与えます。それがない行はスキップされます。キーはすべてのプロジェクトの外、~/.config/agentee/distributors.toml にあります。

[mouser]
api_key = "..."

[farnell]
api_key = "..."
store = "uk.farnell.com"

各行について、数量で在庫があり廃盤でなく、最小ロットと倍数を遵守し、価格ブレークまで購入して総額が安くなる場合はそのようになる、最も安いリストを選択します。次に、ドロップインでより安い部品を探します。

  • 同じ値、同じ公差またはより良い公差、同じケースの抵抗。
  • 同じ値、より低い電圧ではない、より悪い誘電体ではない(C0GはC0Gのまま、X5RはX7Rになり得る)、同じケースのセラミックコンデンサ。
  • 2N7002、BAT54、SMAJなどの汎用ディスクリートで、同じ名前とパッケージ。
  • 同じ色とケースのインジケータLED。

ICとコネクタは、他の販売店の同じ部品、または販売店が推奨する代替品のみです。交換はBOMではなく、部品の mpn に書き込みます。次の実行と次のパッケージが一致するようにするためです。

エンクロージャ用のエクスポート

agentee models
agentee export pcb:NAME -o NAME.step

export は、1つのSTEPアセンブリを書き出します。基板は層構成の厚さを持つソリッドで、穴、スロット、切り抜きを含み、すべての部品はリファレンス名で命名されたインスタンスです。ベンダーのSTEPモデルは、ベンダーが書いたまま、部品がいくつ使っても1回だけ書き出されます。VRMLモデルと生成されたボディはファセット化された表面として、モデルのない部品は基板輪郭上のボックスとして入ります。基板の下面は z = 0、Y上向きです。

agentee models は、フットプリントが指定するKiCadライブラリのモデルをまずキャッシュに取得し、見つからないものを報告します。フットプリントは、ベンダーのSTEPファイルへの https:// URLを指定することもでき、コミットにピン留めして変更されないようにします。

注文を押す前に

  • agentee check がクリーンで、agentee drc NAME も、無視することを選んだ通知を DESIGN.md に書き留めた状態でクリーンです。
  • すべてのシミュレーションが最新です。チェックは古い結果について警告します。
  • レンダリングが正しく見えます:agentee render pcb:NAME、およびパッケージ内の組立図。
  • agentee view --3d が、部品を期待した場所に表示します。
  • 必要なテストパッドがあります:agentee testpoints NAME --dry-run は、追加されるものをリストします。

このガイドを改善する · エージェント向けMarkdown