One-Click Report Generator
在前一篇章中,我們介紹了 PyAEDT 並做了一個自動生成報告來展示其潛力。在這個章節中,有別於 PyAEDT 的方法,我們將介紹使用 IronPython 來實現一鍵自動化生成報告的功能。
Last updated
在前一篇章中,我們介紹了 PyAEDT 並做了一個自動生成報告來展示其潛力。在這個章節中,有別於 PyAEDT 的方法,我們將介紹使用 IronPython 來實現一鍵自動化生成報告的功能。
Last updated
作為一名工程師,如果優先選擇一樣演算法工具,我相信大部分的研發人員都會首要考慮自動生成報告工具。如果具備自動生成報告程式,在日常開發工作將擁有多項重要優勢:
提升時間效率、降低人力成本: 在日常工作中,工程師需要花費大量時間整理數據、繪製圖表、填寫表格等,準備報告。自動化報告能大幅縮短這些手動操作所需時間,降低了人力投入,進而降低了人力成本。使工程師能專注於數據分析、問題解決和創新,而非費時於報告排版和整理。
確保一致性和準確性: 手動撰寫報告容易出現人為錯誤,例如數據輸入錯誤、格式不一致等。自動化報告可以確保生成的報告始終保持一致的格式和準確的數據,減少由人為錯誤引起的問題。
快速回應: 在需要頻繁生成報告的情況下,手動操作可能無法及時滿足需求。自動化報告能夠快速回應,可以根據需求隨時生成,確保報告及時提供給需要的人員。
專注數據分析: 自動化報告能夠讓工程師專注於數據分析和洞察力的提取,而不是花費大量時間在報告的排版和整理上。工程師可以更深入地分析數據,發現模式、趨勢和問題。
標準及風格化: 自動化報告可以定義標準的模板和格式,確保所有報告都符合統一的標準,加入個人或企業風格,提升專業形象並簡化審查流程。
適應性: 自動化報告能夠根據不同的輸入數據和需求生成不同類型的報告,適應不同的場景和受眾。例如在同一各事業部門,我們拿Maxwell做磁性元件設計和馬達設計,亦或是隔壁同仁用HFSS設計共模電感,我們能夠出相同格式的報告給部門主管和同仁,風格一致,讓閱讀報告者清晰報告邏輯。
節省硬碟空間:有在使用ANSYS模擬軟體的研發同仁都知道,因為軟體需要計算空間場的分佈,所以一個設計的模擬資料檔案通常都非常龐大。當我們能快速的紀錄報告,就不需要把每筆的數據做資料備份,可以大幅節省硬碟空間。
檔案加密:不讓人輕易修改報告內容。
自動化報告能夠從多個方面提升工程師的工作效率、準確性和創造力,讓他們能夠更專注於解決問題和創新,而不被繁瑣的報告準備所限制。
想像一下,當我們缺乏最佳化軟體的支援,而希望進行一些設計變更以便進行比較時,你是否經常遇到這樣的情況:我調整了參數 A,結果不佳,後續又調整了參數 B、再來是 C 參數,但由於缺乏完整的記錄或紀錄,最後不得已又再次回去確認參數A。這時,擁有「One-Click Report Generator」功能,只需三秒鐘即可生成報告,再也不必擔心找不到調整後的報告了。
在「Ansys AEDT 2023R2」版本中,已加入自定義 Script 工具列至 Automation 的 Toolbar 中,提供使用者能利用Iron Python進行自定義工具開發,並輕鬆呼叫,如同內建功能一般。詳見圖3-2。另外,如上節介紹,23R2版本進一步提供在 AEDT 中直接呼叫 PyAEDT 檔案的功能,使用者可透過 CPython 與PyAEDT 和 Python 模組協同實現更多自動化工作。
在這個專案中,筆者預想實現的功能是把
做自動報告產出,並在
筆者以上面做發想,規劃架構如圖3-2。
筆者選擇使用 Spyder 來進行 Iron Python 程式碼開發(圖3-3),預計報告將使用 HTML 格式呈現。HTML格式的優點在於能於任意瀏覽器中開啟,且能加入網頁渲染特效。關於 HTML 的相關說明,可參閱筆者寫的HTML網頁開發。在 2023R1 版本之前,都可以透過 Run Script 方式執行這個程式碼,但會需要至少按三次按鍵 (Run Script -> Selecte Python File -> OK )才能生成報告。
有個笑話這麼講:「有機會坐著,就別選站著;有機會躺著,就不要選坐著;有機會一步到位,就別自願走三步。」雖然這是個笑話,但我們都能從中感受到共鳴。接下來,我們將向您介紹如何在2023 R2版本中將「走三步」的情況變為「一步」。
如本節開頭所說,在2023R2中,已經內建了 Customize 自定義工具,但目前只有 HFSS 和部分軟件有搭載這個功能,打開新版,不一定每個 AEDT 使用者都能在自己使用的軟件中找到。本章的主人翁 Maxwell 就是屬於找不到 Customize 功能的主角,目前官方也並未詳細說明新增工具的方法。在部分軟件可以想像成是被封印的新功能,有興趣的讀者可以和原廠詢問。暫且假設讀者已成功將自定義工具匯入 AEDT 中。
承上,完成了程式碼之後,筆者為「One-Click Report Generator」做了一個小 PNG 圖示,將其置於 Toolkit_Images 資料夾內。提醒讀者,在製作圖示時,請注意 PNG 圖片的大小須控制約 30px * 30px, AEDT 才能完全載入圖片。遵循圖3-5的步驟,點選 2023R2 自定義工具 Customize,由左至右依序點選與填入資訊。都填選完成後選擇OK關閉視窗,最後重新開啟 AEDT,即可成功看到圖示。
將 Report Generater 放入 Automation toolbar 之後,就完成了「One-Click Report Generator」。在圖3-6的 Gif 動畫中,筆者用一個 HFSS 天線與一個 Maxwell ACL 作範例,來作 One-Click Report Generator 的功能展示。
按下「One-Click Report Generator」後,Results 和 3D圖檔將自動生成於指定資料夾中,如它的名字所述,檔案報告一鍵生成。圖片將繼承原名,使用者僅需在設計階段適當命名檔案,即可輕鬆尋找圖檔。接著生成的圖片名稱會依據 Design Name 來做檔名;而整合報告會包含模擬3D圖案(多角度擷取)、模擬報告、報告生成日期、Design Note、Design Variables、模擬電磁場場圖、電腦與版本資訊於一個 HTML 報告中。報告的檔名也會隨日期變化,方便使用者查詢。
報告主要分成以下幾個部分:
設計參數:把設計參數做成表格,方便查閱變數條件,做前後參數修改比對。此功能對開發者非常重要,當模擬調整參數多,我們容易忘記前後參數模擬的結果。
設計材料:列出模擬中使用的材料名稱,作完整的紀錄,方便確認模擬材料的使用狀況。材料參數特性放到最下方避免資訊過多雜亂,但又存有紀錄。
設計圖片:把所有圖片列表並提供超連結。
3D Model 圖片:以各個角度呈現 3D模型。
設計報告:設計的模擬各式報表圖片。
Mesh與電磁場分布:設計案例的Mesh與電磁場分佈繪圖。
圖3-7呈現「One-Click Report Generator」產生的 Maxwell 報告,生成的 *.html 檔可使用 Edge 或 Chrome 等瀏覽器開啟,更方便的是亦適用於手機瀏覽。由於格式為 HTML,我們能運用多種特效渲染報告,如點選返回最上層、滑鼠游標經過圖片可放大、圖片連結到外部網頁等功能。
甚至如果希望不讓人輕易修改,可以用Base64方法加密,請參考 HTML Reports Encryption。
「One-Click Report Generator」工具開發一次後可重複使用,能安裝在 AEDT 各軟件 (例如:HFSS(註)、Q3D、Icepak(註)、Maxwell3D、Maxwell2D) 中使用,是相當有價值的開發投資。特此提供給讀者參考。
HFSS 報告案例請參考 HTML Formatted Reports。
Icepak 報告案例請參考下頁 Icepak One-Click Report。