你好
我是lisp的新手,有一个问题要问所有有经验的lisp程序员。我有一个用于立面的块,它必须具有属性(用于混凝土和饰面立面)。
我想给这个属性添加一个特定的数字。格式是“+7.05”或“-7.00”,我发现了一些LISP,但它们都将格式(如果总和是整数)更改为“7”或“-7”。
是否有人使用脚本添加/子构造特定数字,而不删除coma和加号后的数字?我们不必选择一个特定的属性,我可以复制到一个新文件,并从该文件中的所有att.中添加/减去。
我发现了一个旧的脚本是由阿斯米写的;
- http://www.cadtutor.net/forum/showthread.php?21726-Numerical-Global-Block-Attribute&
和一个简单的
- (defun AddNumAtt (add tag / e ei et txt)
- (setq e (entnext)
- tag (strcase tag))
- (while (setq e (entnext e))
- (setq ei (entget e)
- et (cdr (assoc 0 ei)))
- (and (= "ATTRIB" et)
- (wcmatch (cdr (assoc 2 ei)) tag)
- (setq txt (cdr (assoc 1 ei)))
- (numberp (setq num (read txt)))
- (entmod
- (subst (cons 1 (rtos (+ add num) 2 2)) (assoc 1 ei) ei)) ; ) 2 2) change second 2 for precision.
- (entupd e)))
- (princ))
- ;(AddNumAtt 10 "*") ; (AddNumatt value to +/- tagname)
谢谢你的帮助。 |