安置规则类型
下面介绍 Placement 类别的设计规则。

Placement 类别的设计规则。
Room Definition
默认规则:不需要
此规则可用于以下方式:
- 在电路板顶层或底层指定一个矩形或多边形区域,在该区域内允许或不允许放置元件。
- 在电路板上定义一个命名区域(面积),然后用该命名区域来限定其他设计规则的作用范围(scope)。以这种方式使用时,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 Editor dialog 中放置 Room,必须使用 Define 按钮。
-
Layer - 定义 Room 绘制在电路板的哪一面。Room 所包含的对象不必位于同一层;是否属于(或不属于)该 Room 的条件由规则 Query 来建立。
-
Confinement Mode - 指定规则作用范围(Full Query)所命中的元件应被保持在 Inside Room 内,或保持在 Outside Room 外。
规则应用
在线 DRC 与批量 DRC。
备注
- 一个元件可以同时被多个 Room Definition 规则限定。在这种情况下,所有规则都会被遵守,不会发生规则冲突。
- Room 只能以图形方式放置。若要将 Room 放到精确位置,请放置合适的垂直、水平或点(吸附)参考线(Snap Guides),并在 Properties 面板(Board 模式下)启用对参考线的吸附。了解更多 Guides 以及如何配置 Cursor-Snap System。
- Room 的形状可以通过图形方式编辑,或在选中 Room 时通过 Properties 面板编辑。单击 Room 进行选择,然后拖拽角点或边的顶点即可在图形上调整大小。要编辑多边形 Room,或对矩形 Room 进行多边形类型的编辑,请使用 Design » Rooms » Edit Polygonal Room Vertices 命令(或在 Room 上右键并从 Room Actions 子菜单运行该命令)。使用 Standard polygonal object editing techniques,包括 Shift+Spacebar 用于在顶点编辑模式(Miter、Incurvate、Move)之间循环切换。请留意状态栏或抬头显示(Heads up display)以确认当前模式。
-
如果需要基于精确位置的复杂 Room 形状,可以先通过放置一系列线段(和圆弧)创建轮廓,然后选择该轮廓并运行 Tools » Convert » Create Room from Selected Primitives 命令将其转换为 Room。注意:相邻走线/圆弧段的端点必须重合,该命令才能正确识别形状。将光标悬停在下方图片上可查看 Room。
-
除了在设计规则中点击 Define button 来定义 Room 之外,也可以使用 Design » Rooms 子菜单中提供的各种命令来创建/编辑 Room。通过 Design » Rooms 子菜单中的命令在设计中放置 Room 时,可以放置一个空 Room 并在后续阶段再关联元件;也可以围绕设计中的元件放置 Room,并自动将这些元件关联到该 Room:
-
当在设计中放置一个空 Room 时,需要放入该 Room 的元件应通过创建特定的元件类(component class,Design » Classes)来分组。系统会自动创建并分配一条 Room Definition 规则到该 Room,其初始作用范围(Full Query)为
All。编辑该 Query,使其指向先前定义的特定元件类。随后可运行 Tools » Component Placement » Arrange Within Room 命令将元件移动到 Room 中。 - 通过将 Room 放置在一个或多个元件周围,使这些元件完全落在其边界内,元件会自动与该 Room 关联。Room 定义规则的作用范围(或 Query)取决于这些元件是否都属于某个现有元件类:如果属于,则使用该元件类;如果不属于,则会创建一个新的元件类,并将这些元件作为其成员。因此,可以存在多个 Room,每个 Room 的作用范围指向某个特定元件类,并且这些类之间可以有一个或多个共同的元件成员。
-
当在设计中放置一个空 Room 时,需要放入该 Room 的元件应通过创建特定的元件类(component class,Design » Classes)来分组。系统会自动创建并分配一条 Room Definition 规则到该 Room,其初始作用范围(Full Query)为
- 使用 Create Room(Design » Rooms 子菜单中基于所选元件的命令)可自动生成矩形、正交或非正交形状的 Room,其成员为所选元件。系统会自动定义一个包含该选择集的元件类。随后创建 Room,并定义其 Room Definition 规则以关联所创建的元件类。Room 的尺寸会相应调整,以容纳所选的全部元件,尺寸依据这些元件外接矩形的边界来确定。
- 一旦元件被分配到 Room,当 Room 移动时它们也会随之移动。若要移动 Room 而不移动元件,请临时禁用关联的 Room Definition 规则。
-
Room 除了作为独立的设计规则用于包含或排除元件外,还可用于定义其他规则的作用范围,例如 Clearance、Height、Routing Width、Solder Mask Expansion、Power Plane Connections 等。由于此时 Room 是作为对象而非规则使用,你可以禁用该规则,或将 Query(规则作用范围)设置为
False,如下图所示。在其他规则的作用范围定义中使用 Room 对象时,可使用以下两个 Query:- TouchesRoom(RoomName) - 用于查找完全或部分位于 Room 内的对象。
- WithinRoom(RoomName) - 用于查找完全位于 Room 内的对象。
Component Clearance
默认规则:必需
此规则指定元件彼此之间允许放置的最小距离。元件间距(Component clearance)包括作为元件封装一部分的 3D 模型之间的间距。在没有 3D 模型时,或当启用 Check clearance by component boundary 规则约束选项时,将改用元件的选择区域(selection area)。当单击元件时,元件选择区域会以白色高亮显示。
元件选择区域的默认行为称为 by graphic selection mode。 在该模式下,元件选择区域由 Courtyard(层类型 Layer Type,而非层名称 Layer Name)上的 combined geometries + 丝印层 + 3D Body 对象 + 铜层(不包含字符串 strings)所定义的区域构成。
如有需要,可将元件选择区域从默认 by graphic mode 切换为 by layer mode。在 by layer mode 下,将使用包含几何图形的 first layer ,并按以下顺序搜索层:Courtyard(Layer Type);3D Body;Silkscreen + Copper Layers;Copper Layers。 该模式通过设置 PCB.ComponentSelection Advanced Setting 的值来选择。了解更多关于 component selection area 及可用选择模式的信息。了解更多关于 Mechanical Layers and the Courtyard Layer Type。
元件间距(Component clearance)通过精确的 3D 网格划分来计算,该网格会基于关联的 3D 模型来定义元件的形状与轮廓。这些模型可以是嵌入的真实 3D 模型,也可以是由 2D 形状拉伸得到的模型。使用 3D 实体(3D bodies)在进行间距检查时能提供最高精度,尤其是在垂直方向以及面对复杂元件外形时。
约束

Component Clearance 规则的默认约束
-
Vertical Clearance Mode – 提供两种指定垂直间距的模式:
-
Infinite – 使用代表“无穷大”的数值进行间距检查。这意味着任何放置在上方或下方的元件都会被判定为违规。一个使用示例是:某块板上有一个必须保持可触达的调节机构。对该元件使用此规则,会使任何伸入该元件上方或下方区域的元件都产生违规。
-
Specified – 使用由元件 3D 实体或元件封装属性定义的精确形状进行间距检查。使用 3D 实体时,只要不违规,就可能允许一个元件相对另一个元件存在可接受的悬垂(overhang)。启用该模式后,将提供以下约束:
-
Minimum Vertical Clearance – 设计中已放置元件之间在垂直方向上的最小允许间距值。
-
-
-
Minimum Horizontal Clearance – 设计中已放置元件之间在水平平面内的最小允许间距值。将对大于或等于零的数值按该值进行检测。
-
Show actual violation distances – 启用此选项可在元件之间违规最严重的点之间显示连线。连线的距离会显示出来,可用于计算为消除违规需要移动对象的距离。
-
Do not check components without 3D body
-
当启用该选项时 – 所有不包含 3D Body 的元件都会被排除在此规则的间距检查之外。
-
当禁用该选项时 – 对于没有 3D body 的元件,元件的 选择边界框 定义其在 X-Y 平面内的区域,并使用元件的 Height 属性在垂直(Z)方向进行间距检查。
-
-
Check clearance by component boundary
-
当启用该选项时 – 间距检查不使用实际 3D 模型,而是使用元件边界。元件边界由 元件选择边界框 定义。默认选择边界框为
by graphic mode,这意味着 Courtyard Layer Type 上的几何图形、丝印、3D Body 对象以及铜层会组合起来定义包络(不包含字符串)。当设计要求使用元件庭院(courtyard)时使用此选项。 注意:如果在 courtyard 层上定义的形状是由线段/圆弧创建的闭合形状,且其端点顶点重合(精确接触),则使用这些线段的中心线来定义边界框。由于检查的是线段中心线,当 Minimum Horizontal Clearance = zero(
)时,此功能允许 courtyard 外形轮廓相互重叠。
-
当禁用该选项时 – 使用 3D 模型进行间距检查。如果元件 does not 包含任何 3D Body 对象,则使用 元件选择边界框 。如果元件包含 3D Body,则使用其中 3D 模型的精确形状进行间距检查,而不考虑其他任何层上的对象。精确形状检测适用于所有 3D 形状,包括导入的 3D 模型,以及拉伸、圆柱和球形的 3D Body 对象。
-
规则应用
在线 DRC 和批量 DRC。
说明
-
拉伸(简单)3D 实体是一个多边形形状对象,可放置在库元件或 PCB 文档中任意已启用的机械层上。对于元件封装,3D 实体可用于在 X、Y、Z 轴上精确定义元件的物理尺寸与形状。
-
可使用多个 3D 实体图元来定义任意复杂的形状。这在垂直方向尤其有用,因为它允许你在元件的不同区域设置不同高度。
-
如果被 Component Clearance 设计规则作用域覆盖的元件,其元件边界由 Courtyard Layer Type 上的闭合形状定义,并且该规则的 Minimum Horizontal Clearance 值设置为
0,当元件 courtyard 轮廓精确重叠时(
)将不会产生此规则的违规。
元件方向(Component Orientations)
默认规则:不需要
该规则当前未被 DRC 工具执行。
允许层(Permitted Layers)
默认规则:不需要
该规则用于指定允许放置元件的层。
约束

