配置ルールの種類
Placementカテゴリの設計ルールについて、以下で説明します。

設計ルールのPlacement カテゴリ。
ルーム定義
デフォルトルール: 不要
このルールは次の方法で使用できます。
-
基板の上面または下面に、コンポーネントの配置を許可する、または配置を禁止する矩形または多角形の領域を指定する。
-
基板上に名前付き領域(エリア)を定義し、その名前付き領域を他の設計ルールのスコープ設定に使用する。この用途では、ルームは単に基板上のエリアを定義するだけです。特定レイヤーに限定するなど別の制約を加える場合は、ルールの Query にそれを含めてください。この方法を使用した Routing Width ルールの例が、以下のnoteの画像に示されています。
制約

Room Definition ルールのデフォルト制約
-
Room Locked - 設計内で現在の位置にルームをロックし、手動または Autoplacers による意図しない移動を防止します。ロックされたルームを移動しようとすると、移動を続行するか確認する警告ダイアログが表示されます。このように手動で上書きして移動した後も、ルームのロック状態は維持されます。
-
Components Locked - ルーム内に配置され、そのルームに関連付けられているコンポーネントの位置をロックします。このオプションが有効な状態でルーム内のコンポーネントを移動しようとすると、移動中にルーム全体とその中のすべてのコンポーネントも一緒に移動します。
-
Define button - ルームのエリアと位置を定義できます。クリックするとメインの設計ウィンドウに戻り、カーソルが十字形に変わって、実質的にルーム配置モードに入ります。必要な位置に、必要な形状の多角形ルームを定義してください。ルームのコンポーネント所属は後から定義する必要があり、設計内の配置済みコンポーネントを囲むようにルームエリアを定義しても自動では作成されません。
-
x1 and y1 - ルームの外接矩形の左下隅の位置座標を表示します。これらのフィールドは編集不可です。PCB Rules and Constraints Editor dialog内からルームを配置する場合は、Defineボタンを使用する必要があります。
-
x2 and y2 - ルームの外接矩形の右上隅の位置座標を表示します。これらのフィールドは編集不可です。PCB Rules and Constraints EditordialogDefine内からルームを配置する場合は、Defineボタンを使用する必要があります。
-
Layer - ルームを基板のどちら側に描画するかを定義します。ルームに含まれるオブジェクトは同じレイヤー上にある必要はなく、ルームに属するか属さないかの条件はルール Query によって決まります。
-
Confinement Mode - ルールのスコープ(Full Query)の対象となるコンポーネントを、ルームInside内に保持するか、ルームOutside外に保持するかを指定します。
ルール適用
オンライン DRC およびバッチ DRC。
注記
-
1 つのコンポーネントを複数の Room Definition ルールのスコープ対象にできます。この場合、すべてのルールが順守されます。ルール競合は発生しません。
-
ルームはグラフィカルにのみ配置できます。特定の位置にルームを配置するには、適切な垂直、水平、またはポイント(スナップ)ガイドを配置し、PropertiespanelBoard(Board mode 内)でガイドへのスナップを有効にします。GuidesおよびCursor-Snap Systemの設定の詳細も参照してください。
-
ルームの形状は、グラフィカルに、またはルーム選択時のPropertiespanelで編集できます。ルームをクリックして選択し、角または辺の頂点をクリック&ドラッグしてグラフィカルにサイズ変更します。多角形ルームを編集する場合、または矩形ルームに対して多角形オブジェクト形式の編集を行う場合は、Design » Rooms » Edit Polygonal Room Verticescommandを使用します(またはルームを右クリックし、Room Actionsサブメニューからそのコマンドを実行します)。Standard polygonal object editing techniquesが使用され、Shift+Spacebarで頂点編集モード(Miter、Incurvate、Move)を切り替えることもできます。現在のモードはステータスバーまたは Heads up display で確認してください。
-
正確な位置に基づく複雑なルーム形状が必要な場合は、一連のライン(およびアーク)を配置してアウトラインとして形状を作成し、その後それを選択して Tools » Convert » Create Room from Selected Primitivescommand を実行することでルームに変換できます。このコマンドが形状を正しく検出するには、隣接するトラック/アークセグメントの端点が一致している必要があります。以下の画像にカーソルを合わせるとルームが表示されます。
-
設計ルール内のDefine buttonをクリックしてルームを定義するだけでなく、Design » Roomsサブメニューにある各種コマンドを使用してルームを作成/編集することもできます。Design » Roomsサブメニューのコマンドを使って設計内にルームを配置する場合、空のルームとして配置して後からコンポーネントを関連付けることも、設計内のコンポーネントを囲むように配置して自動的にそれらをルームに関連付けることもできます。
-
空のルームを設計内に配置した場合、そのルーム内に配置すべきコンポーネントは、特定のコンポーネントクラス(Design » Classes)を作成してグループ化する必要があります。Room Definitionルールが自動的に作成されてルームに割り当てられ、初期スコープ(Full Query)は
Allになります。この Query を編集して、前述の特定コンポーネントクラスを対象にしてください。その後、Tools » Component Placement » Arrange Within Roomcommand を実行することで、コンポーネントをルームへ移動できます。 -
1 つ以上のコンポーネントを完全に境界内に収めるようにルームを配置すると、それらのコンポーネントは自動的にルームに関連付けられます。ルーム定義ルールのスコープ(または query)は、すべてのコンポーネントが既存のコンポーネントクラスの一部かどうかによって異なります。そうであれば、そのコンポーネントクラスが使用されます。そうでない場合は、それらのコンポーネントをメンバーとする新しいコンポーネントクラスが作成されます。したがって、特定のコンポーネントクラスを対象とするスコープを持つ複数のルームを作成し、それらのクラス間で 1 つ以上の共通コンポーネントメンバーを持たせることも可能です。
-
-
選択したコンポーネントベースのコマンド(Design » Roomsサブメニュー)から Create Room を使用すると、選択したコンポーネントをメンバーとする矩形、直交、または非直交形状のルームを自動生成できます。選択内容を含むコンポーネントクラスも自動的に定義されます。その後、ルームが作成され、そのRoom Definitionrule が作成されたコンポーネントクラスを関連付けるよう定義されます。ルームのサイズは、各コンポーネントの外接矩形の範囲に基づいて、選択内のすべてのコンポーネントが収まるよう自動調整されます。
-
コンポーネントがルームに割り当てられると、ルーム移動時にそれらも一緒に移動します。コンポーネントを動かさずにルームだけを移動するには、関連付けられている Room Definition ルールを一時的に無効にしてください。
-
ルームは、コンポーネントを含める/除外するための独立した設計ルールであるだけでなく、Clearance、Height、Routing Width、Solder Mask Expansion、Power Plane Connections など、他のルールのスコープを定義するためにも使用できます。この場合、ルームはルールではなくオブジェクトとして使用されるため、ルールを無効にするか、query(ルールスコープ)を
Falseに設定できます。以下の画像にその例が示されています。ルームオブジェクトを別ルールのスコープ定義に使用する際は、次の 2 つの query が使えます。-
TouchesRoom(RoomName) - ルーム内に完全または一部が含まれるオブジェクトを見つけるために使用します。
-
WithinRoom(RoomName) - ルーム内に完全に含まれるオブジェクトを見つけるために使用します。
-
コンポーネント間クリアランス
デフォルトルール: 必須
このルールは、コンポーネント同士を配置できる最小距離を指定します。コンポーネントクリアランスには、コンポーネントフットプリントの一部として含まれる 3D モデル間のクリアランスも含まれます。3D モデルがない場合、または Check clearance by component boundary rule constraint オプションが有効な場合は、代わりにコンポーネントの選択エリアが使用されます。コンポーネントをクリックすると、その選択エリアは白でハイライト表示されます。
コンポーネント選択エリアのデフォルト動作は、by graphic selection mode と呼ばれます。このモードでは、コンポーネント選択エリアは、Courtyard(Layer Name ではなく Layer Type)上のcombined geometries、Silkscreen、3D Body オブジェクト、および Copper layers(文字列は除外)によって定義される領域です。
必要に応じて、コンポーネント選択エリアをデフォルトのby graphic mode から by layer mode に切り替えることができます。by layer mode では、geometries を含む first layer が使用され、レイヤーは次の順序で検索されます: Courtyard(Layer Type)、3D Body、Silkscreen + Copper Layers、Copper Layers。このモードは、PCB.ComponentSelection Advanced Setting の値を設定することで選択します。component selection area と利用可能な selection modes の詳細、ならびに Mechanical Layers and the Courtyard Layer Type の詳細も参照してください。
コンポーネントクリアランスは、関連付けられた 3D モデルを通じてコンポーネントの形状と輪郭を定義する高精度な 3D メッシュングを用いて計算されます。これらは埋め込み型の真の 3D モデルでも、押し出し 2D 形状でも構いません。3D body を使用すると、特に高さ方向や複雑なコンポーネント形状の文脈で、クリアランスチェックの精度が最大になります。
制約

