《ANSYS ACT寶典》帶你快速上手仿真嚮導開發全流程

2021-01-08 SIM小李

作者 |小田老師

導語:ANSYS ACT作為ANSYS系列產品的統一二次開發平臺,提供了強大的仿真功能及流程定製化能力,即使不是專業的編程人員,也能為仿真工作流程創建定製化的應用插件。一、ANSYS ACT概述ANSYS Application Customization Toolkit簡稱ACT,是ANSYS系列產品的統一二次開發平臺,ACT使用易於學習但功能強大的XML標記語言和IronPython程式語言,即使不是專業的編程人員,也能為仿真工作流程創建定製化的應用插件。ANSYS ACT官方宣傳視頻

1、ACT的功能介紹針對業務特定需求或行業特定需求,通用的ANSYS產品可能無法滿足,為了方便用戶定製ANSYS產品,以滿足這些需求,ANSYS提供了ACT定製開發功能,有以下三種形式:(1)添加新功能(Feature Creation)直接地、API驅動的ANSYS產品的二次開發,用戶可定義自己的功能和操作。例如Mechanical中創建特定載荷、失效標準、自定義前後處理、求解器等。

自定義後處理(2)仿真流程定製(Simulation Workflow Integration)可以把外部知識,如應用軟體、流程、腳本集成到ANSYS生態體系中,可以在Workbench Project管理頁面中定製仿真流程。例如:用戶自定義的系統(System)和組件(Component)。

仿真流程定製

(3)流程壓縮(Process Compression)實現ANSYS產品間的仿真流程的封裝和自動化,其結果就是形成一個仿真嚮導(Simulation Wizard),用於仿真流程及經驗的固化。

仿真嚮導界面

2、ACT支持的軟體ANSYS產品支持ACT開發的軟體模塊如下表所示,囊括電磁、結構、流體和多物理場仿真。

ACT支持軟體在實際工程應用開發過程中,由於ANSYS產品本身功能大而全,所以在功能添加和仿真流程定製上需求相對較少,而採用流程壓縮進行仿真嚮導的開發佔絕大多數。因為仿真流程通常非常複雜,因此仿真使用往往會僅限於少數專家用戶,從而會降低工作流程的整體效率。通過ACT嚮導開發,就可以利用成熟的仿真流程以及最佳實踐,將特定的仿真流程壓縮為簡化、易於遵循的仿真步驟;這樣即使是非專業用戶可以使用嚮導逐步完成複雜的模擬,來快速生成所需的結果,提升整個企業的研發實力。今天我們文章內容會主要介紹ACT仿真嚮導的開發技術,另外兩種模式後續文章再做介紹。二、ACT開發基礎知識在進行ACT開發之前,我們需要了解以下術語和知識。1、ACT文件結構一個腳本化的ACT插件至少包括:① 一個XML文件

定義UI內容、插件輸入屬性將應用程式事件與IronPython腳本函數綁定②一個IronPython腳本文件

實現仿真功能,事件驅動:定義事件調用函數支持訪問外部擴展庫同時我們可以使用其他文件和文件夾來更好地組織內容,比如創建文件夾存放圖標、幫助文件等。2、XML數據結構XML是可擴展標記語言(EXtensibleMarkupLanguage)的簡稱;XML和常見HTML類似,也是一種標記語言;而且XML是可以用來攜帶數據,本身是自描述性的。使用XML進行ACT開發前,我們需要知道如下的四個基本概念:① 標籤/標記(Tags)

標籤是左尖括號(<)和右尖括號(>)之間的文本有開始標記 (如 <extension>) 和結束標記 (如 </extension>)② 元素(Elements)

元素是開始標記、結束標記以及兩者之間的所有內容示例中:<interface> 元素包含三個子元素:<images>, <callbacks> 和 <toolbar>③ 屬性(Attributes)

