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

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

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

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

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

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

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

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

4、放置控件
點(diǎn)擊wxformbuilder上方的標(biāo)簽“Common”,并點(diǎn)擊標(biāo)簽圖標(biāo) “wxStaticText” 添加控件,在“Properties”中的“l(fā)abel”中修改文本內(nèi)容。

點(diǎn)擊標(biāo)簽“Data”,并點(diǎn)擊圖標(biāo)“wxDataViewListCtrl”,修改名稱為“data_view_list”。這樣,窗體設(shè)置上就會(huì)多出文本標(biāo)簽、列表框。

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

點(diǎn)擊“file”標(biāo)簽下的 “generate code”,即生成一個(gè)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中的對(duì)應(yīng)層", 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
+關(guān)注
關(guān)注
5文章
242瀏覽量
9363 -
vscode
+關(guān)注
關(guān)注
1文章
168瀏覽量
8397
發(fā)布評(píng)論請(qǐng)先 登錄
在 KiCad 中使用華秋 DFM 插件
使用VSCode下的Keil Assistant插件進(jìn)行STM32開發(fā)的部分功能
有關(guān)kicad6.0的插件問題
KiCad7 插件大全
vscode常用插件有哪些
單片機(jī)編程vscode EIDE插件新環(huán)境

配置VScode編譯、調(diào)試STM32(二)Cortex-Debug插件

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

KICAD插件使用說明書
VSCode批量遷移插件

VSCode插件的安裝和使用

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

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

評(píng)論