qiankun88 发表于 2005-1-20 11:36:00

[求助]请帮忙编一个“在CAD图里将选定数值加一个常量”的程序

<FONT face=宋体 size=2>由于设计变更,需将CAD图里的大量高程数据(或选定的数据)加上一个常数(正负数或零),并将计算结果替换原数据。要求能够区分正负数值,即进行代数运算。<BR>当然,双击修改也可以,但速度比较慢。所以想快捷一些。<BR>例:<BR>原数据:23.507<BR>希望在23.507的基础上加1.2,得到结果:24.707,并替换原数据。<BR><BR><BR><BR>恭请各位大侠帮忙!!在此先谢谢各位!!!</FONT>

xiaomihu 发表于 2005-1-20 15:41:00

;本程序将指定数字增加一量值<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>)

alin 发表于 2005-1-20 11:47:00

Are all the data text to be selected on an isolated layer? You'd better attached your drawing here.

SWAYWOOD 发表于 2005-1-21 12:18:00

可以将选择的text的图元名转换为表,用MAPCAR取得文本内容list,并加1.2,然后subst应该不难实现

qiankun88 发表于 2006-1-11 09:42:00

xiaomihu发表于2005-1-20 15:41:00static/image/common/back.gif;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value)&nbsp;&nbsp; (princ \"\nDecrease the value of selected text, Version 1.0,...

<BR>多谢!!!虽然过去很久了,但一直没有言谢,不好意思

K冲天 发表于 2012-12-6 16:40:26

请问 2楼那个程序 怎么使用??在CAD里直接输入?试了下不会用!求指导

luojunmax 发表于 2015-9-3 12:14:36

谢谢XIAOMIHU

zhd81617 发表于 2015-9-3 14:32:10

本帖最后由 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

已经解决了。

chenbh2 发表于 2015-9-7 23:22:41

xiaomihu 发表于 2005-1-20 15:41 static/image/common/back.gif
;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value)               (princ "\nDecreas ...

这个不错,值得拥有!谢谢!

zymywz 发表于 2024-8-3 10:21:34

xiaomihu 发表于 2005-1-20 15:41
;本程序将指定数字增加一量值(defun c:incr( / sset ct num ed ent temp temp1 value)               (princ "\nDecreas ...

谢谢分享!好工具!!!
页: [1]
查看完整版本: [求助]请帮忙编一个“在CAD图里将选定数值加一个常量”的程序