Cline 到 Shape 不按 Region 避让?Allegro 166 这坑交给走 TaoToken 的 Codex 对照
1. Allegro 166 里 Cline 到 Shape 不按 Region 避让到底卡在哪如果你正在用 Allegro 166 做 PCB 布局大概率遇到过这个场景板上画了一块 Region本意是让 Cline 到 Shape 的间距按 Region 里设定的规则走结果实际避让出来的间距还是按全局最大规则来的Region 像是被无视了。原文作者把这种表现直接记为 166 的 bug我实测下来确实如此——当 Region 没有把整个 Shape 完全包住时Cline 到 Shape 的避让不会去读 Region 规则而是回退到最大规则。这个问题的麻烦之处在于它不是报错DRC 也不一定给你明显提示你只是发现走线离铜皮的距离比预期大或者该收紧的地方没收紧板子空间被白白吃掉。对于密度高的板子这种“隐性放大间距”会直接导致布线绕远、层数增加。那为什么 172 上就没这个问题因为 172 在 User Preference 里多了一个开关勾上之后 Shape 的避让会去识别 Region 边界。166 没有这个开关所以只能靠兜底方案。本篇的视角就是排障先帮你确认现象再给出 166 和 172 两条路最后用 Codex 对照两版的设置差异让你自己判断该往哪边走。需要先说明一点TaoToken 在这里只负责给 Codex 提供 Key 和通道避让计算仍然是 Allegro 自己跑的跟通道无关。你打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册、创建 Key把 Codex 的 Base URL 填成 https://taotoken.net/api就能让 Codex 帮你比对截图里的勾选路径。2. 前置准备TaoToken 给 Codex 供 Key 和通道这一步只做一件事让 Codex 能跑起来后面用它来对照 166 与 172 的设置差异。TaoToken 的角色是供 Key 和通道不参与任何避让逻辑所以不用担心它会影响 Allegro 的计算结果。先到官网注册账号地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 。注册完成后进控制台创建 API Key控制台入口在 https://taotoken.net/console 。Key 创建后复制出来注意别直接贴到公开仓库里。接下来配置 Codex 的接入地址。Base URL 填 https://taotoken.net/api API Key 填你刚创建的那串。如果你用的是 Claude Code 这类工具接入文档在 https://taotoken.net/doc 里面有不同客户端的填法。想先验证模型通不通可以打开模型对话页面 https://taotoken.net/chat 发一条消息试试。注意Base URL 只填到 /api 这一层不要自己拼后面的路径否则容易出现 404。Key 的权限按最小化原则给只开你需要的模型。如果你后面要长期用 Codex 做编码或 Agent 类任务可以看下 Coding Plan 页面 https://taotoken.net/coding-plan 按用量选合适的档位。这一步跟 Allegro 排障没有直接关系只是顺手提一下避免你每次都要临时建 Key。配置完成后Codex 就具备读图、比对设置的能力了。下面进入正题先确认 166 的现象再走 172 的设置路径。3. 可复制配置166 现象确认与 172 勾选路径3.1 先确认 166 的现象在 166 里复现这个问题你需要一块 Shape 和一块没有完全包住它的 Region。操作顺序是先画好 Shape再在 Shape 局部区域画 RegionRegion 的规则里把 Cline 到 Shape 的间距设成比全局更小的值。然后从 Region 覆盖的区域拉一根 Cline 靠近 Shape。如果避让间距等于全局最大规则而不是 Region 里设的值说明你踩中了这个坑。原文给的两张对比图就是干这个用的一张是 166 的错误避让一张是 172 的正确避让。你把这两张图连同 User Preference 的截图一起丢给 Codex让它帮你找差异比你自己一页页翻菜单快得多。3.2 172 的勾选路径172 上的解法很直接走 User Preference打开 User Preference 面板左侧找到 Shape 分类展开后选 General在右侧列表里勾选Shape_void_cline_region点 OK 保存。设置完成后回到板子上重新 update 一下 Shape再看 Cline 到 Shape 的避让就会按 Region 规则走了。这里的关键是“重新 update Shape”这一步不能省。很多人勾完开关发现没变化就是因为 Shape 还是旧的缓存状态。update 之后避让才会重新计算。3.3 166 的两个兜底方案如果项目锁死在 166没法升到 172原文给了两个方案我按可操作性排一下方案 A把 Shape cut 成两块。让需要按 Region 规则避让的那部分 Shape 完全被 Region 包住。这样 166 在判断时这块 Shape 的边界完全落在 Region 内就会去读 Region 规则。缺点是切割会增加 Shape 数量后期改板要同步维护。方案 B把 Shape 改成 Static 状态。Static Shape 在避让计算时的行为跟 Dynamic 不同改成 Static 后 Cline 到 Shape 的间距也会按 Region 规则走。缺点是 Static Shape 不会自动避让更新改完线要手动 update适合改动不频繁的板子。方案适用版本操作成本后期维护勾选 Shape_void_cline_region172低低Shape cut 成两块166中中Shape 改 Static166低高需手动 update提示方案 B 改 Static 之前先备份Static Shape 在后续改线时不会自动重算容易漏 update 导致间距不对。4. 验证请求用 Codex 对照 166 与 172 的勾选差异配置好通道后验证方式不是发 HTTP 请求而是让 Codex 读你给的截图做比对。你可以这样组织输入把 166 的避让对比图、172 的避让对比图、以及 172 上 User Preference 里 Shape General 的截图一起发给 Codex然后问它“这两版在 Shape 避让 Region 规则上的设置差异在哪166 缺的是哪个开关”。Codex 会从截图里识别出 172 多出的Shape_void_cline_region勾选项并指出 166 的 User Preference 里没有这一项。这一步的价值在于你不用凭记忆去翻菜单截图一丢差异一目了然。如果你还想让 Codex 帮你判断该走哪条路可以补一句“我的板子密度高、后期改动少166 和 172 哪个方案更合适”。它会结合你给的约束给出倾向但最终决定还是你自己拍。验证成功的标志是Codex 能准确说出 172 的勾选路径是 Shape General Shape_void_cline_region并且能指出 166 没有这个开关只能靠 cut Shape 或改 Static 兜底。如果它答得含糊多半是截图不够清晰补一张 User Preference 的完整截图再问。5. 本篇常见错排查第一个常见错勾了Shape_void_cline_region但没 update Shape以为没生效。解决办法就是回到板子执行 update避让才会重算。第二个常见错Region 没有完全包住 Shape却指望 166 按 Region 规则走。这是 166 的固有限制不是设置问题。要么把 Shape 完全放进 Region要么走 cut 或 Static 方案。第三个常见错把 Base URL 填成了带具体路径的地址比如 https://taotoken.net/api/v1/chat 之类导致 Codex 请求 404。正确做法是只填 https://taotoken.net/api 后面的路径由客户端自己拼。第四个常见错Key 权限开太大或者把 Key 写进了会被提交的配置文件。建议单独建一个只用于 Codex 的 Key权限按需给配置文件加进 .gitignore。第五个常见错Static Shape 改完线忘了 updateDRC 过了但实际间距不对。Static Shape 不会自动避让改完必须手动 update建议在流程里加一步检查。注意以上排查都跟 TaoToken 通道无关通道只影响 Codex 能不能跑起来。避让计算始终在 Allegro 内部完成别把两者混在一起排查。6. 该往 172 走还是走 166 兜底判断逻辑其实不复杂。如果你的项目允许升到 172直接走 172 的勾选路径成本最低后期维护也省心。如果项目锁死 166看板子的改动频率改动少、密度高优先考虑 Shape 改 Static改动频繁、需要动态避让优先考虑把 Shape cut 成两块让需要 Region 规则的部分完全被包住。我自己的习惯是新板子直接上 172老项目如果只是小改用 Static 兜底改完手动 update 一遍。cut Shape 的方案我用得少因为后期维护 Shape 数量多了容易乱。如果你在配置 Codex 通道时卡住了先去 https://taotoken.net/api-keys 确认 Key 状态再看 https://taotoken.net/doc 里的接入说明。想先验证模型通不通打开 https://taotoken.net/chat 发一条消息即可。长期做编码或 Agent 任务的话https://taotoken.net/coding-plan 里有按用量的档位可以选。把截图丢给 Codex 对照这一步实测下来能省掉大量翻菜单的时间尤其是 166 和 172 菜单结构不一样的时候。