配置ルールの種類
Placementカテゴリのデザインルールについて、以下に説明します。

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

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

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

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

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




