情形二:Excel数据修改了,更改CAD中的相对应信息 此情形通常做法是一个一个核对信息,然后再修改,时间成本之大可想而知。 针对此情形,我的思路如下: 方法跟情形一类似,只需要一个判断语句: 如果选中的CAD文字中的编号与Excel中的编号一致,那么就用Excel中的信息,替换CAD中的文字信息。 1、先告诉程序,编号的长度 (setq mtextqz (getint "请输入编号字符长度:")) getint函数是等待用户输入一个整数;字符长度一般为整数,如1F-001,长度为6(一个英文及数字长度为1,中文长度为2) 2、给定判断条件 (if (= (substr rowsj 1 mtextqz) (substr (cdr (assoc 1 thqm)) 1 mtextqz)) 具体函数语法可以百度,用意就是判断CAD文字中的编号与Excel中的编号一致,一致才执行替换语句,还是用entmake生成 3、可以在程序中加一些语句,告诉你哪些没有替换,以及替换了多少个,这些措施都是为了防止出错 计数可以在entmake之后执行(setq ggjs (1 ggjs)),之前ggjs已赋值为0,每entmake一次,则ggjs增加1,即更改个数加1;同样的方法,可以(setq ggbh (substr rowsj 1 mtextqz))来定义更改的编号;通过(if (/= ggbh (substr rowsj 1 mtextqz)),来判断是否有更改。 最后能实现的效果如下:
好啦,本文告一段落,下次将介绍CAD->excel传递的思路 如果你能看完,而且能理解思路,那么恭喜你,你可以为AutoCAD写小插件了^ - ^ 2/2 首页上一页12 |