[讨论]
<p>版主</p><p>能不能帮我编个序号的程序</p><p>用鼠标点取,多个数字,让它们都按顺序往下(1、2、3、。。。。。),这对于编图号有加快速度的效果</p><p>请版主赐教啊!!!</p> <p>急切等待版主回帖啊!</p>动态生成序号球2005.10.21 2008.2.15
(defun c:test (/ h r sn p0 ceo teo leo p1 k p)
(setq h (getvar "dimscale")
h (* (if (= h 0) 1 h) (getvar "dimtxt"))
r h sn 1)
(while (setq p0 (getpoint "\nPick Insert Point:"))
(command "circle" p0 r)
(setq ceo (entget (entlast)))
(command "text" "j" "m" p0 h 0 (itoa sn) "")
(setq teo (entget (entlast)))
(command "leader" p0 (polar p0 (/ pi 4) 0.1)"" "" "n")
(setq leo (entget (entlast)))
(setq p1 (cdr (assoc 10 leo)) k 1)
(while (/= k 3)
(setq p (grread T))
(setq k (car p) p (cadr p))
(setq ceo (subst (cons 10 p) (assoc 10 ceo) ceo))
(entmod ceo)
(setq teo (subst (cons 11 p) (assoc 11 teo) teo))
(entmod teo)
(setq p (polar p (angle p p1) r))
(setq leo (subst (cons 10 p) (assoc 10 (reverse leo)) leo))
(if (> (distance p p0) 0.0) (entmod leo))
)
(setq sn (1+ sn))
)
(princ)
)
<p>苦啊!</p><p>我是新手啊!!</p> <p>版主</p><p>这个程序是针对轴号球的!!</p><p>我本意是,点击多个没有顺序的数字,更改为依次递加的数字!</p><p>例如:点击了(3、8、10、20、15),返回结果是(1、2、3、4、5)</p><p>希望版主,帮忙更改下</p> <p>我还有个想法是这样的</p><p>例如:点击了(3、8、10、20、15),在屏幕上返回的相应结果是(3、4、5、6、7)</p><p>就是让我们点击的数字,更改成顺序的数字</p><p>希望版主,能者多劳啦</p> 版主,怎么就没关心关心下呢??? 6楼与5楼的要求不一样,我怕楼主又要变卦。下面是按6楼要求写的程序。
;所选数字加一 明经 ZZXXQQ 2009.6.10
(defun c:tt ()
(if (and (setq s1 (entsel "\n选择文字 :"))
(setq ent (entget(car s1)))
(= (cdr(assoc 0 ent)) "TEXT")) (progn
(setq n (atoi(cdr(assoc 1 ent))))
(while (and (setq s2 (entsel "\n选择要更改的文字 :"))
(setq ent1 (entget(car s2)))
(= (cdr(assoc 0 ent1)) "TEXT"))
(setq ent1 (subst (cons 1 (itoa (setq n (1+ n)))) (assoc 1 ent1) ent1))
(entmod ent1)
)
))
(princ)
)
<p>谢谢,版主的帮助!</p><p>这对于图纸的编号,能加快速度的!</p><p>画图以速度取胜,少点一次鼠标,就加快一秒!</p><p>真心谢谢!!</p>
页:
[1]