如果选择集为空,就运行画同心圆的程序(txy),
如果选择集为不为空,就运行你那个程序 我不会啊,我还想在选择集 ss 里加'((8 . "名称1,图号2,数量3,材质4,表格5,6不打印,99图框")),
不知道该怎么加,还请黄大侠指教 669423907 发表于 2013-7-6 09:20 static/image/common/back.gif
我不会啊,我还想在选择集 ss 里加'((8 . "名称1,图号2,数量3,材质4,表格5,6不打印,99图框")),
不知道该怎 ...
(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
)
;;3copy
(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 ss0
(setq p0 (getpoint "\n >基点:"))
)
(do-copy ss0 p0)
)
(command "undo" "e")
(princ)
)
;;---------------------------------另类拷贝AnotherCopy
(defun C:w1 (/ SS0)
(if (setq ss0 (ssget))
(CC:AC ss0)
(dty)
)
) 秒杀属性页码递增,太好用了。
如果把标题改为 “复制递增指定对象”,一定会更好的! 黄大师,不知是否方便帮添加一个功能:
把复制出来的 名称1,数量3,材质4 这三个图层里的文字内容改成 ?(问号),图层的其他信息不变。
为了防止忘了该这三项里某一项的内容,给车间的加工人员造成麻烦,如果他们看见的是 ?,就会及时反馈了。
再次非常感谢你。
我怎么传不了图片???? 谢谢楼主分享,辛苦了
页:
1
[2]