屬性是元素開始標記中的名稱-值對(name-value)示例中:名稱(name)和圖標(icon)是 <entry> 元素的屬性④ 開始標記 (<!--) 和結束標記(-->)之間是注釋。

XML數據結構

XML標記(tags)不是預定義的,每個應用都有自己的標記,ACT有自己的XML標記。有關各種標記、元素和屬性的詳細信息,參見《ANSYS ACT XML Reference Guide》。

3、仿真嚮導簡介

嚮導(Wizard)用於啟動和控制不同目標的應用程式,可以是Target Wizard;也可以是Project Wizard或Mixed Wizard。

① 目標應用嚮導 - Target Wizard

只能在指定的ANSYS中目標應用中啟動,如Mechanical、SpaceClaim、Fluent等;利用目標程序提供的腳本開發功能,在應用中仿真嚮導界面中提仿真流程的指導。② 項目嚮導 - Project Wizard

僅在ANSYS Workbench項目標籤頁中執行,通過後臺調用組件模塊,不會單獨打開與之交互;通過Workbench腳本開發可以將任何數據集成應用程式集成到嚮導中,如Fluent、CFX、DM、SCDM、Mechanical等;③ 混合嚮導 - Mixed Wizard

在ANSYS Workbench項目標籤頁和一個或多個支持腳本功能的目標應用程式中執行;混合嚮導在Project標籤頁和目標應用程式中都提供了本地仿真嚮導,而且支持在目標應用中進行界面交互。結合了項目嚮導和目標應用嚮導的功能,提供全流程的仿真流程的封裝與定製。仿真嚮導也可同時用於Workbench和獨立應用程式:僅Workbench應用環境下:

DesignModelerMechanicalWorkbench和獨立應用程式:

SpaceClaimFluent、Fluent MeshingElectronics Desktop4、Wizard嚮導定義Wizard完全是ACT插件的一部分,在定義Wizard時也需要定義構成插件的常用組件。

Wizard結構組成Wizard需要的定義插件的XML文件和其引用的IronPython腳本:① 與標準ACT插件所需相同,並使用相同的XML和IronPython語法;② 可選的自定義幫助文件

包含文本、圖像、圖標或其他控制項類型的HTML文件,用於為Wizard提供詳細使用說明;對於Wizard,幫助文件可以儲存在插件目錄中的任何文件夾中;執行嚮導時,文件內容將顯示在嚮導的交互界面中。5、XML文件定義ACT有自己的XML標記,開發Wizard嚮導需要完成以下標籤元素的定義。(1)<extension>元素定義<extension>為ACT中XML文件的根元素,包含以下的屬性:name、version、icon、minorversion;<extension>標記間可添加子元素(element):

<guid>:表示插件的唯一標識符;<author>和<description>出現在摘要信息;<script>:插件中使用的IronPython腳本文件;<interface>:定義應用程式上下文,指定工具欄(toolbar)的位置,還能指定圖像文件夾;<uidefinition>:自定義布局和嚮導面板;<wizard>:包含所有步驟(Step)的控制元素;<simdata>:可選的,如果除了嚮導本身之外還需要其他自定義功能,則使用該元素。<extension>標籤及其元素

(2)<wizard>元素定義<wizard>元素中包含以下屬性和子元素,包括如下:① 強制性屬性

name-嚮導名稱、version-嚮導版本號、 context-嚮導上下文context屬性定義wizard啟動的位置,如Project Wizard定義為Project;如果為Mixed Wizard定義為「Project」,然後在Step中再定義context② 可選屬性

caption:嚮導標題、layout:嚮導布局、icon:嚮導圖標(.png,.bmp等格式)嚮導圖標需提前指定所在地址,通過定義<interface>元素中<images>屬性<description>:描述Wizard功能,<step>:定義仿真步驟,是嚮導中最核心部分

<wizard>標籤及其元素(3)<step>元素定義<step>元素包含以下屬性:

