
發布
注冊
/
登錄APDL宏
關注創建者:ANSYS結構院 創建時間:2018-11-08

APDL宏的實例教程
長時間以來,水哥微信公眾號后臺陸陸續續收到各位童鞋對宏文件的疑惑,近期水哥就系統的給這部分童鞋講解下APDL宏文件的知識,總共三部分,第一部分講解宏文件的基本知識,第二部分講解無參數宏文件的創建,第三部分講解有參數輸入宏文件的創建。
一、【宏文件概念】
所謂宏文件,在ANSYS中是指記錄一系列頻繁使用命令的集合,以后綴名為mac的命令文件,通俗來講,宏文件就是一些命令的模塊化,通過對這個模塊重新命名,通過自定義ANSYS命令的方式集體調用,通常說的mac文件也即是指宏文件,宏文件一般放于工作目錄下。
二、【宏文件好處】
以水哥個人經驗來講,采用宏文件具有如下好處:
1、大幅度減少程序篇幅,增加程序可讀性。針對某些復雜且建模有規律可循的模型,例如網殼建模,中間有些步驟雷同,只是參數發生了變化,這時候如果不采用宏文件,整個命令流的篇幅得不到控制,最后會嚴重影響程序的可讀性。
2、提高程序的運行效率,僅僅針對建模
水哥曾做過比較,只針對建模,相比較于在文本軟件中寫好命令流采用復制運行的方法,同樣的命令流,如果以宏文件的方式運行,運行速度大約為前一種方式的3倍。當然這個沒有絕對,模型小也不會在意這點時間,但如果模型較大,構件復雜,這種方式就會顯示出他的優勢了。
3、某些特殊命令必須用宏文件執行
這里最典型的命令便是*Vread和*Write,這兩個命令APDL中規定必須采用宏文件調用的方式。
4、二次開發
二次開發基本就是宏文件的使用了,并涉及到各個宏文件之間的嵌套,對宏文件的使用能力要求較高。
展開 前期文章主要對APDL中的宏文件做了大概的介紹,這一節主要以一個實例講解如何創建宏文件。前文也說到,常見的創建方法主要分為外部創建和內部創建,水哥個人建議當模型較為簡單時可采用外部創建方式,任何時候都宜采用內部創建的方式,也即采用*create 命令創建宏文件,這樣能保證整個APDL程序具有連續性、可讀性。
本文實例為一個常見地下二襯結構的內力計算,計算完后,我們需要利用單元表提取結構的彎矩圖、剪力圖和軸力圖,由于結構設計需要,我們在查看結果時可能經常需要在各個內力圖之間相互切換,如果一直采用命令復制運行的方式進行,將會很不方便,因而此處建立查看內力圖、彎矩圖和軸力圖的宏文件,后續反復查看時,只需要輸入相應的命令即可。
二襯結構計算命令流如下:
finish
/clear
/prep7
et,1,beam188
et,2,link10
keyopt,1,3,3 !形函數設置
keyopt,2,3,1 !單向受壓
!===============================
!單元截面定義
!底部/頂部截面
BB=0.35 !梁寬
HH=1 !梁高
!側墻截面
BB1=0.35 !梁寬
HH1=1 !梁高
!中部墻體截面
BB2=0.3 !梁寬
HH2=1 !梁高
!===========================
B=7.9 !綜合管廊長度
H=2.85 !綜合管廊高度
L1=2.825 !雙艙室左邊艙室長度
L2=1.9 !
展開 并且通過查詢資料,即使在APDL經典界面中對與體單元也是僅僅只能輸出體積(沒有體單元表面的輸出);并且對與FKM特征尺寸的一般計算公式中,關于表面積A,也并不是指每個體單元所有面的表面積的總和。而是只需要所有選中體單元的外表面和,對與中心區域的體單元其表面積不參與特征尺寸的計算。這就進一步降低了由體單元直接獲得有效表面積的可能性。
解決方法:
筆者這里使用一種較為笨的方法進行選中體單元的特征尺寸提取方法:
1. 在Workbench界面,根據用戶在圖形窗口選定的網格體單元。由腳本程序依次提取,每個單元的角點數量和位置坐標;
2. 再由Workbench中python腳本調用ADPL經典界面,并自動運行特征值提取宏命令;
3. APDL宏命令會,根據Workbench選中單元體信息,依次由每個單元體的角點坐標,創建實體單元;
4. 再將實體單元合并,最后獲得幾何體積和表面積,并輸出。
5. 由Workbench腳本,讀取APDL宏輸出的幾何信息,并顯示。
展開 ==========
關于宏文件的系列講解就到這兒,當然這里講的都是最基本的,但萬變不離其宗,實際工程中很多巧妙用法其實都是源于對基本概念的理解與提升,作為剛學習APDL的人員,把握好基本命令的使用才是提升個人能力的捷徑。
祝好
ANSYS結構院
2018.11.08
目
錄
第一章 APDL是什么?

