matlab-write-pcb-layout について
この MATLAB スキルは、RF 設計者向けに PCB 設計を Gerber 製造ファイルへ出力する手順を案内します。コネクターの選択、製造サービス向けの形式設定、RF コネクターの設定を扱います。
主な機能
- 01pcbComponent または pcbStack の Gerber 出力
- 02製造サービス別の出力形式設定
- 03RF コネクターとパッド形状の追加
- 04基板外形、ソルダーマスク、単位の設定
活用シーン
- 01OSH Park や Seeed 向け PCB ファイルの準備
- 02基板の給電位置への SMA コネクター設定
- 03MATLAB RF 設計から製造ファイル一式を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ matlab/ matlab-agentic-toolkit --skill matlab-write-pcb-layoutインストール後、Claude Code で/matlab-write-pcb-layoutを入力して読み込まれたか確認します。
同梱ファイルmanifest.yaml
詳細
PCB レイアウトを製造用ファイルに書き出す
使用する場合
- pcbComponent または pcbStack の設計を Gerber 製造用ファイルに書き出す場合
- PCB の書き出し用に RF コネクタ(SMA、SMB、MMCX など)を選択して設定する場合
- 特定の基板製造サービス(OSH Park、Seeed、Advanced Circuits)向けに出力をフォーマットする場合
- シールド解析用に RFConnector オブジェクトをカタログコンポーネントに取り付ける場合
- MATLAB の RF 設計から完全な製造パッケージを生成する場合
使用しない場合
- Gerber ファイルを MATLAB にインポートする場合 —
matlab-read-pcb-layoutを使用してください - PCB 設計自体を作成する場合 —
matlab-assemble-pcb-layoutまたは設計用スキルを使用してください - EM 解析を実行する場合 —
matlab-analyze-emを使用してください
典型的なワークフロー
- 事前: 設計スキルまたは
matlab-assemble-pcb-layout— pcbComponent を作成します。matlab-analyze-em— 性能を検証します。必要に応じてmatlab-optimize-pcb-design— 調整します - このスキル: コネクタと基板製造用のフォーマットを設定して Gerber に書き出します
クイックリファレンス
| タスク | コード |
|---|---|
| Gerber ファイルを書き出す | [A,g] = gerberWrite(pcb, W, {C1,C2}) |
| SMA コネクタ | C = PCBConnectors.SMA_Cinch |
| エッジランチ SMA | C = PCBConnectors.SMAEdge_Samtec |
| PCB サービス用ライター | W = PCBServices.OSHParkWriter |
| ライターをカスタマイズする | W.Filename = 'name'; W.CoordUnits = 'mm' |
| RF コネクタオブジェクト | rc = RFConnector |
| PCB 用コネクタを設計する | rc = design(RFConnector, pcb) |
gerberWrite — 製造用に書き出す
gerberWrite 関数は pcbComponent から製造用ファイルを生成します。
基本的な書き出し
p = pcbComponent; % Your designed component
W = PCBServices.OSHParkWriter;
W.Filename = 'my_design'; % Controls output zip/folder name (default: 'untitled')
C1 = PCBConnectors.SMA_Cinch;
C2 = PCBConnectors.SMA_Cinch;
[A, outputPath] = gerberWrite(p, W, {C1, C2});
出力
gerberWrite は Gerber ファイルとドリルファイルを含むフォルダーを生成します。
- 上面/下面の銅箔レイヤー
- ソルダーマスクレイヤー
- シルクスクリーンレイヤー
- ドリルファイル
- 基板外形
A 出力は、書き出しメタデータを含む PCBWriter オブジェクトです。outputPath は生成されたファイルのパスです。
PCBWriter オブジェクト
PCBWriter オブジェクトで書き出し設定を制御します。
プロパティ
| プロパティ | 説明 |
|---|---|
Design | PCB 設計データを含む構造体 |
Writer | PCB サービス用ライター(出力形式) |
Connector | コネクタオブジェクトのセル配列 |
UseDefaultConnector | コネクタが指定されていない場合にデフォルトのコネクタを使用します |
ComponentBoundaryLineWidth | 外形線の幅 |
PCBMargin | コンポーネントの周囲に追加する基板マージン(m) |
Soldermask | 'both'、'top'、'bottom'、または 'none' |
Solderpaste | 論理値 — ソルダーペーストレイヤーを生成します |
Font | シルクスクリーン上のテキストに使用するフォント |
PCBConnectors — コネクタカタログ
書き出す基板に標準 RF コネクタを取り付けます。
利用可能なコネクタ(組み込みタイプ 25 種類)
| カテゴリ | コネクタ |
|---|---|
| SMA 5 パッド | SMA、SMA_Cinch、SMA_Multicomp |
| SMA エッジランチ | SMAEdge、SMAEdge_Cinch、SMAEdge_Samtec、SMAEdge_Amphenol、SMAEdge_Linx |
| SMB/SMC | SMB_Johnson、SMB_Pasternack、SMC_Pasternack、SMCEdge_Pasternack |
| MMCX | MMCX_Cinch、MMCX_Samtec |
| IPX/U.FL | IPX_Jack_Lighthorse、IPX_Plug_Lighthorse、UFL_Hirose |
| 同軸ケーブル | Coax_RG11、Coax_RG58、Coax_RG59、Coax_RG174 |
| セミリジッド | Semi_020、Semi_034、Semi_047、Semi_118 |
PCBConnectors.<type> からアクセスします。すべてのコネクタに共通のプロパティがあります。Type、Mfg、Part、Annotation、Impedance(デフォルト:50 オーム)、Datasheet、Purchase です。
5 パッドタイプのプロパティ:TotalSize、GroundPadSize、SignalPadDiameter、PinHoleDiameter、IsolationRing、VerticalGroundStrips
エッジランチタイプのプロパティ:GroundPadSize、GroundSeparation、GroundPadIsolation、SignalPadSize、SignalGap、SignalLineWidth、EdgeLocation('north'|'south'|'east'|'west')、ExtendBoardProfile、FillGroundSide
同軸タイプのプロパティ:PinDiameter、DielectricDiameter、ShieldDiameter、AddThermals、ThermalsDiameter、ThermalsBridgeWidth
Gerber の書き出し時に、コネクタは給電位置に配置されます。コネクタによってパッドのフットプリントとドリルパターンが定義されます。
PCBServices — 製造サービス用ライター
ライターは、特定の製造サービス向けに出力を設定します。
利用可能なサービス(組み込みライター 5 種)
| サービス | 説明 |
|---|---|
PCBServices.GerbLookWriter | GerbLook のオンラインビューアー |
PCBServices.ZofZWriter | ZofZ の 3-D Gerber ビューアー |
PCBServices.AdvancedCircuitsWriter | Advanced Circuits の製造サービス |
PCBServices.SeeedWriter | Seeed Studio の製造サービス |
PCBServices.OSHParkWriter | OSH Park の製造サービス |
各ライターは、製造会社の命名規則とレイヤー規則に従って Gerber ファイルをフォーマットします。
主な PCBServices プロパティ: Filename、CoordUnits('in'/'mm')、CoordPrecision、CreateArchiveFile、DefaultViaDiameter、UseExcellon、BoardProfileFile、SameExtensionForGerberFiles、PostWriteFcn、Files
% Customize a service writer
w = PCBServices.AdvancedCircuitsWriter;
w.Filename = 'my_antenna';
w.CoordUnits = 'mm';
w.CoordPrecision = [3 4];
RF コネクター
RFConnector は、PCB 構造に取り付ける同軸コネクター(SMA、SMB など)をモデル化します。
rc = RFConnector;
rc.InnerRadius = 5e-4; % Center pin radius
rc.OuterRadius = 1.5e-3; % Outer conductor radius
rc.PinLength = 3e-3; % Pin insertion depth
rc.PinFootprint = 'Taper'; % 'Taper' or 'Circular'
rc.EpsilonR = 1.7341; % Dielectric fill permittivity
rc.Impedance = 50; % Characteristic impedance
カタログオブジェクトへの取り付け
Connector をカタログオブジェクト(例:microstripLine)に取り付けるには、IsShielded = true が必要です。
m = microstripLine;
m.IsShielded = true; % Required before setting Connector
m.Connector = RFConnector;
show(m);
pcbComponent 向けの設計
design() は、PCB オブジェクトに合うようにコネクターの寸法を自動調整します。これには FEM ベースの pcbComponent が必要です。microstripLine などのカタログオブジェクトは FEM をサポートしていません。
pcb = pcbComponent; % Must be pcbComponent with SolverType='FEM'
pcb.SolverType = 'FEM';
rc = design(RFConnector, pcb);
設計から製造までの完全なワークフロー
%% Design a filter
f = design(filterCoupledLine, 3e9);
%% Analyze
freq = linspace(1e9, 5e9, 101);
sp = sparameters(f, freq, 'SweepOption', 'interp');
rfplot(sp);
%% Export for manufacturing (convert to pcbComponent first)
pcb = pcbComponent(f);
W = PCBServices.OSHParkWriter;
C1 = PCBConnectors.SMA_Cinch;
C2 = PCBConnectors.SMA_Cinch;
[A, gPath] = gerberWrite(pcb, W, {C1, C2});
注意点
-
コネクターの互換性:すべてのコネクターが、すべての基板厚に対応しているわけではありません。SMA エッジランチコネクターは、標準的な基板高さを想定しています。コネクターのフットプリント寸法が基板に合っていることを確認してください。
-
Gerber のアパーチャーの制限:複雑な曲線形状は、Gerber 形式ではポリゴンで近似される場合があります。非常に細かいフィーチャーはエクスポート時に解像度が失われる可能性があるため、対象の製造サービスでの最小フィーチャーサイズを確認してください。
-
複数のコネクターにはセル配列が必要:複数のコネクターを
gerberWriteに渡す場合は、セル配列で囲みます:gerberWrite(pcb, W, {C1, C2})。オブジェクト配列[C1, C2]を使うとエラーになります。 -
gerberWrite には pcbComponent または pcbStack が必要:
gerberWriteは、カタログオブジェクト(例:microstripLine、filterHairpin)では動作しません。必要に応じて、まずpcbComponentに変換してください。 -
カタログオブジェクトでは Connector に IsShielded が必要です。 カタログオブジェクト(microstripLine など)で
obj.Connector = RFConnectorを設定すると、先にobj.IsShielded = trueを設定していない限り、"SolverType property must be set to 'FEM'" というエラーが発生します。カタログオブジェクトは FEM を直接サポートしていません。MoM のシールドモードを使用するには、IsShielded = trueを設定してください。design(RFConnector, obj)が動作するのは、SolverType='FEM'が設定されたpcbComponentオブジェクトのみです。 -
IsShielded と有限導電率は併用できません。
IsShielded = trueを設定すると、内部で FEM に似たソルバーパスが有効になります。同時にConductor = metal("Copper")(有限導電率)を設定すると、"FEM solver does not support finite conductivity. Set conductivity of conductor to Inf." というエラーが発生します。IsShielded = trueまたはConnectorを使用する場合は、Conductorを既定値(PEC)のままにしてください。 -
pcbcascade の結果に対する gerberWrite:
pcbcascadeはpcbComponentを返します。これをgerberWriteに直接渡すことができます。ただし、ポート数とコネクター数が一致していることを確認してください。pcbcascade はポートを結合し、接続されたポートを削除するため、残るポート数が入力コンポーネントのポート数と異なる場合があります。 -
IsShielded はソルバーを FEM に切り替えます — スイープオプションに影響します。
IsShielded = trueを設定すると、内部ソルバーが FEM に切り替わります。MoM 向けに設計された補間スイープ'SweepOption', 'interp'は、FEM では利用できない場合や、異なる動作をする場合があります。エクスポート用にIsShieldedを追加する前に S パラメーター解析を実行するか、FEM で離散周波数スイープを使用してください。
関連スキル
matlab-read-pcb-layout— Gerber、ODB++、Allegro からレイアウトをインポートmatlab-assemble-pcb-layout— 形状からカスタム PCB 構造を構築matlab-analyze-em— エクスポート前に EM 解析を実行
Copyright 2026 The MathWorks, Inc.