我们都知道在使用c++程序语言实现NURBS技术过程或者大量数据点实现曲面建模的时候,利用cad软件scr脚本可以在Autocad软件直观的观察曲面的变化,下面直接叙述编写过程。
下图是曲面点txt文件输出格式,输出形式以第1、2、43、42构成一个四边形面元,后续依次2、3、44、43......记住每个面元构成中没有空格,但是面元与面元之间必须要有空格,脚本以三个转行符号结束:
在脚本图标以及Autocad打开效果图:
c++代码实现过程,这里Z_bow代表曲面z向个数为41,X_bow为曲面x向个数为11,Horizon_position[j].Interpol[0][i],i=1、2、3为曲面的x、y、z坐标点,具体值跟你要表达的曲面点分布有关:
//***************************************************
//船首生成
//***************************************************
ofstream out1("船首.scr");
out1 << "pface" << endl;
for (j= 0; j <= X_bow; j++)
{
for (i = 0; i <= Z_bow; i++)
{
out1 << Horizon_position[j].Interpol[0][i] << "," << Horizon_position[j].Interpol[1][i]
<< "," << Horizon_position[j].Interpol[2][i] << endl;
}
}
for (i = 1, j = 1; i <= (X_bow)* (Z_bow); j++, i++)
{
if (j % (Z_bow + 1) == 0) j = j + 1;
out1 << endl;
out1 << j << endl;
out1 << j + 1 << endl;
out1 << j + 2 + Z_bow << endl;
out1 << j + 1 + Z_bow << endl;
}
out1 << endl << endl;
out1.close();
//*******************************************************************
out1.close();
//*******************************************************************
需要讨论或者有问题的志同者欢迎发邮箱chenshuai0614@hrbeu.edu.cn联系我!