強制屬性:name-步驟名稱、version-步驟版本可選:caption-步驟標題、HelpFile-幫助文件<step>中包含以下子元素:

<description>:步驟功能描述<callbacks>:執行步驟時調用的回調函數<property>和<propertygroup>:定義實現回調函數時需輸入的屬性或屬性組,是<step>中的最關鍵的元素,提供外界與ACT插件交互的控制項。

<step>標籤及其元素

<step>元素中定義內容與嚮導顯示效果的對應關係如下:

<step>元素與界面對應關係

(4)Property元素定義在<step>元素中插入<property>元素來創建步驟的屬性,<property>輸入類型由control屬性定義,常用的control類型如下:

fileopen:選擇文件folderopen:選擇文件夾integer:整數輸入框text:文本輸入框float:數字輸入框select:屬性選擇框scope:幾何選擇框tabulardata:表格數據property>元素及其屬性6、回調函數Callbacks在ACT開發中,我們通過指定XML中的回調函數來綁定界面事件,回調函數需定義在對應的IronPython腳本中。嚮導(Wizard)中每個步驟(Step)中可以包含3種類型的回調函數;

onupdate:單擊Next按鈕時調用此回調函數;在最後一步時,單擊Finish按鈕也會調用它。例如,創建項目組件系統,執行組件中IronPython腳本命令等。onrefresh:每次刷新嚮導面板的UI時都會調用此回調函數。例如,用來繪製圖形。onreset:用於在一個步驟中刪除和重置操作時。用於在一個步驟中刪除和重置操作,單擊Back按鈕時調用它;回調需要在步驟N中定義,並且單擊步驟N+1的Back按鈕時將調用它。上述三個回調函數中:onupdate回調是必需的,其他兩個是可選的。每個回調函數中都只使用一個參數step:表示當前步驟;我們可以通過訪問step對象的Properties屬性訪問輸入控制項屬性值,如下。

回調函數定義

7、ACT插件加載

定義好XML文件、IronPython腳本以及其他幫助和圖標文件後,需要將腳本文件通常放在與XML文件同名的文件夾中,如下結構。

然後在Workbench或者是目標應用中打開ACT Start Page,首先點擊<Manage Extension>按鈕,然後點擊設置按鈕,激活Debug模型,選中插件文件所在文件夾,這樣腳本化的插件就會導入插件管理面板。

接下來點中插件圖標加載,然後回到ACT Start Page後,點擊<Launch Wizards>按鈕後,選中嚮導加載。8、ACT插件編譯插件加載運行無誤後,就可以對腳本化插件進行編譯生成二進位文件,生成的.wbex文件我們可以用於安裝、傳播或者是上傳到ANSYS App Store售賣。

三、如何上手ACT插件開發

1、開發實施路線以ACT仿真嚮導的開發為例,整體可以分為IronPython腳本開發和XML界面開發兩個階段;實際上所有的ANSYS產品的仿真嚮導開發都是遵循相同的路線流程。此外,另外兩種類型的ACT插件開發路線亦是如此。

2、核心能力要求對於ACT插件開發來說,我們需要掌握XML界面開發和IronPython腳本開發技術;XML界面開發相對簡單,主要的難度和工作量都集中在IronPython腳本開發。因為即使不太熟悉XML數據結構,我們也能通過ANSYS提供的App Builder或者是Workflow Designer工具來進行可視化的ACT界面設計。當然熟悉ACT中XML數據結構能更好幫助我們快速去自定義界面。

ANSYS APP Builder 工具