Component Clearance ルールのデフォルト制約
-
Vertical Clearance Mode – 垂直クリアランスを指定するための 2 つのモードが利用できます。
-
Infinite – 無限大を表す値を使用してクリアランスチェックを行います。これは、上方または下方に配置された任意のコンポーネントが違反になることを意味します。使用例としては、調整機構にアクセス可能な状態を維持しなければならない基板があります。このルールをそのコンポーネントに適用すると、そのコンポーネントの上方または下方の領域に突き出すあらゆるコンポーネントに対して違反が発生します。
-
Specified – コンポーネント 3D body またはコンポーネントフットプリントプロパティで定義される正確な形状を使用してクリアランスチェックを行います。3D body を使用する場合、違反していない限り、あるコンポーネントが別のコンポーネントの上に張り出していても許容されることがあります。このモードを有効にすると、次の制約が使用可能になります。
-
Minimum Vertical Clearance – 設計内に配置されたコンポーネント間の、高さ方向における許容最小クリアランス値です。
-
-
-
Minimum Horizontal Clearance – 設計内に配置されたコンポーネント間の、水平面における許容最小クリアランス値です。ゼロ以上の値は、その値でチェックされます。
-
Show actual violation distances – このオプションを有効にすると、コンポーネント間で最も違反が大きい点同士を結ぶ線を表示します。線の距離が表示されるため、違反解消に必要な移動距離の計算に役立ちます。
-
Do not check components without 3D body
-
このオプションが有効な場合 – 3D Body を含まないすべてのコンポーネントは、このルールによるクリアランスチェックの対象外になります。
-
このオプションが無効な場合 – 3D body を持たないコンポーネントについては、コンポーネントの selection bounding box が X-Y 平面内のエリアを定義し、コンポーネントの Height attribute が高さ方向(Z 方向)のクリアランスチェックに使用されます。
-
-
Check clearance by component boundary
-
このオプションが有効な場合 – 実際の 3D モデルではなく、コンポーネント境界がクリアランスチェックに使用されます。コンポーネント境界は component selection bounding box により定義されます。デフォルトの selection bounding box は
by graphic modeであり、Courtyard Layer Type、Silkscreen、3D Body オブジェクト、および Copper layers 上の図形を組み合わせて外形を定義します(文字列は除外)。設計要件で component courtyard の使用が規定されている場合は、このオプションを使用してください。なお、courtyard layer 上で定義された形状が、トラック/アークで作成された閉じた形状であり、その端点が一致している(正確に接している)場合、そのトラックの中心線が bounding box の定義に使用されます。チェックされるのはトラック中心線であるため、この機能を使うと Minimum Horizontal Clearance = zero(
)のときに courtyard outlines を重ねることができます。
-
このオプションが無効な場合 – 3D モデルがクリアランスチェックに使用されます。コンポーネントの does not に 3D Body オブジェクトが含まれていない場合は、component selection bounding box が使用されます。コンポーネントに 3D Body が含まれている場合は、他レイヤー上のオブジェクトを考慮せず、含まれる 3D モデルの正確な形状がクリアランスチェックに使用されます。正確な形状検出は、インポートした 3D モデルだけでなく、押し出し形状、円筒形、球形の 3D Body オブジェクトを含むすべての 3D 形状に適用されます。
-
ルール適用
オンライン DRC およびバッチ DRC。
注記
-
押し出し(単純)3D body は、多角形形状のオブジェクトであり、有効な任意の mechanical layer 上でライブラリコンポーネントまたは PCB ドキュメントに配置できます。コンポーネントフットプリントにおいて 3D body は、コンポーネントの X、Y、Z 軸方向の物理サイズと形状を明示的に定義するために使用できます。
-
複数の 3D body プリミティブを使用して、どれほど複雑な形状でも定義できます。これは特に高さ方向で有用で、コンポーネントの異なる領域ごとに高さを変えることができます。
-
Component Clearance 設計ルールのスコープ対象コンポーネントにおいて、コンポーネント境界が Courtyard Layer Type 上の閉じた形状で定義され、かつルールの Minimum Horizontal Clearance 値が
0に設定されている場合、コンポーネントの courtyard outlines が正確に重なっていても、このルール違反は発生しません(
)。
-
Component Clearance ルールは、3D 空間内で bond wire とその他の(bond wire ではない)オブジェクトとのクリアランス違反もチェックします(
)。ワイヤボンディングの詳細については、Wire Bondingページを参照してください。
コンポーネントの向き
デフォルトルール: 不要
このルールは現在 DRC ツールでは参照されません。
許可レイヤー
デフォルトルール: 不要
このルールは、コンポーネントを配置できるレイヤーを指定します。
制約

