佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
CAD/CAM软件
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
AutoCAD结合MATLAB实现公式曲线曲面的精确绘制
作者:和平安 许焱平
欢迎访问e展厅
展厅
1
CAD/CAM软件展厅
CAD软件, CAD/CAM, CAM, 钣金CAD/CAM, CAI, ...
一、引言

用AutoCAD绘制平面公式曲线(如渐开线、心形线)、空间公式曲线(如螺旋线)以及公式曲面(如马鞍形曲面)是比较困难的,一般情况下,需要用AutoCAD开发程序编程,但多数程序比较复杂,尤其是公式曲面的绘制程序,需要多层嵌套循环,复杂且运行效率低。

快速且精确地绘制各种公式曲线、曲面恰恰是MATLAB的长项,但是MATLAB绘制的图形却不能直接用于机械零件设计。其中非常关键的一点,就是MATLAB绘制的曲线、曲面分别是由有限个点连接而成的折线和空间网格构成的,而在AutoCAD中绘制的曲线、曲面也是如此。因此,只需要把在MATLAB中绘制的公式曲线、曲面上所有的点坐标数据都提取出来,若能让AutoCAD正确识别,那么我们就可以在AutoCAD中精确地绘制这些曲线、曲面了。

本文介绍了一种快速、精确地绘制各种公式曲线、曲面的方法,即在AutoCAD中通过调用经过Excel处理的MATLAB数据实现。

二、AutoCAD和MATLAB的特点

MATLAB是非常优秀的科学计算、信号处理以及图形显示软件,它有自身的语言,与其他高级语言相比,MATLAB提供了一个人机交互的数学环境,并以矩阵作为基本的数据结构,可大大节省编程时间。另外,MATLAB不仅语法规则简单,容易掌握,调试方便,还可以存储中间结果,这使得MATLAB既可以快捷、精确地绘制各种公式曲线、曲面,又可以很方便地提取中间数据。

在工业设计领域,AutoCAD不仅被广泛应用于平面绘图,也可以用于三维建模,但在曲线、曲面造型方面不是很理想。它是开放型的人机交互系统,有多种语言接口,与外界的数据交换很灵活,这些特点使得它与MATLAB的结合成为可能。

三、结合MATLAB在AutoCAD中绘制曲线、曲面的原理及方法

1.原理

MATLAB中的矩阵数据虽然很容易提取,但由于它不是AutoCAD能识别的格式,因此不能直接被AutoCAD调用,需要先用Excel对从MATLAB中提取的数据进行编辑,转换成AutoCAD可以识别的格式,才能在AutoCAD中绘出曲线、曲面。

2.方法

由于在AutoCAD中绘制平面曲线、空间曲线和曲面的绘制命令不同,且数据结构也不同,因此结合MATLAB的绘制方法也稍有区别。这种绘制方法的关键就是把数据格式转换成AutoCAD的绘制命令所需要的数据格式,只要熟悉AutoCAD的数据结构,就可以举一反三。

在这三者中最复杂的是绘制公式曲面的数据结构,下面就以一个马鞍形曲面的绘制为例来介绍这种方法,数学模型如公式(1)所示。

(1)利用MATLAB得到公式曲面数据

1)在MATLAB中绘制出曲面

在MATLAB中输入如下命令:

[th,r]=meshgrid((0:5:360)*pi/180,0:.05:1); %在极坐标系下设置一个73×21的网格矩阵,即圆周方向分为73份,半径方向分为21份,总共分了1533个点,节点越多,图形越精确 %

[X,Y]=pol2cart(th,r); %转化为笛卡儿坐标系%
Z=X+i.*Y;
F=abs((Z.^4-1).^(1/4));
surf(X,Y,F); %显示曲面的立体图形%
S=[X(:) Y(:) F(:)]; %把X、Y、F 3个矩阵中的数据存储到矩阵S中%

运行后得到曲面图形,如图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所示。


图4 网格矩阵为21×73的错误图形

四、结束语

用这种方法得到的公式曲线、曲面不是贴图,而是实际绘出和AutoCAD图元,不仅可以在MATLAB中控制精度,还可以被用于进行各种相应发的命令操作,比如复制、镜像、拉伸放样、旋转放样或用鼠标直接拖动任意节点来调整图形等等。AutoCAD结合MATLAB实现公式曲线、曲面的绘制,加强了AutoCAD在曲线、曲面造型方面的功能,使其在辅助设计方面发挥更大的作用。

作者单位:河南理工大学(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (2/16/2006)
查看更多CAD/CAM软件相关文章: more
·迪卡侬利用欧特克衍生式设计重新构想 更轻、更强、更可持续的自行车 Autodesk (11/18/2020)
·NUM助力台湾机床公司,实现机器人专用渐开线齿轮和摆线齿轮的自动化生产 (5/18/2019)
·hyperMILL革命性五轴加工策略 让复杂工件加工时间的节省高达90% OPEN MIND (12/6/2018)
·ESPRIT助力上海泷泽在机床行业寒冬期逆势增长300% DP Technology (8/13/2018)
·小型数控铣床刀具路径(刀路)参数曲面粗精选择 newmaker (3/26/2018)
·线切割加工中电极丝的选用 (12/9/2007)
·新洲软件:让设计成为享受 新洲软件 (10/31/2006)
·用CAXA电子图板设计螺旋梯 河北辛集化工集团 赵静淼 (5/30/2006)
·基于CATIA系统的虚拟装配技术应用研究 newmaker (5/30/2006)
·UGNX在SMC成型覆盖件及其模具设计与CAM中的应用 王华侨 李新洲 许建明 (2/16/2006)
查看相关文章目录:
·CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > CAD/CAM软件文章
文章点评 查看全部点评 投稿 进入贴吧


对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技