KiCad 6动作插件放置后未在PCBNEW菜单显示的问题求助
KiCad PCBNEW 自研动作插件不显示排查方案
1. 优先修复插件代码的缩进语法错误
Python是缩进敏感语言,你提供的tracks.py存在明确的缩进错误,会直接导致插件加载失败:
defaults()方法内的self.category、self.description两行没有和self.name保持同级缩进Run()方法内的所有逻辑代码没有缩进至方法内部
修正后的可运行代码如下:
from pcbnew import * class SimplePlugin(ActionPlugin): def defaults(self): self.name = "Thick VCC Tracks" self.category = "Track adjustments" self.description = "Script to change the width of track named 'VCC' in a net" def Run(self): board = GetBoard() for track in board.GetTracks(): if track.GetNetname() == "VCC": track.SetWidth(FromMM(1)) SimplePlugin().register()
注意:插件类的方法名
defaults、Run必须严格匹配大小写,拼写错误也会导致注册失败。
2. 检查文件与目录有效性
- 确认插件文件
tracks.py直接放在plugins目录根路径下,KiCad不会递归扫描子文件夹内的插件文件,不要给单个插件单独建嵌套目录。 - 验证插件路径真实存在,在KiCad脚本控制台(「工具->脚本控制台」)执行以下代码,确认放置插件的路径返回
True:
import pcbnew, os for p in pcbnew.PLUGIN_DIRECTORIES_SEARCH: print(f"{p} 存在:{os.path.exists(p)}")
- 检查文件权限,确保当前运行KiCad的用户对插件文件有读权限,终端执行以下命令可快速修正权限:
chmod 644 /home/andrew/.local/share/kicad/6.0/scripting/plugins/tracks.py
3. 通过日志定位具体加载错误
如果修正上述问题后插件仍不显示,通过以下方式获取报错信息精准定位:
- 关闭KiCad后在终端执行
pcbnew启动程序,点击「刷新插件」时终端会直接输出插件加载的报错栈,可根据报错提示排查依赖缺失、语法错误等问题。 - 也可以在KiCad脚本控制台手动执行
import tracks,控制台会直接输出该插件文件加载时的具体错误信息。
4. 验证注册逻辑
- 确认插件文件末尾的
SimplePlugin().register()语句没有被注释,也没有放在不会触发的条件判断分支内。 - 确认自定义插件类正确继承了
pcbnew.ActionPlugin,没有拼写错误。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

