AutoCAD结合MATLAB实现公式曲线曲面的精确绘制
作者:Simwe 来源:Autodesk 发布时间:2012-09-07 【收藏】 【打印】 复制连接 【大 中 小】 我来说两句:(0) 逛逛论坛运行后得到曲面图形,如图1所示。
图1 MATLAB中绘制的曲面
2)提取点坐标
在MATLAB的“Workspace”窗口中可以看到S是个1533×3的矩阵,即表示有1533个点的坐标,每个点有三个坐标参数,双击打开S,则弹出“Array Editor:S”窗口,窗口表格中的数字就是矩阵的数据。
先将全部数据复制到剪贴板,下面用Excel对坐标数据进行数据处理。
(2)利用Excel编辑曲面数据
打开Excel,将保存在剪贴板里的数据粘贴到Excel表格里,得到三列数据,每列1533行。其中,A、B、C列中的数据分别是曲面上各点的笛卡儿坐 标系中的X、Y、Z值,而在AutoCAD中的笛卡儿坐标系的点坐标的输入形式为“x,y,z”,所以我们需要对A、B、C列的数据间加个“,”。
方 法是:点选中D1(D表示第D列,1表示第1行)格,在公式栏里输入“=A1&","&B1&","&C1”后回车,再 将光标放到D1格的左下角,当光标变成黑色十字时,按住鼠标左键向下拖动,一直到D1533格,这时D列的数据格式已经变成了“X,Y,Z”,就可以被 AutoCAD正确读取了。复制D列数据到剪贴板后,就可以在AutoCAD中绘制曲面了,如图2所示。
图2 在Excel中编辑后的曲面数据
3.在AutoCAD中绘制曲面
在AutoCAD中运行3dmesh(三维网格)命令,命令行提示“Enter size of mesh in M direction: ”,输入“73”后回车,命令行提示“Enter size of mesh in N direction: ”,输入“21”后再回车,(即73×21的网格矩阵),然后在命令行中粘贴剪贴板中的数据,程序将自动运行,结束后就得到了马鞍形曲面,如图3所示。
图3 网格矩阵为73×21的马鞍形曲面
特别需要注意的是,在运行3dmesh命令时的网格矩阵一定要和MATLAB中的相同,否则将得到错误图形或运行出错。如果输入的网格节点数不等于1533,则命令运行出错;如果输入成21×73的网格,则命令执行结束后将得到错误的图形,如图4所示。