- 积分
- 38945
- 明经币
- 个
- 注册时间
- 2011-12-1
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 【KAIXIN】 于 2012-4-18 18:24 编辑
 - ;功能: 在屏幕上点取两个数, 用第一个数减去第二个数,并放回第二个数的地方, 保留两位小数
- (defun C:KK( / ent1 el1 ent2 el2 txt1 txt2 txt ent)
- (setvar "CMDECHO" 0)
- (setq ent1 (car (entsel "\n请选取第一个数:<Exit>")))
- (if (/= ent1 nil)
- (progn
- (setq el1 (entget ent1))
- (if (= "TEXT" (cdr (assoc 0 el1)))
- (progn
- (setq txt1 (cdr (assoc 1 el1)))
- (setq n 1)
- (while (/= n nil)
- (setq ent2 (car (entsel "\n请选取第二个数:<Exit>")))
- (if (/= ent2 nil)
- (progn
- (setq el2 (entget ent2))
- (if (= "TEXT" (cdr (assoc 0 el2)))
- (progn
- (setq txt2 (cdr (assoc 1 el2)))
- (setq txt (rtos (- (atof txt1) (atof txt2)) 2 2))
- (setq ent (subst (cons 1 txt) (assoc 1 el2) el2))
- (entmod ent)
- )
- (princ "\n第二个数不是文字,请重选:")
- )
- )
- )
- (if (= ent2 nil) (setq n nil))
- )
- )
- (princ "\n第一个数不是文字,请重选:")
- )
- )
- )
- (redraw)(princ)
- )
该贴已经同步到 【KAIXIN】的微博 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|