也可以通过在 PCB Rule and Constraints Editor 或 Constraint Manager 中定义一条新约束来创建新的 Room。
使用哪种方式来定义设计约束?
Altium Designer 支持两种不同的设计约束定义方式:Constraint Manager 以及 PCB Rule and Constraints Editor。
PCB Rule and Constraints Editor 是最初为 PCB 编辑器开发的约束定义界面。若使用 PCB Rule and Constraints Editor ,设计人员需要定义:what objects the constraint (rule) applies to,以及 how those objects are to be constrained。这种方式的优势在于可以精确定位需要施加约束的对象;它既可以应用于所有对象(例如所有网络),也可以精确到板上的某个特定对象(例如某个焊盘)。这种灵活的对象定位方式是通过由 查询语言 驱动的规则引擎实现的。
Constraint Manager 以对象为中心来定义约束。设计人员从对象视角出发,在类似电子表格的界面中为设计应用所需的各种电气与物理约束;当在 Constraint Manager 中选择对象时,图形编辑器中对应对象会高亮显示。这样设计人员就能轻松配置并检查某个对象的全部要求,例如:该网络类需要以此线宽布线、保持此间距、使用此过孔进行布线、并采用此多边形连接样式。你也可能要求该网络类:在这些层上布线,并满足这些阻抗要求。这种以对象为中心的视图在 PCB Rule and Constraints Editor 中无法实现。 最终,软件会将以对象为中心的约束转换为与 PCB Rule and Constraints Editor 中定义的规则相同的格式;当从 PCB 编辑器打开约束以查看时,请切换到 All Rules 视图。
Constraint Manager 仅在 PCB 设计工程中可用,前提是在创建工程时于 Create Project dialog 中启用了 Constraint Management 选项(
)。如果未启用,则必须使用 PCB Rule and Constraints Editor 。要快速检查当前 PCB 工程使用的是哪种设计约束管理方式,请打开该工程的 PCB 文档,单击 Design 菜单,并查看可用的是哪个命令:Constraint Manager – 本工程使用 Constraint Manager ,或 Rules – 本工程使用 PCB Rule and Constraints Editor 对话框。
本帮助页面展示了在 PCB Rule and Constraints Editor 对话框以及 Constraint Manager 中定义约束时的图示。请注意,术语 constraint 与 rule 可互换使用。
添加新的 Room Definition 设计约束
在 PCB Rules and Constraints Editor 中
对于每一个被放置或创建的 Room,都会自动创建一个关联的 Room Definition 设计约束。反过来也成立:如果你新增此类型的规则,对应的 room 对象也会出现在设计空间中。还要注意同样的反向关系:如果你在图形编辑器中删除一个 room,该约束会自动删除;或者如果你删除该设计约束,则图形对象也会被删除。
如果从 PCB Rules and Constraint Editor 定义 room 约束,则会创建一个默认 5 英寸 × 5 英寸的 room 对象,位置在 Absolute Origin(编辑空间左下角)向内 1 英寸处。请注意,原点标记显示的是用户定义的 Relative Origin,它可以设置在编辑空间的任意位置。
添加新的 room 约束时,会在编辑空间中定义一个默认 room。
添加约束后,你可以返回编辑空间并 以图形方式编辑 room。或者,当你在 PCB Rules and Constraints Editor 中时,也可以编辑 room 约束,然后单击 Define 按钮以交互方式定义形状。 由于 room 定义的是板上的一个区域,更常见的做法是交互式放置 room,并让系统自动创建相应的设计约束。
了解更多关于如何在 PCB Rules and Constraints Editor 中添加新约束的信息。
在 Constraint Manager 中
要在 Constraint Manager: 中创建新的限制(room)约束,请切换到 All Rules 视图,在 Placement 类别中选择 Room Definition,然后在 Advanced Rules 列表中右键单击,并从右键菜单中选择 Add Advanced Rule,如下所示。
可在 Constraint Manager 中添加新的 room 约束。
此时,图形编辑空间中还不存在 room 对象;你必须单击 Define 按钮(会切换到 PCB 编辑器)并定义 room 的形状。完成后,room 约束与 room 对象都会存在,并且可以保存这些约束。
了解更多关于如何在 Constraints Manager 中添加新约束的信息。
什么是 Room 约束?
如前所述,room 是 PCB 某个表面层上的一个已定义区域,用于在该板区域内定义设计要求。
所有设计约束都有两个关键要素:
如果 room 约束定义在板上没有任何元件的区域,则 Object Match 条件(the objects this constraint applies to)默认会是 False,这意味着该约束不适用于任何对象。请按需编辑。
新创建的 room 定义。注意规则作用域为 False,表示它不适用于任何对象。
约束一个元件类
room 约束的一种常见用法是定义某个元件类的位置,将该类元件锁定在板上的特定区域内。
Encoder 元件类被约束在名为 Room-Encoder 的 room 内,位于板的 Top Layer。
上图展示了在 PCB Rules and Constraints Editor 中(本质上与 Constraint Manager
相同),Encoder 元件类如何被约束 within Room-Encoder room 内,并位于板的 Top side 上。 一旦元件被分配到某个 room,当 room 移动时它们也会随之移动。若要移动 room 而不移动元件,请临时禁用关联的 Room Definition 规则。
了解更多关于 Room Definition 设计约束 的信息。
PCB 编辑器包含多种用于处理 room 的强大工具,更多内容请阅读本页的 Working with Rooms 小节。
除了作为独立的设计约束(Room Definition)之外,room 还可以作为对象,用于将另一项设计约束的作用域聚焦到板上的某个区域,例如 Width、Clearance 或 Via Style。本主题在本页的 Defining Constraints Within a Room 小节中讨论。
room 还可用于包含重复电路段的设计——在 Altium Designer 中称为多通道(multi-channel)设计。在多通道设计中,工程师只需为重复通道绘制一次原理图,并添加通道重复次数的信息。当设计从原理图传输到 PCB 时,软件会自动按所需次数“盖章”生成这些重复电路,并将每个通道放置在各自的设计 room 中。 当 PCB 设计人员在其中一个通道的 room 内完成放置与布线后,就可以指示软件将该放置与布线复制到所有其他通道。
了解更多关于 multi-channel design 的信息。