autolisp语言与excel文本文件接口处理

autolisp语言与excel文本文件接口处理

ID:11242977

大小:710.99 KB

页数:3页

时间:2018-07-10

autolisp语言与excel文本文件接口处理_第1页
autolisp语言与excel文本文件接口处理_第2页
autolisp语言与excel文本文件接口处理_第3页
资源描述:

《autolisp语言与excel文本文件接口处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、α文本文件接口处理3AutoLISP语言与Excel彭江丰[关键词]AutoLISP;Excel;文本文件;参数化绘图;极限偏差[摘要]用极限偏差标注程序为例,说明AutoLISP程序如何读取Excel数据库文件。[中图分类号]TP391.72[文献标识码]A[文章编号100129855(2000)04200602003OntheinterfacingofAutoLISPlanguageandExceltextfilePengJiangfenKeywords:AutoLISP;Excel;textfile;parametricdrawing;deviat

2、ionlimitAbstract:ThepaperexplainshowtheAutoLISPprogramreadthedatafromExceldatabasefilebasedonanexampleofextremedeviationnotationprogram.用AutoLISP语言编写参数化绘图程序是AutoCAD二次开发中常用的方法。在机械制图中,国家标准件的绘制大部分采用参数化绘图程序来实现,用户按程序提示输入所需的规格型号,程序从数据文件中读取相应的数据,处理后绘制出所需要的图形。因此,从数据文件中读取数据是参数化绘图程序编写的重要内容

3、。随着Excel软件的应用,大量的数据文件都采用它来编制。下面以极限偏差标注程序说明AutoLISP编程读取Excel数据库文件。名为txt。在以空格分隔的文本文件中,每个数据占据相同数量的字符位置,例如Gb1801-79.prn文件中,每个数据占据8个字符位置,数据之间以空格分隔,用read-line函数读出的数据行和文本文件的数据格式一致。(12345678123456781234567812345678123456781234567812345678......)000000000000dmin0000dmax00000c110首先用Excel将《

4、GB1801-79基本尺寸至500c11000000d9000000d900mm孔、轴的极限偏差》建成一数据文件,格式如下:f7......以制表符来分隔表格的文本文件在用AutoLISP处理数据库文件时,列与列之间的数据用字符“t”分隔,用read-line函数读Gb1801-79.txt文件,其一行的格式为:“dmintdmaxtc11tc11td9td9tf7t......”,在字符串中“t”只代表一个字符。用Excel将数据库转换成prn文件时,如果数据库文件太大,列太多,Excel会把数据库截为几段,这样造成AutoLIS

5、P很难处理数据,因此建议采用txt方式转换数据库文件。dmindmaxc11c11220522402240d9250265265d929321172117f7216220220f7234241241g6262727g621722022018295242110302110141824其含义是:第一行中的dmin,dmax为基本尺寸的范围(即基本尺寸大于dmin小于等于dmax),c11、d9、f7等为公差带代号(第一个公差带表示上偏差,第二个表示下偏差)。例如尺寸520d9的上、下偏差分别为-65、-117。Excel可以将数据库文件转换为两种AutoLI

6、SP语言能够方便读取的文本文件:一种是以空格分隔的带格式的文本文件,文件扩展名为prn;另一种是以制表符分隔的文本文件,文件扩展极限偏差标注程序见下页,其子程序“getdate”根据给定的基本尺寸值和公差带检索数据库文件α3[收稿日期1999-10-18[作者简介]彭江丰(1971.7-),男,汉族,江西人,工程师,从事机械设计工作。“GB1801-txt”,读取所需要标注的极限偏差79.(while(or(=dhnil)(=dh""))(setqdh(getstring"输入公差带代号〈如H7,h8〉:"))(if(=dh"")(princ"输入不

7、正确,请重新输入!")));while(getdate)(if(or(ƒ=pclnil)(ƒ=pc2nil))(progn(setqtfac(getvar"dimtfac"))(setqtol(getvar"dimtol"))(setqlim(getvar"dimlim"))(setqtp(getvar"dimtp"))(setqtm(getvar"dimtm"))(if(or(pc20))(setqpc2(-0pc2)))(command"dim""""setvar""dimtfac""0.5""dimtol""1""dimlim""0

8、""dimtp"pc1"dimtm"pc2"up"ss"""e")值。该程序首先

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。