許可レイヤールールのデフォルト制約
Permitted Layers - コンポーネント配置時に使用を許可するレイヤー。使用可能なレイヤーオプションは次のとおりです。
- Top Layer - トップレイヤーへのコンポーネント配置を許可します。
- Bottom Layer - ボトムレイヤーへのコンポーネント配置を許可します。
ルールの適用
バッチDRC。
注記
このルールは、Batch DRCの実行時にテストとして機能し、ルールのスコープのクエリ式で対象となるコンポーネントが、許可されたレイヤーにのみ配置されていることを確認します。回路図上のコンポーネントに指定され、PCB上のフットプリントに引き継がれたパラメータは、まさにこの目的に非常に効果的に使用できます。たとえば、ウェーブはんだ付けに対応していないコンポーネントがボトムレイヤーに配置されていないことを確認するために、このタイプのルールを定義できます。たとえば、コンポーネントパラメータ SupportsWaveSolder がコンポーネントに定義され、PCB内のフットプリントのパラメータとして引き継がれている場合、ルールのスコープは次のようになります。
CompParameterValue('SupportsWaveSolder') <> 'Yes'
また、許可されるのは Top Layer 制約のみで、Bottom Layer 制約は無効にされます。
無視するネット
デフォルトルール: 不要
このルールは現在、DRCツールでは参照されません。
高さ
デフォルトルール: 必須
このルールは、設計内に配置されたコンポーネントの高さ制限を指定します。
制約

高さルールのデフォルト制約
- Minimum - 許容されるコンポーネント最小高さの値。
- Preferred - 推奨コンポーネント高さの値。
- Maximum - 許容されるコンポーネント最大高さの値。
ルールの適用
Preferred 設定は、基板を3D表示するときに適用されます。Minimum および Maximum 設定は、オンラインDRCおよびバッチDRCで適用されます。
注記
-
コンポーネントの高さは、次のように定義されます。
-
コンポーネントに3Dボディが含まれていない場合は、コンポーネントの Height プロパティが使用されます。
-
コンポーネントに3Dボディが含まれている場合は、その3Dボディオブジェクト全体の高さが使用されます。
-
-
コンポーネントクラスを作成し、高さルールのスコープ定義で使用することで、ルールで指定された高さ制約条件に違反するメンバーコンポーネントを特定できます。