APDL宏的相關專題、標簽、搜索
APDL宏的最新內容
APDL宏命令會,根據Workbench選中單元體信息,依次由每個單元體的角點坐標,創建實體單元;
4. 再將實體單元合并,最后獲得幾何體積和表面積,并輸出。
5. 由Workbench腳本,讀取APDL宏輸出的幾何信息,并顯示。
17、在使用宏文件過程中,建議提前在APDL中運行宏文件,確保能正確讀入后在調用宏文件。
18、為了實時觀測插入APDL命令運行的效果,學員可通過拖入一個APDL模塊來進行查看,注意拖入的APDL模塊,一定要講過setup,這樣插入的命令流才會有效果。
可以利用APDL做一些宏,能夠大大降低勞動強度。簡單點,結合name selection也能處理很多東西。當時十分羨慕一些工程師,在記事本上就可以開始CAE分析了。現在也羨慕。
Workbench的友好界面讓工程師很難再接觸到APDL了。我現在也是基本上不用。Python語言的發展讓編程更加友好,且無縫銜接嵌入Workbench。
APDL中的變量與其他編程語言一樣,具有全局變量、局部變量和系統變量之分,一般情況下,我們定義的變量為全局變量,也即定義變量后,在刪除變量或者退出ANSYS之前,該變量一直存在于內存中,可以隨時調用。而局部變量則一般用于宏文件中,其生命周期與宏文件的使用周期相同,當宏文件運行完畢后,宏文件中的局部變量都會在內存中消失,這里的局部變量包括兩種類型:
1、宏文件外部輸入的變量
前期文章主要對APDL中的宏文件做了大概的介紹,這一節主要以一個實例講解如何創建宏文件。前文也說到,常見的創建方法主要分為外部創建和內部創建,水哥個人建議當模型較為簡單時可采用外部創建方式,任何時候都宜采用內部創建的方式,也即采用*create 命令創建宏文件,這樣能保證整個APDL程序具有連續性、可讀性。
長時間以來,水哥微信公眾號后臺陸陸續續收到各位童鞋對宏文件的疑惑,近期水哥就系統的給這部分童鞋講解下APDL宏文件的知識,總共三部分,第一部分講解宏文件的基本知識,第二部分講解無參數宏文件的創建,第三部分講解有參數輸入宏文件的創建。
利用VB.Net文本處理函數以文本追加的方式將界面輸入的參數讀入到進行分析所必需的APDL文本文件中,實現為APDL參數宏文件中的宏參變量賦值。從而組合成供VB.Net調用的ANSYS命令流文件。具體實現過程如下。
1)在人機交互前處理頁面輸入分析所需參數,并保存到文本文件中。
APDL
40
4.1 什么是APDL宏
40
4.2 產生宏
40
4.2.1 宏文件命名規則
40
4.2.2 宏的搜索路徑
41
4.2.3 在ANSYS 中生成宏
42
4.2.3.1 使用*CREATE
42
4.2.3.2 使用 *CFWRITE
42
4.2.3.3 使用Utility Menu>Macro>Create Macro
43
4.2.4 用文本編輯器生成宏
43
4.2.5
使用函數邊界條件加載及其應用實例
第十章矢量與矩陣運算
10.1矢量與矩陣運算設置
10.2矢量運算
10.3矩陣運算
第十一章內部函數
第十二章流程控制
12.1*GO無條件分支
12.2*IF-*IFELSE-*ELSE-*ENDIF條件分支
12.3*DO-*ENDDO循環
12.4*DOWHILE循環
12.5*REPEAT重復一個命令
12.6流程控制命令快速參考
第十三章宏文件與宏庫
13.1APDL
使用函數邊界條件加載及其應用實例
第十章矢量與矩陣運算
10.1矢量與矩陣運算設置
10.2矢量運算
10.3矩陣運算
第十一章內部函數
第十二章流程控制
12.1*GO無條件分支
12.2*IF-*IFELSE-*ELSE-*ENDIF條件分支
12.3*DO-*ENDDO循環
12.4*DOWHILE循環
12.5*REPEAT重復一個命令
12.6流程控制命令快速參考
第十三章宏文件與宏庫
13.1APDL