“很多小伙伴都想自己開發 KiCad 插件,但不知從何入手。本文由華秋電子的另一位 KiCad 開發者波波同學撰寫,分享了如何快速搭建環境,并開發一個簡單的插件。”

目標
編寫一個KiCad9的 GUI 插件來顯示PCB對應圖層。通過這個簡單的示例來
了解 KiCad插件開發的過程。
具體實現需要了解Python,KiCad的Pcbnew API和wxFormbuilder。
環境準備
確保有一個適合開發KiCad插件的環境,通常意味著安裝了KiCad軟件,VSCode編輯器(支持python編碼)和w xFormbuilder。
[VSCodeWindows (x64)下載]:
https://code.visualstudio.com/download
[wxFormbuilder下載]:
https://github.com/wxFormBuilder/wxFormBuilder/releases
使用VSCode配置 Python環境
1、 安裝VSCode 后,在VSCode的應用商店(快捷鍵:Ctrl + Shift + X)里搜索Python插件,并安裝。如下圖:

2、找到KiCad9安裝路徑下的Python解釋器,選擇Python.exe。
按鍵盤快捷鍵:F1(或者Ctrl+Shift+P),在VSCode界面上方會顯示命令框,在命令欄中輸入"Python:Select Interpreter",然后選擇"Enter interpreter path"。通過路徑發現找到KiCad的Python解釋器(根據自己安裝的KiCad 路徑找到 bin 目錄下的python.exe)。
KiCad Python解釋器的路徑在安裝路徑如下:

3、檢查Python環境是否配置成功。
建立一個main.py文件,輸入代碼。
print("Hello World!")
Vscode顯示如下,界面右下方顯示有Python版本(即Kicad自帶的Python解釋器):

點擊“Python Debugger:Debuge Python File”,在 “terminal” 中出現 “Hello World!”,則表示 KiCad的Python環境配置成功。然后就可以寫Python代碼了。

wxformbuilder的使用(Python界面開發)
1、wxformbuilder界面基本介紹
wxFormBuilder的界面如下:

其中
-
項目樹:包含所有用到的控件,布局器。通過項目樹可以實現對項目布局結構的調整和編輯對象的選擇。
-
控件及工具欄:提供用于圖形用戶界面所需要使用的各種控件和布局器。
-
工作區:可視化的圖形用戶界面,提供所見即所得的設計區域。
-
配置區:用于配置項目屬性,控件屬性,布局器屬性以及需要綁定的事件處理。
-
生成代碼模板區:只做展示用于生成圖形用戶界面的對應代碼模板,實際使用中,不要隨意修改。
2、wxFormBuilder創建工程。
打開wxFormBuilder,選擇“File -> New Project”創建新項目。在“控件及工具欄”中選擇“Forms”頁面,添加一個Frame。

3、添加布局器
點擊wxformbuilder上方的標簽 “Layout”,并點擊標簽下方的第一個圖標 “wxBoxSizer”。添加一個只有以列控件布局的布局器。但是窗口左邊的目錄樹有變化了,窗體下多了一個布局器。

4、放置控件
點擊wxformbuilder上方的標簽“Common”,并點擊標簽圖標 “wxStaticText” 添加控件,在“Properties”中的“label”中修改文本內容。

點擊標簽“Data”,并點擊圖標“wxDataViewListCtrl”,修改名稱為“data_view_list”。這樣,窗體設置上就會多出文本標簽、列表框。

5、保存
Python代碼。
點擊選中左邊樹形圖最上面的圖標,即選中工程。修改工程屬性,將name和file修改為“ui_main_frame”,選擇“code_generation”標簽為Python,即可出生成文件名為“ui_main_frame.py”的wxPython代碼。如下圖:

點擊“file”標簽下的 “generate code”,即生成一個GUI 界面的 Python文件。代碼如下:
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version 4.0.0-0-g0efcecf)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################
importwx
importwx.xrc
importwx.dataview
###########################################################################
## Class UiMainFrame
###########################################################################
classUiMainFrame( wx.Frame ):
def__init__(self, parent):
wx.Frame.__init__ ( self, parent,id= wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size(500,700), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
bSizer3 = wx.BoxSizer( wx.VERTICAL )
self.m_staticText1 = wx.StaticText( self, wx.ID_ANY,u"通過單擊或雙擊,顯示PCB中的對應層", wx.DefaultPosition, wx.DefaultSize,0)
self.m_staticText1.Wrap( -1)
bSizer3.Add( self.m_staticText1,0, wx.ALIGN_CENTER|wx.ALL,5)
self.data_view_list = wx.dataview.DataViewListCtrl( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,0)
bSizer3.Add( self.data_view_list,1, wx.ALL|wx.EXPAND,5)
self.SetSizer( bSizer3 )
self.Layout()
self.Centre( wx.BOTH )
def__del__(self):
pass
-
KiCAD
+關注
關注
5文章
253瀏覽量
9475 -
vscode
+關注
關注
1文章
169瀏覽量
8470
發布評論請先 登錄
用 VSCode 編寫自己的 KiCad 插件(下)

在 KiCad 中使用華秋 DFM 插件
KiCad7 插件大全
vscode常用插件有哪些
單片機編程vscode EIDE插件新環境

使用VSCode配合keil來編寫Cortex-M程序

VSCode批量遷移插件

KiCad插件大全
在 MAC mini4 上使用 VSCode 和 Cline 插件對接 Deepseek-R1:32b 的完整指南

KiCad直播活動(三):在 Windows上編譯KiCad 手把手教您編譯/構建 KiCad 源碼

評論