减数程序(源码)(参考学习用)
本帖最后由 【KAIXIN】 于 2012-4-18 18:24 编辑**** Hidden Message *****
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 【KAIXIN】的微博 感谢作者的分享! 正好需要,谢谢 呵呵,很好很强大。 真好 真好啊 极品好源码可惜我水平低 谢谢分享了! 下来学习一下 感谢分享学习! 感谢分享学习! 本帖最后由 叮咚 于 2012-6-28 09:32 编辑
看看。学习一下
改了一下,整了个循环
;功能: 在屏幕上点取两个数, 用第一个数减去第二个数,并放回第二个数的地方, 保留两位小数
(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第二个数不是文字,请重选:")
)
)
(setq n nil)
)
; (if (= ent2 nil) (setq n nil))
)
)
(progn
(princ "\n第一个数不是文字,请重选:")
(c:kk)
)
)
)
)
(redraw)
(princ)
)