必须创建宏文件,如果对宏文件没有概念,看下面视频,对文件读写将有系统认识。
不创建宏文件,直接复制读取命令流不能实现读取目的。(可在命令流里面创建宏文件)
ANSYS APDL系列教程15--文件写入与写出数据格式_哔哩哔哩-水哥ANSYS https://www.bilibili.com/video/av54393845/
对视频内容总结如下:
txt文件内容(6行5列)
*create,dataread,mac !创建宏文件,不出案件 *dim,AA,array,6,5 *vread,AA(1,1),data,txt,ijk,6,5 (5f3.0) *end !创建宏文件结束 dataread !运行宏文件 *status,AA !查看数组内容
首先*vread会按照一行一行的读取文件,读取后为11 12 13 14 15 16 17 18 19 20 21 ...
IJK表示存到数组的格式为:把读到的数据按列填充,每列填充的个数n1,在例子中为ijk,6,5中的6。最后数组AA为
*create,dataread,mac !创建宏文件,不出案件 *dim,AA,array,6,5 *vread,AA(1,1),data,txt,jik,5,6 (5f3.0) *end !创建宏文件结束 dataread !运行宏文件 *status,AA !查看数组内容
JIK表示存到数组的格式为:把读到的数据按行填充,每列填充的个数n1,在例子中为jik,5,6中的6。最后数组AA为:(与txt文本内容一样)
注:如果(5f3.0),改为(4f3.0),则读取到的内容为11 12 13 14 16 17 18 19 21 ...
*Create,datawrite,mac !创建宏文件 *cfopen,filename,txt *do,i,1,100 aa = variable(i) *vwrite,aa (5f3.0) *enddo *cfclose *end !创建宏文件结束 Dataread !运行宏文件
finish /clear /prep7 *dim,nodenum,array,20,5 !定义20*5的数组并赋值 *do,i,1,20 *do,j,1,5 nodenum(i,j) = i+j *enddo *enddo *create,datawrite,mac ! 创建宏文件
*cfopen,ddx,txt *vwrite,nodenum(1,1),nodenum(1,2),nodenum(1,3),nodenum(1,4),nodenum(1,5) ! 视频内代码是不对的,改成这样是对的,但不知道为啥。 (5f8.2)*cfclose *end !结束宏文件的创建 datawrite !运行宏文件
原文:https://www.cnblogs.com/xdd1997/p/13939662.html