配置ルールの種類
概略
- Room Definitionルールを使用して、部品をルーム内に収めたりルーム外に配置したりする方法、基板上に名前付きの領域を定義する方法、ほかのデザインルールの適用範囲を指定する方法を理解できます。
- ルームのロック、部品のロック、閉じ込めモード、部品クリアランス設定など、配置ルールの主な制約と動作を学べます。
- Altium DesignerがオンラインDRCとバッチDRCで配置をどのように検証するかを把握し、部品間隔と配置精度をより効果的に管理できるようになります。
Placementカテゴリのデザインルールについて、以下に説明します。
ルーム定義
デフォルトルール:不要
このルールは、次の用途に使用できます。
-
基板の上面または下面に長方形または多角形の領域を指定し、その領域内へのコンポーネントの配置を許可または禁止します。
-
基板上に名前付きの領域(エリア)を定義し、その領域を他のデザインルールの適用範囲として使用します。このように使用する場合、ルームは単に基板上の領域を定義するだけです。特定のレイヤーに限定するなど、他の制限を加えるには、ルールのクエリにその条件を含めてください。以下の注記にある画像に、この方法を使用した配線幅ルールの例を示しています。
制約

ルーム定義ルールのデフォルトの制約
-
Room Locked - デザイン内でルームを現在の位置にロックし、手動操作や自動配置によって誤って移動されるのを防ぎます。ロックされたルームを移動しようとすると、移動を実行するかどうかを確認する警告ダイアログが表示されます。このように手動でロックを一時的に無視して移動した後も、ルームのロック状態は維持されます。
-
Components Locked - ルーム内に配置され、そのルームに関連付けられているコンポーネントの位置をロックできます。このオプションが有効なときにルーム内のコンポーネントを移動しようとすると、そのコンポーネントの移動に伴って、ルーム全体とその中のすべてのコンポーネントも移動します。
-
Define button - ルームの領域と位置を定義できます。クリックするとメインのデザインウィンドウに戻り、カーソルが十字に変わり、ルーム配置モードに入ります。必要な位置に、目的の形状の多角形ルームを定義してください。ルームに所属するコンポーネントは、後で定義する必要があります。デザイン内に配置済みのコンポーネントを囲むようにルーム領域を定義しても、所属関係は自動的には作成されません。
-
x1 and y1 - ルームの外接長方形の左下隅の座標を表示します。これらのフィールドは編集できません。PCBルールと制約エディタダイアログからルームを配置する場合は、Defineボタンを使用する必要があります。
-
x2 and y2 - ルームの外接長方形の右上隅の座標を表示します。これらのフィールドは編集できません。PCB Rules and Constraints Editorダイアログからルームを配置する場合は、Defineボタンを使用する必要があります。
-
Layer - ルームを基板のどちらの面に描画するかを定義します。ルームに含まれるオブジェクトは、同じレイヤー上にある必要はありません。ルームに含まれるか含まれないかの条件は、ルールのクエリによって定義されます。
-
Confinement Mode - ルールの適用範囲(完全クエリ)の対象となるコンポーネントを、ルームのInsideに収めるか、ルームのOutsideに置くかを指定します。
ルールの適用
オンラインDRCおよびバッチDRC。
注記
-
1つのコンポーネントを複数のルーム定義ルールの適用対象にできます。この場合、すべてのルールが適用されます。ルールの競合は発生しません。
-
ルームはグラフィカルにのみ配置できます。ルームを特定の位置に配置するには、適切な垂直、水平、またはポイント(スナップ)ガイドを配置し、Propertiesパネル(Boardモード)でガイドへのスナップを有効にしてください。詳細については、ガイドとカーソルスナップシステムの設定を参照してください。
-
ルームの形状は、グラフィカルに編集するか、ルームを選択した状態でPropertiesパネルから編集できます。ルームをクリックして選択し、角または辺の頂点をクリックしてドラッグすると、グラフィカルにサイズを変更できます。多角形のルームを編集する場合や、長方形のルームに多角形としての編集を行う場合は、Design » Rooms » Edit Polygonal Room Verticesコマンドを使用します(または、ルームを右クリックし、Room Actionsサブメニューからコマンドを実行します)。標準的な多角形オブジェクトの編集手法を使用でき、Shift+Spacebarで頂点編集モード(マイター、内側への湾曲、移動)を切り替えることもできます。現在のモードは、ステータスバーまたはヘッドアップディスプレイで確認してください。
-
正確な位置に基づく複雑な形状のルームが必要な場合は、一連の線(および円弧)を配置して輪郭を作成し、その輪郭を選択してTools » Convert » Create Room from Selected Primitivesコマンドを実行することで、ルームに変換できます。このコマンドで形状を正しく検出するには、隣接するトラック/円弧セグメントの端点が一致している必要があります。以下の画像にカーソルを合わせると、ルームを確認できます。
-
デザインルール内のDefine ボタンをクリックしてルームを定義するだけでなく、Design » Roomsサブメニューの各種コマンドを使用してルームを作成/編集することもできます。Design » Roomsサブメニューのコマンドを使用してデザイン内にルームを配置する場合は、空のルームを配置して後からコンポーネントを関連付けることも、デザイン内のコンポーネントを囲むように配置して、それらを自動的にルームに関連付けることもできます。
-
デザイン内に空のルームを配置した場合、そのルーム内に配置する必要があるコンポーネントは、専用のコンポーネントクラス(Design » Classes)を作成してグループ化してください。Room Definitionルールが自動的に作成され、初期の適用範囲(完全クエリ)が
Allに設定された状態でルームに割り当てられます。このクエリを編集し、先ほど定義した特定のコンポーネントクラスを対象にしてください。その後、Tools » Component Placement » Arrange Within Roomコマンドを実行して、コンポーネントをルームに移動できます。 -
1つ以上のコンポーネントが境界内に完全に収まるようにルームを配置すると、それらのコンポーネントは自動的にルームに関連付けられます。ルーム定義ルールの適用範囲(クエリ)は、すべてのコンポーネントが既存のコンポーネントクラスに属しているかどうかによって決まります。属している場合は、そのコンポーネントクラスが使用されます。属していない場合は、それらのコンポーネントをメンバーとする新しいコンポーネントクラスが作成されます。したがって、それぞれが特定のコンポーネントクラスを適用対象とする複数のルームを作成し、それらのクラス間で1つ以上のコンポーネントを共有することも可能です。
-
-
選択したコンポーネントを基にするCreate Roomコマンド(Design » Roomsサブメニュー)を使用すると、選択したコンポーネントをメンバーとする、長方形、直交多角形、または非直交多角形のルームを自動生成できます。選択したコンポーネントを含むコンポーネントクラスが自動的に定義されます。続いてルームが作成され、そのRoom Definitionルールは、作成されたコンポーネントクラスを関連付けるように定義されます。ルームのサイズは、選択したすべてのコンポーネントがそれぞれの外接長方形の範囲まで収まるように調整されます。
-
コンポーネントをルームに割り当てると、ルームの移動に伴ってコンポーネントも移動します。コンポーネントを移動せずにルームだけを移動するには、関連するルーム定義ルールを一時的に無効にしてください。
-
ルームは、コンポーネントを内包または除外するための設計ルールとして機能するだけでなく、クリアランス、高さ、配線幅、ソルダーマスク拡張、電源プレーン接続など、別のルールの適用範囲を定義するためにも使用できます。この場合、ルームはルールではなくオブジェクトとして使用するため、下図のようにルールを無効にするか、クエリ(ルールの適用範囲)を
Falseに設定できます。別のルールの適用範囲の定義でルームオブジェクトを使用する場合は、次の2つのクエリを使用できます。-
TouchesRoom(RoomName) - ルーム内に完全に、または部分的に含まれるオブジェクトを検索します。
-
WithinRoom(RoomName) - ルーム内に完全に含まれるオブジェクトを検索します。
-
コンポーネントクリアランス
デフォルトルール:必須
このルールは、コンポーネント間に確保する必要のある最小距離を指定します。コンポーネントクリアランスには、コンポーネントのフットプリントの一部として含まれる3Dモデル間のクリアランスも含まれます。3Dモデルがない場合、またはルールの制約オプションCheck clearance by component boundaryが有効な場合は、代わりにコンポーネントの選択領域が使用されます。 コンポーネントをクリックすると、その選択領域が白くハイライト表示されます。
コンポーネントの選択領域のデフォルトの動作は、by graphic選択モードと呼ばれます。 このモードでは、コンポーネントの選択領域は、Courtyard(レイヤー名ではなくレイヤータイプ)+ シルクスクリーン + 3Dボディオブジェクト + 銅箔レイヤー上に存在するcombinedジオメトリによって定義される領域です(文字列は除外されます)。
必要に応じて、コンポーネントの選択領域をデフォルトのby graphicモードからby layerモードに切り替えることができます。by layerモードでは、ジオメトリを含むfirst layerが使用され、レイヤーは次の順序で検索されます:Courtyard(レイヤータイプ)、3Dボディ、シルクスクリーン + 銅箔レイヤー、銅箔レイヤー。 モードは、PCB.ComponentSelection 詳細設定の値を設定して選択します。コンポーネントの選択領域と使用可能な選択モードについては、詳細をご覧ください。メカニカルレイヤーとCourtyardレイヤータイプについても、詳細をご覧ください。
コンポーネントクリアランスは、高精度の3Dメッシュを使用して、関連付けられた3Dモデルからコンポーネントの形状と輪郭を定義することで計算されます。これらには、埋め込まれた実体3Dモデルや、2D形状を押し出したものを使用できます。3Dボディを使用すると、特に垂直方向や複雑なコンポーネント形状のクリアランスチェックで、最も高い精度が得られます。
制約

コンポーネントクリアランスルールのデフォルト制約
-
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ボディを含まないコンポーネントはすべて、このルールによるクリアランスチェックの対象から除外されます。
-
このオプションが無効な場合 – 3Dボディを持たないコンポーネントでは、コンポーネントの選択バウンディングボックスによってX-Y平面内の領域が定義され、垂直(Z)方向のクリアランスチェックにはコンポーネントのHeight属性が使用されます。
-
-
Check clearance by component boundary
-
このオプションが有効な場合 – クリアランスチェックには、実際の3Dモデルの代わりにコンポーネントの境界が使用されます。コンポーネントの境界は、コンポーネントの選択バウンディングボックスによって定義されます。デフォルトの選択バウンディングボックスは
by graphic modeで、Courtyardレイヤータイプ、シルクスクリーン、3Dボディオブジェクト、銅箔レイヤー上のジオメトリを組み合わせて外形を定義します(文字列は除外されます)。設計要件でコンポーネントのコートヤードの使用が指定されている場合は、このオプションを使用してください。 なお、コートヤードレイヤー上に定義された形状が、端点の頂点が一致する(正確に接触する)トラックや円弧から作成された閉じた形状である場合、それらのトラックの中心線を使用してバウンディングボックスが定義されます。チェック対象はトラックの中心線であるため、この機能では、次の場合にコートヤードの輪郭を重ねることができます:Minimum Horizontal Clearance = ゼロ(
)。
-
このオプションが無効の場合 – クリアランスチェックには3Dモデルが使用されます。コンポーネントに3D Bodyオブジェクトが含まれてdoes not場合は、コンポーネント選択境界ボックス が使用されます。コンポーネントに3D Bodyが含まれている場合は、他のレイヤー上のオブジェクトに関係なく、含まれている3Dモデルの正確な形状がクリアランスチェックに使用されます。正確な形状の検出は、インポートされた3Dモデル だけでなく、押し出し、円筒形、球形の3D Bodyオブジェクトを含む、すべての3D形状に適用されます。
-
ルールの適用
オンラインDRCおよびバッチDRC。
注記
-
押し出し(シンプル)3Dボディは、ライブラリコンポーネントまたはPCBドキュメント内の有効な任意のメカニカルレイヤーに配置できる、多角形のオブジェクトです。 コンポーネントのフットプリントでは、3Dボディを使用して、X、Y、Z軸におけるコンポーネントの物理的なサイズと形状を明確に定義できます。
-
複数の3Dボディプリミティブを使用することで、どのような複雑さの形状でも定義できます。コンポーネントの領域ごとに高さを変えられるため、特に垂直方向の形状を定義する際に役立ちます。
-
Component Clearanceデザインルールの対象となるコンポーネントで、Courtyardレイヤータイプ上の閉じた形状によってコンポーネント境界が定義されており、 ルールの Minimum Horizontal Clearance値が
0に設定されている場合、コンポーネントのコートヤードの外形が正確に重なっていても、このルールの違反にはなりません(
)。
-
Component Clearanceルールは、3D空間内のボンドワイヤーと他の(ボンドワイヤー以外の)オブジェクト間のクリアランス違反をチェックします (
)。ワイヤーボンディングの詳細については、ワイヤーボンディングのページを参照してください。
コンポーネントの向き
デフォルトルール:不要
このルールは現在、DRCツールによるチェックの対象ではありません。
配置可能なレイヤー
デフォルトルール:不要
このルールは、コンポーネントを配置できるレイヤーを指定します。
制約

Permitted Layersルールのデフォルトの制約
Permitted Layers - コンポーネントの配置に使用できるレイヤー。次のレイヤーオプションを使用できます。
- Top Layer - トップレイヤーへのコンポーネント配置を許可します。
- Bottom Layer - ボトムレイヤーへのコンポーネント配置を許可します。
ルールの適用
バッチDRC。
注記
このルールはバッチ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ボディオブジェクトの全高が使用されます。
-
-
コンポーネントクラスを作成して高さルールのスコープ定義で使用することで、そのクラスに属するコンポーネントのうち、ルールで指定された高さ制約に違反するものを検出できます。