Permitted Layers 规则的默认约束
Permitted Layers - 放置元件时允许使用的层。提供以下层选项:
- Top Layer - 允许在顶层放置元件。
- Bottom Layer - 允许在底层放置元件。
规则应用
批量 DRC。
注释
该规则在执行批量 DRC(Batch DRC)时充当测试,用于确保由规则作用域查询表达式所锁定的元件只被放置在允许的层上。在原理图中为元件指定、并已带入到 PCB 封装(footprint)中的参数,正好可以非常有效地用于这一目的。例如,可以定义此类规则来检查不支持波峰焊的元件不会被放置在底层。假设已为元件定义了一个参数 SupportsWaveSolder,并将其作为 PCB 中封装的参数带入,那么规则作用域可能是:
CompParameterValue('SupportsWaveSolder') <> 'Yes'
并且只允许 Top Layer 约束,同时禁用 Bottom Layer 约束。
要忽略的网络
默认规则:不需要
该规则当前未被 DRC 工具遵循。
高度
默认规则:需要
该规则用于指定设计中放置的元件高度限制。
约束

高度(Height)规则的默认约束
- Minimum - 允许的最小元件高度值。
- Preferred - 首选元件高度值。
- Maximum - 允许的最大元件高度值。
规则应用
在 3D 显示电路板时会遵循 Preferred 设置。在线 DRC(Online DRC)和批量 DRC(Batch DRC)会遵循 Minimum 与 Maximum 设置。
说明
-
元件高度的定义如下:
- 如果元件不包含 3D 实体,则使用元件的 Height 属性。
- 如果元件包含 3D 实体,则使用该 3D 实体对象的整体高度。
-
可以创建一个元件类,并在高度规则的作用域定义中使用它,以便标记任何高度违反该规则所指定高度约束条件的成员元件。






