Height Constraint Violation(元件高度约束违规):这些元件在 Top Layer(顶层) 的 Actual Height(实际高度) 分别是 42.25mm / 39mm,超过了你当前 PCB 里的“高度限制规则”。

在这里插入图片描述
你截图里的 5 条都是 Height Constraint Violation(元件高度约束违规):这些元件在 Top Layer(顶层)Actual Height(实际高度) 分别是 42.25mm / 39mm,超过了你当前 PCB 里的“高度限制规则”。

下面按最常用的 3 种解决方式给你一步步操作(AD 菜单我按 英文/中文一起写)。


1)最直接:把“高度规则”的上限调大(或关掉)

  1. 打开规则编辑器:
    Design → Rules… / 设计 → 规则…
  2. 在左侧树展开:
    Manufacturing → Height Constraints / 制造 → 高度约束
  3. 点开触发的那条规则(通常 Scope=All 或某个区域/类)。
    Maximum Height(最大高度)(Top/Bottom)改到 ≥ 42.25mm(比如 50mm、60mm)。
  4. 重新跑 DRC:
    Tools → Design Rule Check… / 工具 → 设计规则检查…

适用:你并没有机壳/结构限高要求,只是默认规则太小导致报错。


2)更工程化:只给这些“高件”做例外规则(推荐)

如果板子大部分器件需要限高,但这几颗电解/排针本来就允许更高:

  1. 还是进入:Design → Rules… / 设计 → 规则…
  2. Manufacturing → Height Constraints / 制造 → 高度约束
  3. 新增一条 Height Constraint 规则(右键 New Rule / 新建规则)
  4. Scope(范围)里写只选中这些器件的查询(示例二选一):
  • 方式A(常用):
    IsComponent AND (Designator IN ('C19','C20','C2','C3','J4'))
  • 方式B(你也可以先建 Component Class 再套用):
    Design → Classes / 设计 → 类 建一个类比如 TallParts,把这些器件加进去;
    规则 Scope 写:InComponentClass('TallParts')
  1. 在这条“例外规则”里把 Max Height 设到 60mm;
  2. 把这条规则优先级(Priority)调到比默认规则更高(规则列表里上移/或改优先级)。

适用:既保留整体限高,又不让个别高件一直报错。


3)如果“实际高度不对”:去改封装/3D Body 的高度数据

有时并不是器件真的那么高,而是 封装的 3D Body/高度参数写错

改单板上这个器件的高度(快速验证)

  1. 在 PCB 中点选元件
  2. 右侧 Properties / 属性 面板里找:3D Body / 3D 实体Models / 模型
  3. 检查是否有 Body Height / 实体高度Standoff Height / 离板高度 等参数异常(把高度改成真实器件高度)

从根上改(推荐)

  1. 打开对应 PcbLib / PCB库 的 footprint
  2. 选中 3D Body(或 STEP 模型),在属性里改 高度/离板,保存库
  3. 回到 PCB Update PCB(更新封装)后再 DRC

适用:你确认电解/排针实际高度没这么夸张,或者你导入 STEP 后 Z 尺寸/原点有问题。


怎么快速定位“是哪条规则”在卡你?

在 Messages 列表里 双击那条 Height Constraint Violation,一般会:

  • 放大定位到元件
  • 并在 PCB Rules / 规则 面板里高亮对应规则(有些版本会直接跳到规则)

如果你愿意,把 Rules 里 Height Constraints 那条规则的截图(尤其是 Max Height 数值和 Scope 查询)发我,我可以直接告诉你:

  • 你现在的限高到底是多少
  • 应该改成多少最合理
  • 例外规则的 Scope 应该怎么写得最稳(避免误选/漏选)

解决办法

在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