本帖最后由 njut_prince 于 2013-12-5 14:39 编辑
不能用呀,帮我看下是不是这个!! - ;;---------------------------------另类拷贝AnotherCopy
- ;; 末尾数字+1 自贡黄明儒
- ;;ayEntSSHighLight见<a href="http://bbs.mjtd.com/thread-101674-1-1.html" target="_blank">http://bbs.mjtd.com/thread-101674-1-1.html</a>
- (defun C:AC (/ P0 SS0)
- ;;2 对象na之后所有实体产生的选择集
- (defun newsel (na / ss e1)
- (if na
- (setq na (entnext na))
- (setq na (entnext))
- )
- (setq ss (ssadd))
- (while na
- (setq e1 (entget na))
- (if (wcmatch (LI_item 0 e1) "VERTEX,SEQEND,ATTRIB")
- nil
- (setq ss (ssadd na ss))
- )
- (setq na (entnext na))
- )
- ss
- )
- ;;3 copy
- (defun do-copy (ss0 p0 / A BOOL PT SS SS1 SS2)
- (setq bool T)
- (setq ss ss0
- pt p0
- )
- (while bool
- (setq a (entlast))
- (princ "\n >>下一点或者输入距离:")
- (command "_.copy" ss "" pt pause)
- (setq ss1 (newsel a))
- (ayEntSSHighLight ss)
- (command "._Select" ss1 "")
- ;(if (setq ss2 (ssget "_p" '((0 . "*TEXT,ATTDEF,INSERT"))))(SA_change ss2))这句让文字尾数+1
- (if (equal pt (setq pt (getvar "lastpoint")) 0.001)
- (progn (command "undo" "2") (setq bool nil))
- )
- (setq ss ss1)
- ;;(princ (getvar 'errno))
- )
- )
- ;;4 主程序
- (command "undo" "be")
- (if (and (setq ss0 (ssget))
- (setq p0 (getpoint "\n >基点:"))
- )
- (do-copy ss0 p0)
- )
- 不能用啊!!!
- (command "undo" "e")
- (princ)
- )
- ;;---------------------------------另类拷贝AnotherCopy
|