只有界面是不行的,還需要實現仿真功能,不然插件就只是一個空殼子,中看不中用。在ACT開發中,腳本負責實現ACT插件的仿真功能、界面交互、流程封裝,是整個開發環節中最核心的部分。部分ANSYS產品雖然支持腳本或者宏錄製,如Fluent、Workbench、SCDM等,但是其錄製的基礎腳本存在諸多局限性,無法進行後續的插件開發,這就需要我們要熟悉腳本語言相關知識,了解其數據結構,理解軟體API,才能通過腳本開發去實現我們所需的仿真功能。所以進行ACT插件開發的關鍵是需要熟練掌握ANSYS軟體腳本開發的知識。3、如何去學習腳本開發是ACT插件開發的關鍵,建議把主要精力放在此部分的學習上,需要做到以下幾個方面:(1)首先,如何你不熟悉ANSYS腳本的話,建議先了解軟體腳本相關知識,可以參照本人在仿真秀專欄發布的文章(識別文末二維碼即可關注我的專欄)

SCDM腳本開發:《SCDM二次開發快速入門|應用+技巧》Mechanical腳本開發:《學好ANSYS ACT,輕鬆上手Mechanical腳本自動化》Fluent腳本開發:《重用腳本方法,快速入門和上手Fluent腳本自動化開發》Workbench腳本開發:《基於Python的Workbench開發指南+案例解析》與《Workbench開發指南:仿真流程集成》其他產品模塊的腳本開發方法正在整理,陸續會進行發布(2)如果你已具備腳本語言基礎,可以多閱讀相關API開發文檔,多將理論知識付諸於實踐中。

如幫助文檔中《Customization Suite》部分包含DesignModeler、Mechanical、Workbench等腳本開發幫助,也包含ACT開發的API文檔;Fluent的腳本可以參考文檔中的《Text Command List》部分內容;SCDM的API開發文檔可以參照其安裝目錄下:《API_Combined_Class_Library》中內容

上述幫助文檔雖然囊括了ANSYS產品二次開發所需知識儲備,但是API文檔接口基於.NET框架編寫,而腳本是基於Python語言編寫,二者在語法和數據結構上有很大不同;而且幫助文檔內容比較零散,API方法介紹比較簡單,又沒有針對案例練習,很難系統去學習掌握,對於初學者來說使用開發文檔難度非常大。

(3)如果你已經掌握ACT開發的技術,可以打開軟體中ACT啟動界面,然後下載官方提供的案例文件,直接閱讀源碼去學習是最好的方式。如果你還沒有掌握,推薦您關注我在仿真秀獨家發布的系列精品課程,帶你快速上手ACT仿真嚮導開發全流程。

四、我的精品課《SCDM腳本建模和二次開發20講》

為了大家更好掌握SCDM腳本建模及ANSYS產品的二次開發,自2019年12月25號起,我已在仿真秀平臺獨家首發《Python語言在ANSYS的應用20講-掌握SCDM腳本建模及ACT二次開發能力》

