AutoCAD结合MATLAB
- 格式:pdf
- 大小:168.65 KB
- 文档页数:5
基于SCR脚本文件的Matlab/AutoCAD结合使用郭彩立(重庆市勘测院,重庆 400020)摘要本文首先结合在AutoCAD中创建图层和添加文字样式的脚本文件,分别介绍了AutoCAD中SCR脚本文件编写、执行方法及注意事项;然后在Matlab中编写程序实现从Excel文件中读取所需数据,并生成SCR脚本文件,并在AutoCAD中执行生成的脚本文件;最后,将上述方法应用于重庆市现代测绘基准体系建设过程中不同数据处理方案所得结果的较差统计分析,并实现对不同数据处理结果之间较差的地理空间分布情况的显示,为选择最优方案提供了直观的依据。
同时验证了方法的可行性,也为这些常用软件的结合使用提供了一种新方法。
关键词工程测量技术;Matlab;AutoCAD;SCR脚本文件Combination of Matlab and AutoCAD Based on SCR ScriptFileGuo Caili(Chongqing Survey Institute, Chongqing 400020, China)Abstract: Firstly, combine with the establishment of script files to create a new layer and text style in AutoCAD, this paper discussed the edit, execute method and matters need attention of the script file. And then this paper writes the program using Matlab, which reads data from Excel, creates AutoCAD SCR script file, and then the above SCR file is executed in the AutoCAD to realize the graph display. At last, this paper applied the above method to analysis the range of different surveying results during the Chongqing modern surveying datum establishment and display the spatial placement, which puts forward the intuitionistic basis to select the appropriate method. At the same time, the feasibility of the method is verified and a new approach to use above commonly-used software is putted forward.Keywords: Engineering Surveying Technology; Matlab; AutoCAD; SCR Script File1 引言文献[1]提出借助Excel软件编写AutoCAD脚本SCR文件的方法实现在CAD中批量展点的功能[1]。
进行PSCAD4.2和matlab互联仿真的步骤
一、下载pscad 4.2 破解文件,进行破解安装
二、如果用的GNU的fortran编译器,就不能和matlab互联仿
真,help上面有写有四种编译器可以使用,我用的compaq fortran compiler,因为Intel Visual Fortran Compiler需要和
visual studio一起使用,所以不愿意安装visual studio的就
选择使用Compaq Fortran Compiler,这个直接下载下来就
安装就行啦。
我用的是6.6版本的。
三、安装matlab 6.5,如果已经有安装,就不需要这一步了。
四、设置,这个是最简单,但是也是最容易出问题的。
首先,
在菜单栏点击EDIT->Work Space Setting
点上面的Fortran
选择Compaq Visual Fortran编译器,因为我装了这个编译器,所
以在下拉菜单就出现这个菜单了。
在matlab选项卡里面做如上设置,这样就可以了。
然后打开pscad 自带的例子,里面有个matlab文件夹,运行里面的例子,如果能正常运行,那么恭喜你,可以在pscad里面用matlab了。
呵呵。
注意,运行的时候一定要打开matlab,不然会报错。
下面的问题就是怎么定义自己的元件了,这个pscad的帮助文件里面有很详细的说明,大家可以学习着做了。
运用Matlab和Autocad软件进行测井曲线数字化
王丽娜;于毅
【期刊名称】《内蒙古石油化工》
【年(卷),期】2009(000)020
【摘要】对测井曲线进行数字化是对测井资料进行数字处理的重要环节,本文研究了Matlab、Au-tocad两种不同的软件进行数字化的方法步骤,并对两种方法进行了讨论分析。
【总页数】2页(P9-10)
【作者】王丽娜;于毅
【作者单位】中国海洋大学,山东青岛266100
【正文语种】中文
【中图分类】TP391.72
【相关文献】
1.用MATLAB实现测井曲线数字化 [J], 黄书先;张超谟
2.基于Matlab自然伽马测井曲线小波降噪算法研究 [J], 林坤;马朝选;彭晓光;李军科
3.运用测井曲线对中部气田古生界地层进行划分与对比 [J], 吴建文;唐文江;马德路;王秀明
4.基于MATLAB与Sym4小波的测井曲线重构与火成岩反演应用 [J], 薛智文;李国会;邢泽峰;王兴军;陈晓楠;崔永福;薛亚辉;许永忠
5.运用AutoCAD软件辅助计算与测设曲线的方法 [J], 王坚
因版权原因,仅展示原文概要,查看原文内容请购买。
用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中提取的数据进行编辑,转换成Aut oCAD可以识别的格式,才能在AutoCAD中绘出曲线、曲面。
AutoCAD结合MATLAB实现公式曲线、曲面的精确绘制和平安; 许焱平
【期刊名称】《《CAD/CAM与制造业信息化》》
【年(卷),期】2005(000)006
【摘要】在进行产品设计时,经常会涉及到公式曲线、曲面的绘制,而设计人员一般使用的方法比较复杂,不易于掌握和使用。
本文介绍了一种结合MATLAB和Excel 在AutoCAD中精确绘制各种公式曲线、曲面的方法,通过这种方法绘制的曲线、曲面不是插图,而是实际绘出的AutoCAD图元。
【总页数】2页(P43-44)
【作者】和平安; 许焱平
【作者单位】河南理工大学
【正文语种】中文
【中图分类】TH12
【相关文献】
1.巧用Excel在AutoCAD中精确绘制公式曲线曲面 [J], 罗红萍
2.AutoCAD结合MATLAB实现公式曲面的精确绘制 [J], 和平安;许焱平
3.在AutoCAD中如何精确绘制公式曲线曲面 [J], 章国庆;庄文玮;王晓荣
4.Q AutoCAD结合MATLAB怎样实现公式曲面的精确绘制 [J], 许焱平;和平安
5.AutoCAD结合MATLAB实现公式曲面的精确绘制 [J], 和平安;许焱平
因版权原因,仅展示原文概要,查看原文内容请购买。
function mat2cad(data,type,filename)%% 将MATLAB中的图形导入到autocad中%filename:保存图形数据的文件名,不包括扩展名%data:三维数组,图形所有点的坐标数据,第一页为x坐标,第二页是y坐标,第三页是z坐标%type:字符串('line'或者'face')%%Example:%[x,y]=meshgrid(-10:.05:10);%z=peaks(x,y); %获取图形所有点的坐标值%surf(x,y,z)%在MATLAB环境中绘图,故本行可有可无,不影响结果%axis equal%data=cat(3,x,y,z);%mat2cad(data,,'face','peaks'); %调用mat2acad3函数生成包含图形点坐标数据的脚本文件%%脚本文件可以有两种使用方法:%1.用文本编辑器打开脚本文件,复制所有内容,粘贴到autoCAD的command框%2.在command框输入"script",弹出对话框中选择刚刚生成的filename.scr%% 先说说原理吧%{autocad绘图是通过网格来完成的(与MATLAB中的原理一样),换句话说就是通过将所有点(x,y,z)连成一片!说明白点就是autocad不接受图像的直接导入,只能通过点阵绘图,也就是说只要我们能得到一个图形的所有点的坐标,那我们就能将它导入到autocad中!至于如何用数据直接在autocad中绘图我在这里就详细不介绍了(用3dmesh命令),下面我给出MATLAB 程序,直接将数据导入即可%}%%if nargin<2 | nargin>3error('输入参数至少2个,但不多于3个');elseif nargin==2filename='matlab2autocad';endx=data(:,:,1);y=data(:,:,2);fid=fopen([filename,'.scr'],'w');switch typecase 'face'z=data(:,:,3);fprintf(fid,'3dmesh\n');[a,b]=size(x);fprintf(fid,'%d\n',b);fprintf(fid,'%d\n',a);for i=1:numel(x)fprintf(fid,'%g,%g,%g\n',x(i),y(i),z(i));endfprintf(fid,'zoom\ne\n_3DORBIT\n');case 'line'if size(data,3)==2fprintf(fid,'spline\n');for i=1:numel(x)fprintf(fid,'%g,%g\n',x(i),y(i));endfprintf(fid,'\n\n\nzoom\ne\n');elseif size(data,3)==3z=data(:,:,3);fprintf(fid,'spline\n');for i=1:numel(x)fprintf(fid,'%g,%g,%g\n',x(i),y(i),z(i));endfprintf(fid,'\n\n\nzoom\ne\n');endendfclose(fid);。
AutoCAD结合MATLAB实现公式曲线曲面的精确绘制
一、引言
用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在曲线、曲面造型方面的功能,使其在辅助设计方面发挥更大的作用。