登陆 | 会员注册 工程学习网(原标准资料网)新版上线,致力建设专业的工程资料分享平台!

CAD与Excel之间数据传递的思路

时间:2016-09-01 来源:网络 作者:佚名 收藏到我的收藏夹

CAD中图文信息比较直观,但基本不具备数据统计功能。Excel数据统计方便,但往往不能直观地表达信息。所以通常的做法是在CAD图纸中附上Excel表格信息。

这种方法最大的弊端在于:如果CAD图上(或者Excel数据)中的信息有修改,就需要在Excel数据(或者CAD图上)中的相对应信息再次修改,这样重复性的劳动费时费力还容易出错。

如果你曾受此折磨,你可以接着往下看

情形一:先有表格,需要在CAD图上标注【非表格形式】


对于此情形,通常的做法是复制粘贴,或者复制直接输入文字,效率极低。

针对此情形,我的思路如下


此方法最大的好处在于,你只需要选择一个定位点,即可自动输入相应信息。

看起来高大上,其实要实现此功能特别简单(当然你需要花一点时间了解一下Autolisp,否则接下来就是天书时间),你只需要会用open、read-line以及entmake这三个主要函就可以了。

思路如下:

1、先把Excel转成txt格式,直接另存为.txt格式即可


2、在Autolisp,使用open函数打开此文件:

(setq crfile (open (getfiled "请选择文件" "D:/" "txt" 0) "r"))

此语句的意思是:用getfiled函数查找文件,用open函数以只读(“r”)方式打开,并用setq函数赋给crfile。

3、用while循环依次读取每行数据,并在指定点输入此行数据

(setq rowsj (read-line crfile))

此语句的意思是:用read-line读取crfile文件中的一行数据【每运行一次,就会依次读取下一行】,并将此数据赋给rowsj

(entmake (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(100 . "AcDbMText") '(7 . "Standard") (cons 1 rowsj) (cons 10 dhcrd))

输入数据用entmake函数,entmake后为多行文字生成所必需的群码表,其中dhcrd为之前取得的插入点。

到此,这个功能就能实现了,是不是很简单?(相应函数的语法可以百度) 1/2 12下一页尾页

相关关键词阅读: 返回栏目 添加到我的收藏夹
上一篇:CAD中的UCS命令用法教程
下一篇:CAD面上作圆、旋转建实体、镜像基础建模命令
Powered by www.pv265.com   © 2011-2014