标签:
ABAQUS Command 技巧
现在需要用到DOS的地方不多了,不像原来当网络管理的时候,经常需要在Command窗口里面敲呀敲的。但是最近用到Abaqus,因为不想在CAE界面里面提交任务,本本内存只有512M不够用,只好先输出input file,关掉CAE界面窗口释放一部分内存空间,然后再在Abaqus Command窗口中提交任务。这样子任务运行结果可以通过type yourjob.sta 命令来查看。原来在linux下面用less命令查看sta文件功能更加强大,每当sta文件有变化的时候,就会把变化的结果动态显示出来。我也想在 DOS Command界面下实现这个功能,这样我就可以动态查看sta文件的变化,而不用隔几分钟自己手动输入type命令一次。
需要用到的也就是一些DOS Command命令,写一个display.bat文件如下:
@echo off
break off
type job-tandemmill.sta>temp
ping -n 3 127.0.0.1>nul
:loop
set count=
:ten
type job-tandemmill.sta>newtemp
ping -n 3 127.0.0.1>nul
FC newtemp job-tandemmill.sta | FIND “FC: Keine Unterschiede gefunden” >nul
if errorlevel 1 FC temp job-tandemmill.sta
set count=%count%1
if not “%count%”==”1111111111″ goto ten
fc temp job-tandemmill.sta | FIND “FC: Keine Unterschiede gefunden” >nul & type newtemp>temp
if errorlevel 1 goto loop
echo.
break on
注释:
@echo off //命令开始
break off //关闭中断
type job-tandemmill.sta>temp //把job-tandemmill.sta文件内容输入到临时文件temp中,为了后面比较用
ping -n 3 127.0.0.1>nul //延时两秒钟
:loop //循环开始
set count= //设置计数器
:ten //内部循环十次,为了防止短时间内sta文件没有任何变化
type job-tandemmill.sta>newtemp
//把job-tendemmill.sta文件内容输入到新的临时文件newtemp中,为了内部比较用
ping -n 3 127.0.0.1>nul //延时两秒钟
FC newtemp job-tandemmill.sta | FIND “FC: Keine Unterschiede gefunden” >nul
//比较newtemp文件和新的job-tandemmill.sta文件
if errorlevel 1 FC temp job-tandemmill.sta
//如果两个文件不一样输出temp文件和job-tandemmill.sta不同的部分
set count=%count%1 //计数器增加1
if not “%count%”==”1111111111″ goto ten //如果还没有达到十次返回循环十次
FC temp job-tandemmill.sta | FIND “FC: Keine Unterschiede gefunden” >nul & type newtemp>temp
//比较temp文件和新的job-tandemmill.sta文件,然后把新的newtemp文件内容copy给temp
if errorlevel 1 goto loop //如果temp和job-tandemmill.sta内容不同则循环,否则退出循环
echo. // 什么都不输出
break on // 退出程序
需要改进的地方:
其中延时两秒的部分不是很精确,而且这种循环对计算机cpu占用也比较大,经常调用ping命令不是很好的选择。只能暂时这样用了。
如果大家有什么改进的想法,大家不妨一起交流一下。
系统分类:
CAD与CAM | 用户分类:
创新设计 | 来源:
转贴