本方法还有诸多不完善的地方,转换代码转换格式之后还是需要自己手动分割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当中,导入结果: