基于SCR脚本文件的MatlabAutoCAD结合使用

合集下载

AutoCAD结合MATLAB

AutoCAD结合MATLAB

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中绘出曲线、曲面。

基于MATLAB生成的SCR文件实现AutoCAD中复杂曲线曲面的绘制

基于MATLAB生成的SCR文件实现AutoCAD中复杂曲线曲面的绘制

龙源期刊网 基于MATLAB生成的SCR文件实现AutoCAD中复杂曲线/曲面的绘制作者:王蔚来源:《电脑知识与技术》2012年第14期在进行产品设计时,AutoCAD的图形编辑功能是非常强大的,不仅可以用于平面绘图,也可以用于三维建模,但涉及到公式曲线和公式曲面的绘制时是比较困难的,例如渐开线、心形线等平面公式曲线和马鞍形曲面等三维曲面的绘制。

一般情况下,需要借助AutoCAD二次开发语言VBA、Visual Lisp等编写程序,在程序的编制中需要多层嵌套循环,复杂且运行效率较低一般技术人员也不易掌握。

为了避免二次开发的复杂性,文献[1]利用手动方法借助于EXCEL实现了MATLAB曲线数据到AutoCAD的转换,但这种方法对于大量复杂数据的转换是比较费时和费力的,容易由于操作不当遗漏数据。

文献[2]应用VC++经EXE文件生成AutoCAD的SCR文件,实现了复杂曲线的绘制,但SCR文件的编写过程仍涉及到公式编写的复杂性,不利于一般工程人员的使用。

文献[3]介绍了MATLAB图像到AutoCAD的转化方法,利用二次开发语言VBA实现了将MATLAB的任意图像转换为AutoCAD显示,较好的实现了MATLAB与AutoCAD的接口与数据转换。

MATLAB提供了一个人机交互的数学环境,可以精确且快速地绘制各种复杂公式曲线和曲面,不仅语法规则简单、容易掌握,还可以存储中间的数据结果。

受上面文献的启发,综合上面提到的三种方法的优点,通过调用MATLAB生成AutoCAD的SCR脚本命令文件,来实现AutoCAD中复杂曲线的绘制。

该文首先介绍了AutoCAD脚本文件SCR的基本情况及书写原则,其次给出了利用MATLAB生成AutoCAD的SCR脚本命令文件,来实现AutoCAD中复杂曲线/曲面的绘制方法,最后利用实例对该方法的可行性进行了验证,并给出了基于MATLAB生成SCR的函数程序mat2acad和mat2acad3。

(保存)matlab调用pscad运行数据方法

(保存)matlab调用pscad运行数据方法

Matlab调用PSCAD运行数据方法第一步:先右键点击空白处进入project settings/Runtime,设置save channels to disk,这时在pscad目录中会有.out文件和.inf文件。

两个文件与当前设置的.psc文件在同一目录下的.emt文件夹内,如果找不到在哪个目录,可以用后缀名搜索。

第二步:进入matlab,将.out文件拷贝到当前目录,假设你要赋值给变量a,则命令a=load('XXX.out')由于.out第一列是时间,假设你要取第3个变量,并赋值给b,则b=a(:,4)那怎么知道第4个变量是你要的电压还是电流呢?这你就要看.inf文件了,里面列出了所有变量的名字。

此时b的“显示精度”只有四位,但存储的数据有16位,可以用“format long(换行)b”获得。

注:当文件的扩展名不是(.mat)时,MATLAB将以ASCII格式处理该文件。

读取的数据可以用来进行相关分析和画图显示。

例子:%本实例.m文件中,data2_01.out(第一列是时间,另外10列是通道数据)是PSCAD导出的文件,具体是哪个通道的数据则要查看同目录下的.inf文件。

本文件中,第二列是光伏发电单元输出的有功功率%data = load('data2_01.out');%载入文件time = data(:,1);%获取时间,第一列pv_power = data(:,2);%获取光伏输出有功功率plot(time,pv_power);%画对应的时间、功率图axis([1.5 5 0 0.2]);%设置横纵轴范围xlabel('Time(s)');ylabel('MW');%设置横纵轴注释/单位title('The output active power of PV');%设置标题画图如下:。

MATLAB导入CAD数据

MATLAB导入CAD数据

用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中绘出曲线、曲面。

实现 C语言 与 AutoCAD 接口 生成scr脚本语言文件

实现 C语言 与 AutoCAD 接口 生成scr脚本语言文件

void main()//实现 C语言 与 AutoCAD 接口 生成scr脚本语言文件
{
double z1,m,i,b;
printf("input z1 :")
scanf("%f",&z1);
printf("input m :")
scanf("%f",&m);
printf("input i :")
fprintf(fp,"line %.2f,%.2f %.2f,%.2f \n",x2+b+25,y2-r2/6,x2+b+25,y2+r2/6); //大齿轮轮轴闭合 右
fprintf(fp,"line %.2f,%.2f %.2f,%.2f \n",x2+10,y2-ra2,x0+10,y2-ra2); //大啮合轮齿 齿顶左
fprintf(fp,"hor %.2f,%.2f %.2f,%.2f %.2f,%.2f %f \n",x0,y0-r1/3,x0+b+20,y0-r1/3,x0+10+b/2,y0-ra1-20,b+20); //水平标注小齿轮轴的宽度
fprintf(fp,"circle %.2f,%.2f %.2f\n",x1,y2,ra2); //圆大齿轮 齿顶圆
fprintf(fp,"circle %.2f,%.2f %.2f\n",x1,y2,rf2); //圆大齿轮 齿根圆
fprintf(fp,"circle %.2f,%.2f %.2f\n",x1,y2,r2/6); //圆大齿轮 轮轴内

vb外部调用autocad_AutoCAD教程之图块的各种相关操作和概念

vb外部调用autocad_AutoCAD教程之图块的各种相关操作和概念

vb外部调⽤autocad_AutoCAD教程之图块的各种相关操作和概念制图过程中,有时常需要插⼊某些特殊符号供图形中使⽤,此时就需要运⽤到图块及图块属性功能。

利⽤图块与属性功能绘图,可以有效地提⾼作图效率与绘图质量。

也是绘制复杂图形的重要组成部分。

⼀、图块的特点图块是⼀组图形实体的总称,在该图形单元中,各实体可以具有各⾃的图层、线型、颜⾊等特征。

在应⽤过程中,CAD将图块作为⼀个独⽴的、完整的对象来操作。

⽤户可以根据需要按⼀定⽐例和⾓度将图块插⼊到任⼀指定位置。

由于图块是作为⼀个实体插⼊,CAD只保存图块的整体特征参数,⽽不需要保存图块中每⼀个实体的特征参数。

因此,在绘制相对复杂的图形时,使⽤图块可以⼤⼤节省磁盘空间。

通过修改图块也可以为⽤户⼯作带来较⼤的⽅便,如果修改或更新⼀个已定义的图块,系统将⾃动更新当前图形中已插⼊的所有该图块。

⼆、创建图块菜单命令:【绘图】→【块】→【创建】⼯具栏:『绘图』→『创建块』命令⾏:BLOCK 快捷键:B使⽤BLOCK命令创建的图块常被称为内部图块,跟随定义它的图形⽂件⼀起保存,即图块保存在图形⽂件内部。

内部图块⼀般⽤于在该图形⽂件中调⽤。

执⾏BLOCK命令后,系统将打开【块定义】对话框,通过该对话框即可创建图块。

其中各选项含义如下:① 名称框:为图块定义⼀个名称。

名称最多可以包含 255 个字符,包括字母、数字、空格,以及汉字等。

块名称及块定义保存在当前图形中。

② 基点栏:⽤于指定图块的插⼊基点,若末指定基点,系统默认为坐标原点。

③ 对象栏:单击其中的『选择对象』按钮(或『快速选择』按钮)⽤于选择定义图块的对象。

在该栏中还的三个单选项,其含义如下:● 保留:当创建图块后保留源对象,即不改变定义图块源对象的任何参数。

● 转换为块:当创建图块后,将源对象⾃动转换为图块。

● 删除:当创建图块后,⾃动删除源对象。

④ 设置栏:其中各选项含义如下:● 块单位:指定块参照插⼊单位,通常为毫⽶,也可以⽤其他单位。

Matlab在CAD边缘检测处理中的应用


与识别首要解决 的经典 难题 , 也是 制约 医学 图像处 理 中其 他
相关技术发展和应用 的瓶颈[ 。近几 十年来人们 提 出了很 多 2 ] 图像分割方法 , 如基于阈值分割方法 、 基于边缘 检测分 割方法 和基于 区域分割方 法 , 以及 基 于模 式识 别理论 分割 方法 和数 学形态学分割方法等 。本研究在经典 边缘检测 分割方法基 础
药物 的溶 出是一 个极 其复 杂 的动力 学 过程 , 难实 现用 很 单一的数据模型 来解 决实 际 问题 , 其是 在溶 出实验点 较 多 尤 的情况下 。因此 , 应进 行多 种模 型拟 合并按 照 一定 的模 型拟 合优劣评价指标 , 如决定系数 R。 赤池信 息准则 ( ak I— 、 Ak ie n S
测 ; 一方 面可 以预 测一 些 因素 的改 变对 体 内血药 浓度 曲线 另 的影响 以及验证 临床 给药 方案 的合 理性 , 特别 是对 于具 有 良 好的体 内外相关性 的药物 。
分率 为研究 载体 , 选择 E cl xe 软件 对多种 曲线方 程进行 拟合 , 同时对拟合结果进 行数据 分析 并优选 最优 溶 出模 型 , 最终 获
fr t n C i r n omai r ei ,AI 、 方 误 差 ( a q aeE rr o t o C) 均 Men S ur ro ,
2 张莉 , 岳. 电子表格 E cl 夏运 用 xe计算药 物溶 出度 we u i U分 布参 b
算法的图像分割新方法 , 可以使感兴趣区轮廓线清晰地显示 , 改善 了医生诊断效果。 关键词 : MATL C AB; AD; 边缘检测 ; 形态学 图像处理
d i1 . 9 9 .sn 0 44 3 . 0 10 .3 0:03 6 /Ji .1 0 -3 7 2 1. 6 0 8 s

AutoCAD与MATLAB结合方法的研究及应用

AutoCAD与MATLAB结合方法的研究及应用
贺云花
【期刊名称】《煤矿机械》
【年(卷),期】2008(29)9
【摘要】利用MATLAB语言编写生成SCR脚本文件和DXF格式的2种文件接口程序,通过AutoCAD软件读取SCR脚本文件和DXF文件,实现AutoCAD与MATLAB的有效快速结合,并给出了应用实例。

【总页数】3页(P190-192)
【关键词】AutoCAD;DXF文件;SCR文件;接口程序
【作者】贺云花
【作者单位】山东科技大学
【正文语种】中文
【中图分类】TP39
【相关文献】
1.MATLAB结合AutoCAD在无交叉线岔设计中的应用 [J], 王国梁
2.AutoCAD及MATLAB在图解法设计机构中的应用研究 [J], 张玲玲;曾祥光
3.天津市居住建筑节能权衡计算方法探讨——EXCEL和AUTOCAD软件的结合应用 [J], 许莉
4.运用AutoCAD及MATLAB绘制凸轮廓线方法研究 [J], 张玲玲;曾祥光
5.结合软件Matlab实现的《线性代数》教学方法研究 [J], 叶国栋;黄小玲
因版权原因,仅展示原文概要,查看原文内容请购买。

CAD技巧-脚本

菜单:【Tools(工具)】→【RunScript…(运行脚本)】命令行:script(或别名scr)注意AutoCAD的“undo”命令将每个脚本当作一个组,可以用单个“undo”命令放弃一组脚本的操作。

说明“script”命令可透明地使用。

31.1.2实例1使用脚本文件绘制并显示图形Step1创建脚本文件“exam_draw.scr”(1)使用Windows附件中的“记事本”程序创建一个新文件。

(2)在该文件中添加如下内容,如图31-1所示。

注意其中调用“exam_view.scr”文件的路径应根据实际情况而定。

(3)以“exam_draw.scr”为名保存该文件。

Step2创建脚本文件“exam_view.scr”(1)使用Windows附件中的“记事本”程序创建一个新文件。

(2)在该文件中添加如下内容,如图31-2所示。

(3)以“exam_view.scr”为名保存该文件。

Step3运行脚本文件进入AutoCAD系统,调用“script”命令弹出“SelectScriptFile(选择脚本文件)”对话框,定位并打开步骤一中创建的“exam_draw.scr”文件。

该文件的运行结果是在屏幕中间绘制一条直线和一个圆,而且直线和圆绕中心不停地转动。

如图31-3所示。

实例说明1.从实例中我们可以看到,脚本文件的内容实际上就是在AutoCAD命令提示行中所用的命令的一个有序集合。

脚本文件中的每一行对应着AutoCAD命令提示行中的一个命令、一个选项的响应。

2.脚本文件中可以包含注释,任何以“;”开始的行都被当作注释而在运行时被忽略。

此外,脚本文件中所有包含空格的长文件名都必须被括在双引号中。

3.需要提醒读者注意的是,脚本文件中的空格和空行在运行时相当于按Enter键,因此,为了能正确地运行脚本文件,需严格控制文件中空格和空行的使用,避免多余的空格和空行。

4.脚本文件在运行时不允许输入新的信息,所有的信息都必须包含在文件内。

SCR脚本与系统批处理的综合利用

1SCR是CAD的脚本文件,属于文本文件,这就可以利用批处理来进行编辑。

SCR是由一系列AutoCAD 命令构成的文本文件.SCR类似于操作系统中的的批处理命令。

通过执行脚本,可以一次完成一系列任务,运行SCR脚本可以反复执行一个任务,可提高绘图的速度.如下例子,是我写的一个南方CASS符号制作中,SCR脚本与系统批处理的综合利用,达到最终目的.set /p lay=请定义这个符号的所在层(如:DLDW):if '%lay%'=='' goto error1这二句是让用户输入图层名,并判断如果没有输入任务文字就跳转到error1set /p DWG1=请输入绘好符号的CAD文件(如图块名为100.DWG请输入100):if not exist "%cd%\%dwg1%.dwg" goto error4这二句是让用户输入绘好的DWG文件名,如果当前不存在这个文件,就跳转到error4echo open>cass.scr把OPEN写入到CASS.SCR这个文件中,在后面CAD执行这个脚本的时候,第一句就是执行OPEN这个命令,打开一个文件echo ^"%cd%\%dwg1%.dwg^">>cass.scr把本程序当前目录下的,用户输入的DWG文件名,写入到CASS.SCR文件中,并在OPEN这个命令后面,实际也就把路径写入到这里了echo zoom>>cass.scr把ZOOM写入到CASS.SCR,意思是在CAD中执行ZOOM这个命令echo e>>cass.scr把E写入到CASS.SCR.在执行ZOOM后,接着执行E,意思是全范围显示echo mslide>>cass.scr把MSLIDE写入到CASS.SCR中,意思是执行幻灯片制作命令。

echo %dwg1%^.sld>>cass.scr把用户输入的DWG文件,在后面加个.SLD输入到CASS.SCR中,意思是把执行后的幻灯片进行保存echo qsave>>cass.scr把QSAVE写入到CASS中,意思是保存幻灯片后,再保存当前的DWG文件.本来是想在这里写入EXIT的,但不知为什么,CAD却无法在SCR脚本中执行EXIT这个命令.好了,看看最终的SCR文件如下:open"c:\casstemp\g000.dwg"zoomemslideg000.sldqsave现在SCR脚本有了,如何执行呢,请看下面的批处理代码:for %%i in (c d e f g) do (for /f "delims=" %%j in ('dir /a-d /b /s "%%i:\program files"^|findstr /i /c:"acad.exe"') doecho %%j>cad.txt)在C.D.E.F.G这几个盘查找CAD的安装目录,并把路径写入到CAD.TXT这个文本中.本来想写全盘查找的,但这个太费时,一般很少有人安装CAD到CDEFG之外的其他盘。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于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]。

该方法完全是手动操作完成,过程繁琐且容易出错;文献[2]中在Excel软件中通过VBA编程实现了自动将测量坐标数据绘制在AutoCAD图形中[2],但是这种方法需要使用人员具有一定的VBA编程经验,在使用的推广上有一定的局限性。

本文利用Matlab语言读取EXCEL中数据,编写生成SCR脚本文件,实现统计结果的图形显示,仅需要使用Matlab中一个简单的函数及文件读取与写入操作便可完成,便于该方法的推广应用,也为这些常用软件的结合使用提供了一种新的方法。

2 SCR脚本文件使用方法2.1 SCR文件简介脚本文件类似于DOS中的批处理文件,它能够将不同的AutoCAD命令组合起来,并按顺序自动连续地执行。

常用来产生、编辑或观看图形,如幻灯放映、初始的图形设置等。

但脚本文件不能使用对话框或菜单,当从脚本文件中需要发出打开对话框命令时,在命令前加“-”符号,从而使AutoCAD运行该命令的命令栏含义而不是打开对话框。

2.2 SCR文件的编辑和执行脚本文件是文本文件,扩展名为“.SCR”,用户可使用任一文本编辑器来创建脚本文件。

用户可以通过命令行的开关设置,使AutoCAD在启动时自动调用脚本。

此外,用户也可以在AutoCAD 中运行脚本,可以采用如下两种方法执行脚本文件:(1)菜单:【工具】→【运行脚本】;(2)命令行:script(或别名scr)。

需要注意的是,AutoCAD的“undo”命令将每个脚本当作一个组,可以用单个“undo”命令放弃一组脚本的操作。

下面以在AutoCAD中创建新的图层和添加文字样式为例,介绍脚本文件的编辑和运行过程。

(1)创建图层此处以创建“layername”这一图层为例,编写图1所示的脚本文件,文件中“;”后为注释行,执行过程如图2所示。

图1新建图层脚本图2 新建图层脚本执行过程由于“-layer”命令会循环执行新建图层、设置当前图层、设置图层颜色等功能,所以在完成需要的功能后,需要多进行一次回车(空行)以结束命令执行。

(2)创建文字样式此处以创建“黑体”这一文字样式为例,编写图3所示的脚本文件,执行过程如图4所示。

图3 新建文字样式脚本图4 新建文字样式脚本执行过程2.3 使用方法及注意事项(1)从上面的实例中我们可以看出,SCR脚本文件的内容实际上就是在AutoCAD命令提示行中所用命令的有序集合。

脚本文件中每一行对应AutoCAD命令提示行中的一个命令或是对一个选项的响应。

(2)值得注意的是,一般情况下脚本文件中的空格和空行在运行时相当于按Enter 键,为了能正确地运行脚本文件,要严格控制文件中空格和空行的使用,避免多余的空格和空行,导致运行过程中出现异常。

(3)脚本文件在运行时不允许用户输入任何新的信息,所有的信息都包含在脚本文件中。

(4)脚本文件中可以包含注释,任何以“;”开始的行都被当作注释行在运行时被忽略。

(5)作为脚本文件中一个经常用到的脚本命令,“DELAY”命令用于设置时间延迟。

由于脚本文件是自动运行的命令序列,一些操作发生得非常快,可以使用“DELAY”命令进行必要的停顿。

“DELAY”命令的通常格式为:“DELAY Time”,其中,Time为延迟时间,取值范围为0~32767,单位为毫秒。

(6)运行中的脚本文件在调用另一个脚本命令时停止执行。

如果脚本文件被取消,或脚本文件遇到错误,并且造成该文件的执行被悬挂时,“RESUME”命令会跳过导致出错的命令,继续执行未完成的脚本文件内容。

(7)“RSCRIPT”命令用于重复执行脚本文件,直到用户取消。

3 实例说明在重庆市现代测绘基准体系建设过程中,由于起算数据、平差软件和方法的不同,经常采用不同的数据处理方案,从而出现了不同的测量成果,需要对这些成果进行比较、分析,从而选择最优数据处理方案。

这个过程中,除了要进行定量的统计分析外,还需要了解成果较差的在地理空间的分布情况。

基于前述的AutoCAD脚本文件的编写方法,通过Matlab读取EXCEL文件中存放的数据,实现测量成果批量展绘,并用不同的颜色显示不同较差大小,为成果分析提供直观的判断。

3.1 功能设计(1)Matlab软件从EXCEL文件中读取数据;(2)在Matlab中编写程序生成脚本文件;(3)在AutoCAD中执行上述脚本文件,实现数据的显示。

3.2 功能实现(1)利用Matlab读取EXCEL文件中的数据在测量数据分析过程中,使用最为广泛的是Excel表格,所以采用Matlab直接读取Excel文件中的数据。

Matlab使用“xlsread”函数读取EXCEL文件中的数据,该函数可以采用多种方式实现数据读取[3]。

此处使用“num=xlsread(filename, sheet, range)”的方式,“filename”、“sheet”、“range”分别表示数据存放的EXCEL文件名称、工作表名及存放单元格区域。

(2)在Matlab中生成脚本文件这个过程按照前述的脚本文件编辑的方法,只需要掌握Matlab中简单的文件读取和写入操作即可。

主要包括创建不同等级控制点所在的图层、添加文字样式、根据数据比较结果中较差的大小确定文本的颜色、批量展绘坐标点位及点名等[4](图5)。

(3)AutoCAD中执行脚本在AutoCAD中执行上述脚本,将成果比较结果,按照较差大小,使用不同的颜色表示。

并可以叠加点位所在地行政区划图、交通路网图等,从而可以直观的判断两套成果较差的空间分布情况,为成果的选择提供了直观的依据。

4 结论及建议图5 脚本文件示例(1)本文所述方法的实现主要在于对AutoCAD脚本文件的理解上,对编程经验要求不高,便于推广应用;(2)编写脚本文件时AutoCAD命令不要使用缩写,以免将来对命令的扩展可能会产生歧义;(3)AutoCAD的提示和命令名在后续版本中可能有所变化,因此在升级到AutoCAD的新版本时,可能需要修改脚本;(4)可以充分利用Matlab强大的数据处理功能,调用其统计工具箱对数据进行统计分析、绘图显示等,更大发挥各软件的优势。

(5)使用脚本文件可以实现几乎AutoCAD中所有的功能,需要使用者在实际应用过程中不断的总结、摸索。

参考文献:[1] 邱章云.应用Excel编制AutoCAD脚本文件实现批量展点绘图[J]. 矿山测量,2005(3):52-54.[2] 贺四清. 利用Excel VBA实现在AutoCAD中展绘坐标点[J]. 测绘与空间地理信息,2008. 31(4):195-197.[3] 谢中华. MA TLAB统计分析与应用:40个案例分析[M].北京:北京航空航天大学出版社,2010:97-101.[4] 贺云花.AutoCAD与MATLAB结合方法的研究及应用[J].煤矿机械,2008(9):190-192.。

相关文档
最新文档