相關焦點

  • ANSYS 16.1推出雲端企業仿真
    ANSYS(NASDAQ: ANSS)近日推出了ANSYS®16.1和ANSYS®Enterprise Cloud™,其客戶現在能為更多工程師部署企業特定的一致性仿真工作流程和數據,而不再受地理位置或業務部門的限制。
  • 基於ANSYS17.0的嵌入式軟體開發與仿真
    基於ANSYS17.0的嵌入式軟體開發與仿真 佚名 發表於 2017-11-22 09:58:01 ANSYS期望仿真研發平臺能夠跨越所有物理領域和仿真類別,將用戶的工程仿真體驗和產品開發結果改善10倍、用戶的設計流程性能提升
  • ANSYS發布新一代工程仿真解決方案17.0版本
    ANSYS致力於通過工程仿真幫助客戶改善產品開發流程,以提高關鍵業務參數,並在激烈競爭中遙遙領先。我們在開發新版仿真平臺時設定的目標是全面改善客戶的產品開發流程,實現10倍的改進。」       HyperloopTechnologies的設計和分析副總裁Josh Giegel指出:「HyperloopTechnology正以接近於音速的速度實現安全可靠的地面交通運輸。
  • ANSYS發布旗艦新版本:工程仿真軟體ANSYS 15.0
    · 機電系統/電路仿真器Simplorer與自動嵌入式代碼生成器SCADE Suite(r)之間實現了仿真數據的交換,為優化控制系統軟硬體之間的相互作用構建了協同設計環境,消除硬體開發和軟體開發之間的障礙,從而 在設計階段早期對機械和控制軟體的集成進行仿真驗證,確保系統工作的可靠性。
  • 南寧ansys正版軟體
    南寧ansys正版軟體,公司自2003年成立以來,始終本著「服務客戶,信譽第一,技術領先,精益求精」的經營理念,服務於兩岸三地客戶,跨電信、金融、政府、能源、製造、醫療、教育等諸多行業。
  • ANSYS 19.2全系列產品幫助您更快速高效地解決問題
    ANSYS 19.2推出了面向多物理場仿真的System Coupling 2.0。System Coupling 2.0提供更出色的穩定性能,能夠滿足任何情境的需求,而且針對原始引擎版本提供了全面認證。用戶能利用高性能計算(HPC)資源進行多物理場仿真並快速映射數據。此外,19.2還提供了改進的文本驅動的工作流程。用戶受益於文本驅動的工作流程,能更方便地啟動和重啟流固耦合分析並利用HPC集群。
  • 滄州ansys正版軟體購買價格_蘭吉德電子價值高
    滄州ansys正版軟體購買價格, Premium 是一款全面的 3D 設計解決方案,它在 SOLIDWORKS Professional 的基礎上增加了功能強大的仿真、運動和設計驗證工具、高級線纜和管道布線功能、逆向工程功能等很多其他內容。用戶可以使用我們豐富的仿真功能,根據真實運動和力來測試產品性能。使用公差疊加分析工具確保可製造性並在設計過程的早期解決複雜的裝配體問題。
  • ANSYS 16.0 高頻仿真全新科技大揭秘
    帶加密功能的組件庫模型實現整個設計鏈中實現協作:帶加密功能的組件建模可讓用戶將其組件模型加密,從而在組件設計人員和系統集成人員之間進行共享。這 樣不僅能夠以比S參數級聯法更高的精確度分析各組件之間的電磁相互作用,而且還可保護其產品的智慧財產權。這對於天線和高速連接器等其它組件由RF工程師開 發,對於RF設計(比如說物聯網無線集成)經驗不多的設計人員大有裨益。
  • Ansys新一代SPDM:通往仿真協同創新的必由之路
    在此背景下,催生了企業對於統一的、便於協同的企業級仿真流程與數據管理平臺的需求,SPDM(Simulation Process and Data Management)應運而生。 作為全球工程仿真領域的領導者,Ansys一直致力於領先仿真技術的開發,並具有完整的仿真產品線。
  • Ansys Discovery仿真新技術
    Ansys Discovery擴展了Ansys Discovery Live提供的開發功能。它在一個工具中結合了交互式實時仿真,高保真度的Ansys求解器技術和直接建模-推動跨團隊協作以高效地開發產品。
  • ANSYS工程仿真軟體將助力卡特彼勒實現創新產品設計
    ANSYS將大力提供仿真軟體,幫助卡特彼勒公司在統一工程仿真解決方案平臺上進行多物理場分析。 ANSYS軟體可幫助重型設備製造企業更好地解決業界最嚴峻的設計挑戰,同時為其客戶提供市場上最尖端的產品。       在設計流程中儘早採用仿真技術,有助於不同學科領域的工程師高效協作,實現更好的創新產品設計,而且無需手動處理數據,可有效避免延遲和錯誤。
  • 仿真秀專欄|Ansys Mechanical新功能與幫助學習文檔-附視頻教程
    作者 | 周炬仿真秀專欄作者首發 | 仿真秀App導讀:隨著Ansys Innovation大會完美收官,Ansys 2020R2新功能就成了學習型仿真工程師社群討論的主要的話題之一。據悉,在Ansys 2020 R2中,Ansys Mechanical提供增強的智能和高級非線性結構求解器,改進的工作流程以及更多:基於無參數變形的優化是對Ansys拓撲和晶格優化套件的補充。由於在解決方案迭代之間更有效地處理結果文件,在某些情況下,用戶還將看到性能提升高達50%。此外,機械簡化了焊接結構(例如汽車底盤框架)的仿真。
  • ANSYS 發布ANSYS Student版本,對全球學生免費
    ANSYS Student 軟體和License下載地址:http://www.ansys.com/Industries/Academic/Student+Product/Product+Download       目前被頂尖的組織機構和專業工程師用於打造全球最先進產品的業界領先工程仿真解決方案,正式向全球學生免費提供
  • java快速開發框架工作流程引擎比較
    為了快速高效地開發出WEB應用系統,我們一般都會選擇某些合適的快速開發框架,將對項目的效率至關重要。而java多用於企業應用。越來越多的企業和開發人員選擇java為了更好地幫助大家找到適合自己快速開發框架流程引擎, 快速地完成工作流引擎技術架構選型, 快速地完成項目交付。為了更好地幫助大家找到適合自己的流程引擎, 快速地完成流程引擎技術架構選型, 快速地完成項目交付。
  • 將仿真帶向大眾:COMSOL 發布最新版本,進一步提升開發仿真 App 的...
    作為多物理場建模、仿真及 App 設計軟體行業的引領者,COMSOL 公司今天正式發布了 COMSOL Multiphysics® 5.2 版本,為仿真業界帶來了全球獨有的仿真 App 全集成開發環境。最新版 COMSOL Multiphysics® 及 COMSOL Server™ 仿真軟體環境不僅提升了軟體的可靠性、穩定性及運行速度,還加入了多項新功能。
  • IDAJ帶您趣玩Ansys SPEOS曲面屏仿真
    Speos曲面屏仿真SPEOS軟體目前可以定義display source也就是顯示器光源,但該命令只能定義平面顯示器,所以我們需要用面光源的方式去實現發光面定義為全吸收,然後該曲面上定義面光源Offset面定義為全透過,然後在其表面通過貼圖的方式貼上需要顯示的界面
  • 「ANSYS 2012電機設計技術專題講座」即將四地開講
    助力電機行業轉型升級    當前,新材料和新技術的應用正極大地推動著整個電機行業的發展,與此同時,隨著計算機和數值計算技術的進步,基於電磁場的仿真分析和電機設計已經成為可能,並在國外被廣泛應用。但在我國,新品開發不足、開發周期長、產品質量不穩定、成本上漲以及人才缺乏等因素仍制約著電機企業的發展。
  • ANSYS 發布17.2版本
    得益於整個ANSYS工程仿真產品組合的發展,工程師現在能更方便、更快速、更低成本地打造新一代產品。今天推出的ANSYS 17.2提供一系列豐富的新功能,如增強型多物理場耦合、全新天線設計工作流以及面向電機的自動化溫度特性,不一而足。
  • ANSYS榮獲三項臺積電年度合作夥伴獎
    ANSYS幫助我們的客戶更自信、更快速地實現設計收斂。     ANSYS總經理John Lee指出:「通過業界領先的技術和市場領先地位,近年來我們為客戶提供了更大的價值,並極大地加快了創新步伐。這三項臺積電年度合作夥伴獎印證了我們的合作夥伴關係,並肯定了ANSYS在電子系統可靠性方面提供的價值。
  • ANSYS 19助力解決產品複雜性和提高生產力
    ANSYS(NASDAQ: ANSS)的新一代業界領先工程仿真技術可簡化工作流程,確保獲得準確結果,從而幫助用戶推出革命性的產品,同時降低成本,加快產品上市進程。ANSYS® 19幫助工程師以前所未有的快速步伐研發各種突破性產品,包括自動駕駛汽車、更智能的設備以及多電飛機等。     隨著數字和物理世界的不斷融合,產品也變得日益複雜。