Cadence Orcad建立批量原理圖庫(本地庫.OLB)
- 前言
- PyAutoGUI
- 需求
- 準備工作
- 操作步驟
- 效果
- 備注
前言
在使用Orcad的過程中,需要為每一種封裝和不同值的電阻電容建立單獨的符号。最初使用手動添加的方式,發現簡直是浪費時間。一番搜尋後,并沒有發現類似于資料庫(使用Access結合表格批量建庫)的建立方法。之後無意中看到了基于Python的自動化工具–PyAutoGUI。(本質還是手動建庫,隻不過過程自動化了)
PyAutoGUI
使用Python語言控制你的滑鼠和鍵盤與應用進行互動,接口API被設計的非常簡單。PyAutoGUI基于Python2、Python3可以運作在windows、macos、linux平台。
需求
自行制作每個封裝的模闆,按照此模闆對資料表格裡的所有元件建立符号(器件表格來自Samsung、國巨)。需要對模闆進行操作的地方:符号名稱、符号描述。
準備工作
下載下傳安裝Python,使用pip工具安裝PyAutoGUI。
python -m pip install -U pyautogui
操作步驟
以R0805電阻模闆為例進行說明,修改Name和Description兩項參數。
1、在Orcad中打開兩個原理圖庫,一個為待添加的空庫,另一個為各種封裝的模闆庫。
圖中的02、03、05、06分别代表0402、0603、0805、1206封裝

2、截取兩個庫名稱、各個封裝模闆的名稱,等所需用到的選項按鈕圖檔。并放置在Python檔案的根目錄下。以模闆庫截圖為例,如下所示:
3、python代碼
pyautogui的庫,常用的函數有一下幾種:
- pyautogui.moveTo(x,y[,duration = t]) # 将滑鼠移動到螢幕指定位置。
- pyautogui.click() #向計算機發送虛拟的滑鼠點選。
- pyautogui.rightClick() #單擊滑鼠右鍵。
- pyautogui.press() #模拟完整的擊鍵(按下并釋放)。
- gui.locateCenterOnScreen() #找到目标圖檔位置并傳回中心坐标。
- gui.hotkey(‘ctrl’,‘c’) #組合鍵,示例為複制的快捷鍵。
- sleep() #延時函數,機關為秒。
代碼的内容邏輯比較簡單:首先使用 gui.locateCenterOnScreen() 函數搜尋目标圖檔,得到一個含有坐标資訊的元祖,将其賦給 pyautogui.moveTo() 函數,滑鼠移動到目标位置,再根據需求進行下一步操作,如左鍵單擊 gui.click(clicks=1)、複制 gui.hotkey(‘ctrl’,‘c’) 、單擊右鍵 gui.click(clicks=1,button=‘right’) 等。
效果
備注
截圖可以進行二值化轉化為黑白圖像,提高識别成功率。如有更好的本地庫批量建立方法,歡迎指教。