自动布线出现的两个错误

本文详细解析了PCB设计中常见的MinimumSolderMaskSliverConstraintViolation与SilkscreenOverComponentPadsConstraintViolation规则问题,提供了如何调整规则设置的指导,包括关闭规则检查及修改最小值的方法,帮助解决设计过程中遇到的阻焊与丝印规则冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、[Minimum Solder Mask Sliver Constraint Violation]    exoskeleton.PcbDoc    Advanced PCB    Minimum Solder Mask Sliver Constraint: (0.182mm < 0.254mm) Between Via (102.413mm,113.182mm) Top Layer to Bottom Layer And Via (101.282mm,113.983mm) Top Layer to Bottom Layer [Top Solder] Mask Sliver [0.182mm] / [Bottom Solder] Mask Sliver [0.182mm]  

 

可以到design--rule-manufacturing-minimum solder mask sliver这个规则的勾给去掉。这个属于阻焊规则,一般不用这个规则,对你板子没什么影响。

2、Silkscreen Over Component Pads Constraint Violation

这个是丝印(silkscreen)与焊盘间距小于规则的报错。自动布线不会解决这样的错误。
尝试手动修改丝印焊盘的位置,错误链接可以直接找到错误坐标位置~

我刚看了下,好像这两个规则用处不大,然后我把它关了,不知道对于板子会有什么影响?谢谢你了

追答

板上的白字可能会重叠在焊盘上,当然工厂制板的时候这个字和焊盘冲突的部分是不会印的,
这样一来,一则可能会漏掉一些信息,二则影响板子美观。
确认没有问题的话这样的报错可以不理会~

design--rule-manufacturing-minimum solder mask sliverSilkscreenOverComponentPads--把10mil修改为0mil,

### Altium Designer 自动布线脚本与实现方法 Altium Designer 提供了一种通过编程方式控制设计流程的能力,这可以通过其内置的 Scripting 功能来完成。虽然 Altium 并未提供完全自动化的 PCB 布线功能,但可以利用 JScript 或 VBScript 编写自定义脚本来辅助自动化某些布线操作[^1]。 #### 使用脚本实现部分自动布线的功能 以下是编写脚本的一些基本思路以及如何将其应用于实际场景: 1. **加载并运行脚本** 用户可以在 Altium Designer 中通过菜单 `Tools -> Run Script` 来执行已编写的脚本文件。这些脚本通常保存为 `.js` 文件(JScript)或 `.vbs` 文件(VBScript)。 2. **示例代码:设置默认布线参数** 下面是一个简单的 JScript 示例,用于调整当前文档中的默认布线宽度和清除规则冲突: ```javascript // 获取活动的PCB编辑器对象 var PCBBoard = GetActiveDocument(); if (PCBBoard && PCBBoard.IsKindOf("PcbDoc")) { // 设置默认布线宽度为0.2mm PCBBoard.SetDefaultTrackWidth(0.2 * 2540); // 清除所有DRC错误标记 PCBBoard.ClearAllErrors(); AlertMessage("默认布线宽度已设为0.2mm,并清除了所有DRC错误!"); } else { AlertMessage("无法找到有效的PCB文档!"); } ``` 3. **高级应用:批量布线特定网络** 如果希望针对某个具体网络进行布线,则需要更复杂的逻辑处理。下面展示了一个简化版的脚本框架,该脚本会尝试连接指定网络上的两个焊盘。 ```javascript function AutoRouteNetwork(networkName) { var board = Board; var net = board.Nets.ItemByName(board, networkName); if (!net) { AlertMessage("找不到名为 '" + networkName + "' 的网络"); return; } var tracks = []; var vias = []; try { // 开始事务记录以便撤销支持 Transaction.BeginTransaction(); // 遍历网络节点并创建轨道 for (var i = 0; i < net.Nodes.Count; ++i) { var nodeA = net.Nodes[i]; for (var j = i + 1; j < net.Nodes.Count; ++j) { var nodeB = net.Nodes[j]; // 创建直线轨迹 var newTrack = CreateNewTrack(nodeA.X, nodeA.Y, nodeB.X, nodeB.Y); tracks.push(newTrack); } } // 完成事务提交 Transaction.CommitTransaction(); AlertMessage("成功路由网络:" + networkName); } catch (e) { Transaction.AbortTransaction(); AlertMessage("发生错误:" + e.message); } } // 主函数调用 AutoRouteNetwork("GND"); // 替换为你想要自动布线的目标网络名称 ``` 上述代码片段仅作为概念验证存在,在真实环境中可能还需要考虑更多细节,比如障碍物检测、层切换策略等[^2]。 #### 注意事项 - 上述脚本仅为演示目的而构建,实际部署前需经过充分测试以确保兼容性和稳定性。 - 对于复杂电路板的设计来说,单纯依赖脚本难以达到理想效果;因此建议结合手动微调与其他工具共同完成高质量布局工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值