[求助]请帮忙编一个“在CAD图里将选定数值加一个常量”的程序
<FONT face=宋体 size=2>由于设计变更,需将CAD图里的大量高程数据(或选定的数据)加上一个常数(正负数或零),并将计算结果替换原数据。要求能够区分正负数值,即进行代数运算。<BR>当然,双击修改也可以,但速度比较慢。所以想快捷一些。<BR>例:<BR>原数据:23.507<BR>希望在23.507的基础上加1.2,得到结果:24.707,并替换原数据。<BR><BR><BR><BR>恭请各位大侠帮忙!!在此先谢谢各位!!!</FONT> ;本程序将指定数字增加一量值<BR>(defun c:incr( / sset ct num ed ent temp temp1 value)<BR> (princ "\nDecrease the value of selected text, Version 1.0, (c) 1999 by Z.L.Wang")<BR> (prompt "\nSelect text to change: ")<BR> (setq sset (ssget '((0 . "TEXT"))))<BR> (if (null sset)<BR> (progn<BR> (princ "\nNothing selected.")<BR> (exit)<BR> )<BR> )<BR> (setq value (getreal "Input the value to decrease: "))<BR> (setq ct 0)<BR> (setq num (sslength sset))<BR> (repeat num<BR> (setq ent (ssname sset ct))<BR> (setq ed(entget ent))<BR> (setq temp (assoc 1 ed))<BR> (setq temp1 (atof (cdr temp)))<BR> (setq temp1 (+ temp1 value))<BR> (setq temp (rtos temp1 2 3))<BR> (setq ed (subst (cons 1 temp) (assoc 1 ed) ed))<BR> (entmod ed)<BR> (setq ct (+ 1 ct))<BR> )<BR>) Are all the data text to be selected on an isolated layer? You'd better attached your drawing here. 可以将选择的text的图元名转换为表,用MAPCAR取得文本内容list,并加1.2,然后subst应该不难实现 xiaomihu发表于2005-1-20 15:41:00static/image/common/back.gif;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value) (princ \"\nDecrease the value of selected text, Version 1.0,...<BR>多谢!!!虽然过去很久了,但一直没有言谢,不好意思 请问 2楼那个程序 怎么使用??在CAD里直接输入?试了下不会用!求指导 谢谢XIAOMIHU
本帖最后由 zhd81617 于 2015-9-3 14:46 编辑
xiaomihu 发表于 2005-1-20 15:41 static/image/common/back.gif
;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value) (princ "\nDecreas ...
请问哪里可以控制小数点的位数啊,例如,希望结果为一位数1.0;或者是两位数1.00
已经解决了。 xiaomihu 发表于 2005-1-20 15:41 static/image/common/back.gif
;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value) (princ "\nDecreas ...
这个不错,值得拥有!谢谢! xiaomihu 发表于 2005-1-20 15:41
;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value) (princ "\nDecreas ...
谢谢分享!好工具!!!
页:
[1]