- 积分
- 7161
- 明经币
- 个
- 注册时间
- 2010-11-21
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|

楼主 |
发表于 2013-9-15 08:36:21
|
显示全部楼层
非常感谢各位的回答,只是我,如此,这般的........不懂
本是想试着改一个通用程序的,把黄大侠的;; 末尾数字+1 自贡黄明儒 2013-6-24 http://bbs.mjtd.com/thread-102143-1-1.html
;;---------------------------------另类拷贝AnotherCopy
;; 末尾数字+1 自贡黄明儒 2013-6-24 http://bbs.mjtd.com/thread-102143-1-1.html
;;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,(/ SS0)
(load "阵列复制递增 ACOPY SARRAY.VLX");SARRAY,ACOPY
(if (setq ss0 TC1)
(CC:AC ss0)
(dty)))
(defun CC:AC (ss0 / P0)
;;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" '( TC2 (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 ss0
(setq p0 (getpoint "\n >基点:"))
)
(do-copy ss0 p0)
)
(command "undo" "e")
(princ))
(defun c:cc()
(setq TC1 (ssget '((8 . "名称1,图号2,数量3,材质4,表格5,6不打印,99图框"))))
(setq TC2 ?);;?=图号2(图层)
(c,))
(defun c:ca()
(setq TC1 (ssget));;无限制
(setq TC2 ?);;无限制
(c,))
该怎么写呢? |
|