AD19基础应用技巧:Height Constraint Violation(元件高度约束违规)
Height Constraint Violation(元件高度约束违规):这些元件在 Top Layer(顶层) 的 Actual Height(实际高度) 分别是 42.25mm / 39mm,超过了你当前 PCB 里的“高度限制规则”。你截图里的 5 条都是:这些元件在的分别是,超过了你当前 PCB 里的“高度限制规则”。下面按最常用的 3 种解决方式给你一步步操作(AD 菜单我按一起写)。
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)最直接:把“高度规则”的上限调大(或关掉)
- 打开规则编辑器:
Design → Rules… / 设计 → 规则… - 在左侧树展开:
Manufacturing → Height Constraints / 制造 → 高度约束 - 点开触发的那条规则(通常 Scope=All 或某个区域/类)。
把 Maximum Height(最大高度)(Top/Bottom)改到 ≥ 42.25mm(比如 50mm、60mm)。 - 重新跑 DRC:
Tools → Design Rule Check… / 工具 → 设计规则检查…
适用:你并没有机壳/结构限高要求,只是默认规则太小导致报错。
2)更工程化:只给这些“高件”做例外规则(推荐)
如果板子大部分器件需要限高,但这几颗电解/排针本来就允许更高:
- 还是进入:Design → Rules… / 设计 → 规则…
- Manufacturing → Height Constraints / 制造 → 高度约束
- 新增一条 Height Constraint 规则(右键 New Rule / 新建规则)
- Scope(范围)里写只选中这些器件的查询(示例二选一):
- 方式A(常用):
IsComponent AND (Designator IN ('C19','C20','C2','C3','J4')) - 方式B(你也可以先建 Component Class 再套用):
先 Design → Classes / 设计 → 类 建一个类比如TallParts,把这些器件加进去;
规则 Scope 写:InComponentClass('TallParts')
- 在这条“例外规则”里把 Max Height 设到 60mm;
- 把这条规则优先级(Priority)调到比默认规则更高(规则列表里上移/或改优先级)。
适用:既保留整体限高,又不让个别高件一直报错。
3)如果“实际高度不对”:去改封装/3D Body 的高度数据
有时并不是器件真的那么高,而是 封装的 3D Body/高度参数写错。
改单板上这个器件的高度(快速验证)
- 在 PCB 中点选元件
- 右侧 Properties / 属性 面板里找:3D Body / 3D 实体 或 Models / 模型
- 检查是否有 Body Height / 实体高度、Standoff Height / 离板高度 等参数异常(把高度改成真实器件高度)
从根上改(推荐)
- 打开对应 PcbLib / PCB库 的 footprint
- 选中 3D Body(或 STEP 模型),在属性里改 高度/离板,保存库
- 回到 PCB Update PCB(更新封装)后再 DRC
适用:你确认电解/排针实际高度没这么夸张,或者你导入 STEP 后 Z 尺寸/原点有问题。
怎么快速定位“是哪条规则”在卡你?
在 Messages 列表里 双击那条 Height Constraint Violation,一般会:
- 放大定位到元件
- 并在 PCB Rules / 规则 面板里高亮对应规则(有些版本会直接跳到规则)
如果你愿意,把 Rules 里 Height Constraints 那条规则的截图(尤其是 Max Height 数值和 Scope 查询)发我,我可以直接告诉你:
- 你现在的限高到底是多少
- 应该改成多少最合理
- 例外规则的 Scope 应该怎么写得最稳(避免误选/漏选)
解决办法


更多推荐


所有评论(0)