一个简单的C++代码,可以生成tecplot的脚本文件,打开文件就能自动绘图。绘图过程是先把文件导入,然后镜像,最后生成一个动画,但是导入的文件名称要求是有规律的。
/*
** This program is used to create macro command file
** execute the file to draw picture automatically
*/
#include <iostream>
#include <fstream> using namespace std; int main()
{
cout << "Hello world!" << endl;
ofstream fcout;
fcout.open("macro_new.mcr");
string file_name_num;
cout<<"enter the file name number:"<<endl;
cin>>file_name_num;
cout<<"enter end file number:"<<endl;
int first_file_number();
int zero_file_number ();
int end_file_number();
cin>>end_file_number;
end_file_number+=zero_file_number; int incre_num = first_file_number - zero_file_number;
int judge_num=(end_file_number-zero_file_number)/incre_num+;
if (judge_num%)
judge_num--; fcout<<"#!MC 1300"<<endl;
fcout<<"# Created by Tecplot 360 build 13.1.0.15185"<<endl;
fcout<<"$!VarSet |MFBD| = \'F:\\droplet\\vision"<<file_name_num<<"\\plt\'"<<endl;
fcout<<"$!READDATASET \'";
for(int i=;i!=judge_num;++i)
{
fcout<<"\"|MFBD|\\axissym_"<<zero_file_number+i*incre_num<<".plt\" ";
}
fcout<<"\'"<<endl;
fcout<<" READDATAOPTION = NEW"<<endl;
fcout<<" RESETSTYLE = NO"<<endl;
fcout<<" INCLUDETEXT = NO"<<endl;
fcout<<" INCLUDEGEOM = NO"<<endl;
fcout<<" INCLUDECUSTOMLABELS = NO"<<endl;
fcout<<" VARLOADMODE = BYNAME"<<endl;
fcout<<" ASSIGNSTRANDIDS = YES"<<endl;
fcout<<" INITIALPLOTTYPE = CARTESIAN2D"<<endl;
fcout<<" VARNAMELIST = \'\"X\" \"Y\" \"U\" \"V\" \"P\" \"fi\" \"C1\" \"C2\" \"C3\"\'"<<endl;
fcout<<"$!GLOBALCONTOUR 1 VAR = 5"<<endl;
fcout<<"$!CONTOURLEVELS RESETTONICE"<<endl;
fcout<<" CONTOURGROUP = 1"<<endl;
fcout<<" APPROXNUMVALUES = 15"<<endl;
fcout<<"$!FIELDLAYERS SHOWCONTOUR = YES"<<endl;
fcout<<"$!GLOBALCONTOUR 1 VAR = 6"<<endl;
fcout<<"$!CONTOURLEVELS RESETTONICE"<<endl<<" CONTOURGROUP = 1"<<endl<<" APPROXNUMVALUES = 15"<<endl;
fcout<<"$!VIEW FIT"<<endl<<"$!CREATEMIRRORZONES "<<endl<<" SOURCEZONES = [1-"<<judge_num<<"]"<<endl<<" MIRRORVARS = [1]"<<endl;
fcout<<"$!VIEW FIT"<<endl<<"$!EXTENDEDCOMMAND "<<endl;
fcout<<" COMMANDPROCESSORID = \'Strand Editor\'"<<endl;
fcout<<" COMMAND = \'ZoneSet=1-"<<judge_num<<";MultiZonesPerTime=TRUE;ZoneGrouping=Time;GroupSize=2;";
fcout<<"AssignStrands=TRUE;StrandValue=1;AssignSolutionTime=TRUE;TimeValue=0;TimeOption=ConstantDelta;DeltaValue=1;\'"<<endl;
fcout<<"$!EXTENDEDCOMMAND "<<endl<<" COMMANDPROCESSORID = \'Strand Editor\'"<<endl;
fcout<<" COMMAND = \'ZoneSet="<<judge_num+<<"-"<<*judge_num<<";MultiZonesPerTime=TRUE;ZoneGrouping=Time;GroupSize=2;";
fcout<<"AssignStrands=TRUE;StrandValue=1;AssignSolutionTime=TRUE;TimeValue=0;TimeOption=ConstantDelta;DeltaValue=1;\'"<<endl;
fcout<<"$!RemoveVar |MFBD|"<<endl; fcout.close();
return ;
}