用tecplot提取数据用于重构模型

本方法还有诸多不完善的地方,转换代码转换格式之后还是需要自己手动分割txt文件,如果数据量太大,手动操作很是辛苦。现在只能得到点的数据,如何重构几何还是问题,UG貌似可以,欢迎交流。

首先在tecplot当中导入模型的cas文件

然后

选择文件导出保存的位置:

打开刚才保存的文件,导出数据点的格式如下:

可采用下面的c++程序将tecplot导出的数据转换为DM可以接受的格式

源代码如下:

#include

#include

#include

 

using namespace std;

 

int main()

{

   fstream input;

   ofstream out("1.txt");

   string file_name;

   int number = 0;    //用于计数,因为DM每次最多只能一次性导入2000个点的数据

   int code = 0;

   string file_number;      //存储提取的数据当中每一行的数据

   string p;      //存储提取出来的数据

   cout << "请输入文件名:" << endl;

   cin >> file_name;

   file_name += ".txt";

   input.open(file_name.c_str());

   while (!input.eof())      //循环读取提取数据文件当中的每一行

   {

      getline(input, file_number);      //读取每一行元素作为字符串存入file_number变量当中

      if (file_number.length() == 0)

         continue;

      if ((number % 2000) == 0)

      {

         code++;

         number = 1;

      }

      else

         number++;

      out << code << " " << number << " ";

      for (unsigned int i = 0; i < file_number.length(); i++)

      {

         if (file_number[i] != ' ')

            p += file_number[i];      //读取到非空格字符即是数字,将元素作为字符串存入变量p

         if (file_number[i] == ' ')

         {

                out << p << " ";      //输出前面得到的矩阵元素

                p = "";      //将变量p重置为空,以便于存储下一个元素

         }

      }

      out << endl;

   }

   system("pause");

   return 0;

}

更改后的数据:

然后分批导入DM当中,导入结果:

posted @ 2016-04-24 01:31  硫酸亚铜  阅读(783)  评论(0编辑  收藏  举报