“最近在社群中看到幾個帖子,反饋說 KiCad 9 打開 PCB 時出現(xiàn)問題,所有工作都丟失了。這的確是一個bug,會在特定情況下發(fā)生。”
問題描述
當(dāng)使用 KiCad 9(無論是 9.0.1 還是 9.0.2)打開某些 PCB 文件時會出現(xiàn)類似上圖設(shè)計(jì)對象不顯示的情況。調(diào)整外觀面板的顯示設(shè)置也不起任何作用。這時用戶會誤以為 PCB 文件損壞,出現(xiàn)了內(nèi)容丟失的情況,非常著急。
問題復(fù)現(xiàn)步驟
使用任意版本的 KiCad 9 創(chuàng)建一個新的 PCB 文件,隨意放一些器件或者導(dǎo)線,保存。
使用 KiCad 8.0.8 或以下的版本嘗試打開這個 PCB 文件,因?yàn)榘姹驹驎崾緹o法打開。
此時再用 KiCad 9 嘗試打開這個 PCB,發(fā)現(xiàn) PCB 內(nèi)容不可見。
遇到該現(xiàn)象的用戶通常同時安裝了 KiCad 8 和 9 兩個版本,且雙擊默認(rèn)使用 KiCad 8 打開 PCB,從而觸發(fā)了步驟 2. 問題僅限于 8.0.8 或 以下版本,8.0.9 不會產(chǎn)生問題。
問題原因分析
問題是由*.kicad_prl這個文件導(dǎo)致的:
該文件用來記錄項(xiàng)目中的一些設(shè)置,比如 PCB 中層的可見性、透明度,選擇過濾器的勾選情況等。以下是一個kicad_prl的實(shí)例:
{"board":{ "active_layer":0, "active_layer_preset":"All Layers", "auto_track_width":true, "hidden_netclasses":[], "hidden_nets":[], "high_contrast_mode":0, "net_color_mode":1, "opacity":{ "images":0.6, "pads":1.0, "shapes":1.0, "tracks":1.0, "vias":1.0, "zones":0.6 }, "selection_filter":{ "dimensions":true, "footprints":true, "graphics":true, "keepouts":true, "lockedItems":false, "otherItems":true, "pads":true, "text":true, "tracks":true, "vias":true, "zones":true }, "visible_items":[], "visible_layers":"fffffff_ffffffff", "zone_display_mode":0},"git":{ "repo_password":"", "repo_type":"", "repo_username":"", "ssh_key":""},"meta":{ "filename":"prl_test.kicad_prl", "version":3},"net_inspector_panel":{ "col_hidden":[ false, false, false, false, false, false, false, false, false, false ], "col_order":[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], "col_widths":[ 162, 147, 91, 67, 91, 91, 91, 71, 91, 91 ], "custom_group_rules":[], "expanded_rows":[], "filter_by_net_name":true, "filter_by_netclass":true, "filter_text":"", "group_by_constraint":false, "group_by_netclass":false, "show_unconnected_nets":false, "show_zero_pad_nets":false, "sort_ascending":true, "sorting_column":0},"open_jobsets":[],"project":{ "files":[]},"schematic":{ "selection_filter":{ "graphics":true, "images":true, "labels":true, "lockedItems":false, "otherItems":true, "pins":true, "symbols":true, "text":true, "wires":true }}}
問題就出在 32 行的 visible_layers。
當(dāng)嘗試使用 KiCad 8.0.8 及以下版本打開 KiCad 9 的文件時,雖然提示打不開,也并沒有修改 PCB 的內(nèi)容,但確意外修改了kicad_prl文件中的內(nèi)容,導(dǎo)致了 bug 的產(chǎn)生。
其實(shí) PCB 文件并沒有損壞,只是因?yàn)閗icad_prl文件中的設(shè)置導(dǎo)致層被隱藏了,且無法通過 GUI 恢復(fù)。
開發(fā)者已經(jīng)定位到了問題,會在 9.0.3 的版本中修復(fù)。
短期解決方案
如果您已經(jīng)遇到了這個問題,不要著急。其實(shí)解決起來很簡單:直接刪除kicad_prl文件重新嘗試打開 PCB 即可。
結(jié)束語
如果遇到可能的數(shù)據(jù)丟失問題,首先不用驚慌。可以先查看下文件的大小或者用文本編輯器打開,查看內(nèi)容是否正常。
另外,建議打開自動備份功能,這樣即使遇到意外情況,也可以盡可能減小數(shù)據(jù)丟失的損失。關(guān)于自動備份的設(shè)置,可以參考:KiCad 中的自動保存與備份。
注意:如果想第一時間收到 KiCad 內(nèi)容推送,請點(diǎn)擊下方的名片,按關(guān)注,再設(shè)為星標(biāo)。
常用合集匯總:
和 Dr Peter 一起學(xué) KiCad
KiCad 8 探秘合集
KiCad 使用經(jīng)驗(yàn)分享
KiCad 設(shè)計(jì)項(xiàng)目(Made with KiCad)
常見問題與解決方法
KiCad 開發(fā)筆記
插件應(yīng)用
發(fā)布記錄
審核編輯 黃宇
-
pcb
+關(guān)注
關(guān)注
4352文章
23417瀏覽量
406718 -
KiCAD
+關(guān)注
關(guān)注
5文章
233瀏覽量
9330
發(fā)布評論請先 登錄
華秋DFM支持KiCad PCB了

KiCad 與 Altium Designer 圖紙互轉(zhuǎn)詳解

KiCad 直播系列活動預(yù)告(一):KiCad 9 新功能揭秘

一個設(shè)置讓 KiCad 的視覺體驗(yàn)提升一個檔次!

KiCad 9 引入新的API機(jī)制

KiCad 9 探秘(三):定位與捕捉功能的增強(qiáng)

KiCad 9 探秘(二):多通道設(shè)計(jì)工具

Kerman的KiCad學(xué)習(xí)筆記:第6章 PCB設(shè)計(jì)流程

KiCon演講回顧(一):KiCad 9 功能及 K10 預(yù)覽
KiCad發(fā)現(xiàn)之旅(一)原理圖編輯

KiCad發(fā)現(xiàn)之旅(三)PCB 3D查看器

KiCad PCB中原點(diǎn)的設(shè)置與使用

在KiCad中使用AD的封裝庫(Pcblib)

KiCad中如何分割電源平面

評論