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

2020-12-14 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發布新一代工程仿真解決方案17.0版本
    ANSYS致力於通過工程仿真幫助客戶改善產品開發流程,以提高關鍵業務參數,並在激烈競爭中遙遙領先。我們在開發新版仿真平臺時設定的目標是全面改善客戶的產品開發流程,實現10倍的改進。」       HyperloopTechnologies的設計和分析副總裁Josh Giegel指出:「HyperloopTechnology正以接近於音速的速度實現安全可靠的地面交通運輸。
  • ANSYS發布旗艦新版本:工程仿真軟體ANSYS 15.0
    · 機電系統/電路仿真器Simplorer與自動嵌入式代碼生成器SCADE Suite(r)之間實現了仿真數據的交換,為優化控制系統軟硬體之間的相互作用構建了協同設計環境,消除硬體開發和軟體開發之間的障礙,從而 在設計階段早期對機械和控制軟體的集成進行仿真驗證,確保系統工作的可靠性。
  • ANSYS入門教程,我是如何ANSYS的
    工具/原料方法/步驟選擇一套系統的教程,快速入門對於ANSYS初學者來說,不建議自己在網上漫無邊際的去找資料學習,對於網上那些雜亂的教程,除非你的ANSYS水平達到一定程度,隨便看到一個視頻教程,你能快速的找到自己所要的東西。
  • java快速開發框架工作流程引擎比較
    為了快速高效地開發出WEB應用系統,我們一般都會選擇某些合適的快速開發框架,將對項目的效率至關重要。而java多用於企業應用。越來越多的企業和開發人員選擇java為了更好地幫助大家找到適合自己快速開發框架流程引擎, 快速地完成工作流引擎技術架構選型, 快速地完成項目交付。
  • 最詳細FPGA/CPLD開發流程快速入門指南-基於Altera QuartusII(1)
    一、概述本文以簡單的26位分頻器工程實例為藍本,從頭至尾演示工程建立的所有細節及注意事項,以便新手用戶快速掌握QuartusII的入門操作知識二、聲明本文以ALTERA QuartusII11.0版本進行演示,雖然是針對CPLD EPM240T100開發平臺所做的入門指導書,但這些流程對於FPGA設計是完全通用的。
  • 將仿真帶向大眾:COMSOL 發布最新版本,進一步提升開發仿真 App 的...
    作為多物理場建模、仿真及 App 設計軟體行業的引領者,COMSOL 公司今天正式發布了 COMSOL Multiphysics® 5.2 版本,為仿真業界帶來了全球獨有的仿真 App 全集成開發環境。
  • ANSYS 發布ANSYS Student版本,對全球學生免費
    ANSYS Student 軟體和License下載地址:http://www.ansys.com/Industries/Academic/Student+Product/Product+Download       目前被頂尖的組織機構和專業工程師用於打造全球最先進產品的業界領先工程仿真解決方案,正式向全球學生免費提供
  • ANSYS 發布17.2版本
    得益於整個ANSYS工程仿真產品組合的發展,工程師現在能更方便、更快速、更低成本地打造新一代產品。今天推出的ANSYS 17.2提供一系列豐富的新功能,如增強型多物理場耦合、全新天線設計工作流以及面向電機的自動化溫度特性,不一而足。
  • 日本迷你仿真機器人,幫助「小白」快速上手編程
    只要對機器人有好奇心,也許就有令人興奮的新工具來讓一個之前的「小白」用戶來快速上手機器人編程。今天介紹一個從日本來的小機器人,PLEN:bit,它是一個小型的仿真機器人,可以移動胳膊和退,通過機載傳感器和編程,可以自如控制它運動。
  • AIM—能讓所有工程師都輕鬆使用的仿真中文平臺
    可是,老牌的CAE軟體好難學的啊(半路出家做CAE的就不說了),界面又是全英文的.針對這個情況,ANSYS推出了解決方案:AIM中文版。啥都先別說,先來看看分析全過程的界面吧。顯示了流體力作用下的閥杆變形直觀的用戶體驗ANSYS AIM提供現代化的直觀用戶體驗,使所有工程師都能在整個產品開發過程中根據仿真制定設計決策。該用戶環境為仿真新手和臨時用戶簡化了單個物理場、多個物理場以及多場耦合的仿真設置、運行與結果評估流程。AIM的仿真流程核心是仿真過程模板。
  • 免費試用 | Ansys LS-DYNA 學生版現已開放下載(含12個月許可證)
    新開放的這款產品可幫助學生學習有關顯式仿真的核心設計和工程技能,作為Ansys學生產品的新增版塊,現可從官網ansys.com/student 中免費下載。 數十年來,LS-DYNA一直是汽車行業對碰撞與乘客安全進行仿真的黃金標準 Ansys LS-DYNA是一款通用有限元軟體,用於仿真材料在短時高強度載荷下的響應,它是極為常用的顯式程序,使用顯式時間積分求解非線性
  • Ansys學生版軟體下載量突破百萬
    隨著數位化轉型對工程的重塑,企業也越來越倚賴通過先進的仿真解決方案來應對巨大的設計挑戰,也更多地招聘擅長精通仿真工具的工程師。為了縮小各層級的技能差距,幫助企業加速創新,ANSYS持續通過課堂內外的形式與學生們互動。如今,來自87個國家3,200多所高校的教授和研究人員使用ANSYS軟體,他們把仿真帶進課堂,為學生帶去實際動手操作的學習體驗。
  • BIM全專業系列入門教程22套,帶你快速上手
    BIM全專業系列入門教程22套,帶你快速上手BIM技術是一種多維(三維空間、四維時間、五維成本、N維更多應用)模型信息集成技術,可以使建設項目的所有參與方(包括政府主管部門、業主、設計、施工、監理、造價等)在項目從概念產生到完全拆除的整個生命周期內都能夠在模型中操作信息和在信息中操作模型,從而從根本上改變從業人員依靠符號文字形式圖紙進行項目建設和運營管理的工作方式
  • ANSYS 2021 R2軟體安裝教程
    ansys products 並不是一個軟體,而是一個全面的軟體套件,包括了ANSYS Mechanical、ANSYS CFD、ANSYS HFSS、ANSYS Mechanical CFD Maxwell 3D、ANSYS Q3D Extractor等多個模塊,涵蓋了整個物理領域,提供了對設計過程所需的幾乎任何工程模擬領域的訪問,能夠在結構、流體、電磁、半導體、系統和認證軟體的仿真方面為用戶提供更好的操作體驗
  • ANSYS接觸和出圖技巧
    6.應力圖中左側的文字中,SMX與SMN分別代表最大值和最小值如你plnsolv,s,eqv則 SMX與SMN分別代表最大值等效應力和最小值等效應力如你要看的是plnsolv,u則SMX與SMN分別代表位移最大值和位移最小值不要被S迷惑mx(max)mn(min)7.在非線性分析中,如何根據ansys的跟蹤顯示來判斷收斂?
  • 在智能駕駛的開發中,為什麼仿真的作用越來越重要?
    編者按:《郭繼舜帶你讀汽車科技》旨在從第一性原理出發,嘗試撥開迷霧,解讀熱點背後的汽車科技真相。選擇好的執行器件非常重要,特別是 EPS,死區過大往往會讓你和工程師們有抱頭痛哭的衝動; 5. 智能駕駛開發,仿真平臺的作用愈發關鍵了,實車測試遇到典型場景的密度太低,造成測試效率數量級上的落後。
  • 電磁仿真設計的通用流程
    上篇文章我們簡單介紹了幾種被廣泛應用的三維電磁仿真軟體,本篇文章,我們介紹一下電磁仿真設計的通用流程。幾乎所有的電磁仿真流程都大同小異。之所以將仿真的流程放在前面說,而不是直接使用軟體進行仿真,目的在於,先讓大家宏觀了解一下仿真流程是如何進行的,然後再根據這個流程一步一步的學習,而我們後續的仿真都是基於這個思路,當然當你對軟體的使用很了解的時候,也可以不遵循這個步驟。下面我們分步驟介紹一下:一、理論分析。
  • ANSYS Mechanical在焊接仿真中的應用
    ANSYS作為世界知名的通用結構分析軟體,提供了完整的分析功能,完備的材料本構關係,為焊接仿真提供了技術保障。文中以ANSYS為平臺,闡述了焊接溫度場仿真和熱變形、應力仿真的基本理論和仿真流程,為企業設計人員提供了一定的參考。
  • 中望電磁仿真2019:建模和仿真界面無縫切換真是太友好了
    大部分國外CAE軟體對使用者的要求較高,且無中文版本,於國人而言,學習難度大,上手慢,甚至會影響到工作效率。功能區劃分有序,界面簡潔友好中望電磁的用戶界面劃分為CAD和CAE兩個工作環境,用戶在CAD環境中可通過相關的建模功能菜單快速完成模型的建立,而在CAE環境中能夠便捷地設置仿真參數,兩個工作環境做到無縫切換。
  • 最新2021年鼎捷易助ERP8.0.9系統軟體全功能模塊無限人版可制定授權模塊和人數
    最新2021年鼎捷易助8.0.9全功能模塊無限人版,包括了易助全功能模塊無限人數,即可同時登錄999人操作易助ERP系統!可根據你們要求制定授權模塊、授權人數、授權公司名稱,可以免插加密狗或帶狗都能註冊!更詳細介紹,請點擊文末「閱讀原文」按鈕或掃下面二維碼直達: