Ansys輸出結點坐標-位移-單元信息到txt文件


 結點坐標 

! ========== Creat Date: 2021-03-13 ==========
! ========== Author: xdd1997        ==========
! ========== Email: xdd2026@qq.com  ==========
! 輸出結點坐標
/post1
allsel
csys,0
*get,nodeNumAll,node,0,count     ! 獲取總結點數目
*get,nd,node,0,num,min           ! 獲取結點最小編號
*dim,nodeInfo1,array,nodeNumAll,4 ! 定義數組,nodeNumAll行5列
*do,i,1,nodeNumAll,1             ! 遍歷nodeNumAll次,每次i=i+1
    nodeInfo1(i,1)=nd
    nodeInfo1(i,2)=nx(nd)
    nodeInfo1(i,3)=ny(nd)
    nodeInfo1(i,4)=nz(nd)
    nd=ndnext(nd)                ! 取得當前選擇集中大於nd的下一個節點編號
*enddo

*create,dw62,mac       ! 創建宏文件
*cfopen,node_Info_coord,txt
*vwrite,nodeInfo1(1,2),nodeInfo1(1,3),nodeInfo1(1,4)      !寫出信息到文件
(4F25.10)
*cfclose
*end                   !結束宏文件的創建
dw62                   !運行宏文件

 

 結點位移 

! ========== Creat Date: 2021-03-13 ==========
! ========== Author: xdd1997        ==========
! ========== Email: xdd2026@qq.com  ==========


/post1
allsel
*get,nodeNumAll,node,0,count     ! 獲取總結點數目
*get,nd,node,0,num,min           ! 獲取結點最小編號
*dim,nodeInfo2,array,nodeNumAll,5 ! 定義數組,nodeNumAll行5列
*do,i,1,nodeNumAll,1             ! 遍歷nodeNumAll次,每次i=i+1
    nodeInfo2(i,1)=nd
    nodeInfo2(i,2)=ux(nd)
    nodeInfo2(i,3)=uy(nd)
    nodeInfo2(i,4)=uz(nd)
    *get,nodesum,node,nd,u,sum   ! 提取節點的和位移
    nodeInfo2(i,5)=nodesum  
    nd=ndnext(nd)                ! 取得當前選擇集中大於nd的下一個節點編號
*enddo

*create,dw62,mac       ! 創建宏文件
*cfopen,node_displacement,txt
*vwrite,nodeInfo2(1,2),nodeInfo2(1,3),nodeInfo2(1,4),nodeInfo2(1,5)      !寫出信息到文件
(4F25.10)
*cfclose
*end                   !結束宏文件的創建
dw62                   !運行宏文件
 

 單元信息

! 輸出單元信息 solid45:8個結點
/post1
allsel
*get,elemNumAll,elem,0,count     ! 獲取總結點數目
*get,ed,elem,0,num,min           ! 獲取結點最小編號
*dim,elemInfo,array,elemNumAll,9 ! 定義數組,nodeNumAll行5列
*do,i,1,elemNumAll,1             ! 遍歷nodeNumAll次,每次i=i+1
    elemInfo(i,1)=ed
    *get,node1,elem,ed,node,1          !獲取單元的8個結點
    *get,node2,elem,ed,node,2
    *get,node3,elem,ed,node,3
    *get,node4,elem,ed,node,4
    *get,node5,elem,ed,node,5         
    *get,node6,elem,ed,node,6
    *get,node7,elem,ed,node,7
    *get,node8,elem,ed,node,8
    elemInfo(i,2)=node1
    elemInfo(i,3)=node2
    elemInfo(i,4)=node3
    elemInfo(i,5)=node4 
    elemInfo(i,6)=node5
    elemInfo(i,7)=node6
    elemInfo(i,8)=node7
    elemInfo(i,9)=node8
    ed=ndnext(ed)                ! 取得當前選擇集中大於ed的下一個單元編號
*enddo

*create,dw63,mac       ! 創建宏文件
*cfopen,elem_info,txt  ! 打開文件
*vwrite,elemInfo(1,2),elemInfo(1,3),elemInfo(1,4),elemInfo(1,5),elemInfo(1,6),elemInfo(1,7),elemInfo(1,8),elemInfo(1,9)       !寫出信息到文件
%10I %10I %10I %10I %10I %10I %10I %10I
!上面一行可以沒有空格,但是不能寫5%10I,也不能寫注釋
*cfclose               ! 關閉文件
*end                   ! 結束宏文件的創建
dw63                   ! 運行宏文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM