Workbench作为广大工程师使用较为频繁的软件,其操作性不言而喻,水哥作为使用ANSYS经典多年的烧友,很多时候苦于某些模型的功能无法完全用WB中的功能来替代,尤其是某些自己编写的Mac宏文件,如需要采用*Vread命令读取部分荷载数据 或者用*write命令写出部分数组,我们知道*vread和*vwrite命令都不能是直接采用命令流调用的,只有通过宏文件方式调用,所以这个时候就面临着如何采用WB调用采用APDL编写的宏文件问题。
虽然WB中可以输入命令流,有的时候毕竟没有调用宏文件便捷,同时也方便携带和修改,并且WB中插入的命令流很多时候也容易被覆盖,下面说说如何在WB中调用APDL宏文件。
APDL宏文件相关讲解可参考公众号以前的文章。
APDL 宏文件系列讲解(一)
APDL宏文件系列讲解(二)
APDL宏文件系列讲解(三)
以某悬臂梁的加载为例,来阐述具体调用方法,如下所以悬臂梁,顶部受均布荷载,荷载采用宏文件的方式加载,在WB中只给定固定端约束。

宏文件Hezai.mac的加载内容如下,目的是选择Y坐标为0的顶部节点,然后施加均布压力:
/prep7
allsel,all
nsel,s,loc,y,0
SF,all,pres,0.1
allsel,all
/solu
ANSYS经典调用宏文件的路径主要有三种:
1、在安装目录 /ansys_inc/v210/ansys/apdl 下,但水哥非常不建议把宏文件甩在这里,安装目录的内容最好不要动;
2、在经典的工作目录下,也即采用APDL Lasuncher定义的目录;

3、用户自定义目录。
在来说说WB计算的工作目录,WB计算的很多信息都保留在如下所示的路径下,其中MECH文件夹里面的内容非常重要,主要涵盖了模型的信息、计算错误信息、结果文件等,很类似于经典里面的工作目录功能。


所以很多同学可能会说,如果我把宏文件放在这个MECH文件夹内会不会调用宏文件呢,答案是否定的,因为每次计算的时候WB都会重新更新这个文件夹内容,也即全部文件都会被删除,然后重新写。
方法一:在WB中插入命令后,点击Commad, 然后点击右上角的Import,会一次性导入编写好的命令,这种其实也不叫完全调用宏文件,只是将宏文件的内容复制到了Command内容里面,这种方法无法解决*vread或者*vwrite之类必须采用宏文件调用的问题。

方法二:在插入命令流的界面,使用*Create和*End命令,重新生成mac文件,虽然每次更新计算的时候 MECH文件夹里面的内容会被更新,但同时Mac文件也是重新生成,所以能调用,如下所示。

返回MECH文件夹,可发现确实在文件内生了一个mac文件,但这种方式和直接复制命令流到Command里面差别不大,只是可以解决*Vread和*Vwrite的问题。

方法三:这种方法是水哥一直在使用,强烈建议各位使用的,就是使用自定义文件路径,无需依赖于WB的工作目录。
插入Command后,使用/PSEARCH命令自定义宏文件路径,注意该命令使用之前必须使用FINISH命令退出当前模块,所以在宏文件里面一定要使用/prep7、/solu、或者/post26等命令指定具体的模块。
注意该方法要求:宏文件所在文件夹的路径不能有中文,同时只能在求解阶段插入的Command中使用才有效。

WB中使用宏文件还有一个水哥认为是比较纠结的问题,所有荷载的施加都只能是基于有限元模型,而不能是几何模型,也即SFA、SFL、DA、DL等命令无效,而必须采用SFE、SF、D等命令,这一点大家需特别注意。

如果你还有更好的调用宏文件方式,欢迎留言一起讨论哦~
暂无评论内容