“最近在社群中看到幾個帖子,反饋說 KiCad 9 打開 PCB 時出現問題,所有工作都丟失了。這的確是一個bug,會在特定情況下發生。”
問題描述
當使用 KiCad 9(無論是 9.0.1 還是 9.0.2)打開某些 PCB 文件時會出現類似上圖設計對象不顯示的情況。調整外觀面板的顯示設置也不起任何作用。這時用戶會誤以為 PCB 文件損壞,出現了內容丟失的情況,非常著急。
問題復現步驟
使用任意版本的 KiCad 9 創建一個新的 PCB 文件,隨意放一些器件或者導線,保存。
使用 KiCad 8.0.8 或以下的版本嘗試打開這個 PCB 文件,因為版本原因會提示無法打開。
此時再用 KiCad 9 嘗試打開這個 PCB,發現 PCB 內容不可見。
遇到該現象的用戶通常同時安裝了 KiCad 8 和 9 兩個版本,且雙擊默認使用 KiCad 8 打開 PCB,從而觸發了步驟 2. 問題僅限于 8.0.8 或 以下版本,8.0.9 不會產生問題。
問題原因分析
問題是由*.kicad_prl這個文件導致的:
該文件用來記錄項目中的一些設置,比如 PCB 中層的可見性、透明度,選擇過濾器的勾選情況等。以下是一個kicad_prl的實例:
{"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。
當嘗試使用 KiCad 8.0.8 及以下版本打開 KiCad 9 的文件時,雖然提示打不開,也并沒有修改 PCB 的內容,但確意外修改了kicad_prl文件中的內容,導致了 bug 的產生。
其實 PCB 文件并沒有損壞,只是因為kicad_prl文件中的設置導致層被隱藏了,且無法通過 GUI 恢復。
開發者已經定位到了問題,會在 9.0.3 的版本中修復。
短期解決方案
如果您已經遇到了這個問題,不要著急。其實解決起來很簡單:直接刪除kicad_prl文件重新嘗試打開 PCB 即可。
結束語
如果遇到可能的數據丟失問題,首先不用驚慌。可以先查看下文件的大小或者用文本編輯器打開,查看內容是否正常。
另外,建議打開自動備份功能,這樣即使遇到意外情況,也可以盡可能減小數據丟失的損失。關于自動備份的設置,可以參考:KiCad 中的自動保存與備份。
注意:如果想第一時間收到 KiCad 內容推送,請點擊下方的名片,按關注,再設為星標。
常用合集匯總:
和 Dr Peter 一起學 KiCad
KiCad 8 探秘合集
KiCad 使用經驗分享
KiCad 設計項目(Made with KiCad)
常見問題與解決方法
KiCad 開發筆記
插件應用
發布記錄
審核編輯 黃宇
-
pcb
+關注
關注
4362文章
23458瀏覽量
408224 -
KiCAD
+關注
關注
5文章
248瀏覽量
9412
發布評論請先 登錄
用VSCode編寫自己的KiCad插件(上)詳細步驟教程

華秋DFM支持KiCad PCB了

KiCad 與 Altium Designer 圖紙互轉詳解

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

KiCad 9 引入新的API機制

KiCad 9 探秘(二):多通道設計工具

Kerman的KiCad學習筆記:第6章 PCB設計流程

KiCon演講回顧(一):KiCad 9 功能及 K10 預覽
KiCad PCB中原點的設置與使用

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

評論