669423907 发表于 2013-7-4 12:06:20

我就是想:
如果选择集为空,就运行画同心圆的程序(txy),
如果选择集为不为空,就运行你那个程序

669423907 发表于 2013-7-6 09:20:03

我不会啊,我还想在选择集 ss 里加'((8 . "名称1,图号2,数量3,材质4,表格5,6不打印,99图框")),
不知道该怎么加,还请黄大侠指教

自贡黄明儒 发表于 2013-7-6 11:05:55

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)
)
)

669423907 发表于 2013-7-6 13:56:49

秒杀属性页码递增,太好用了。
如果把标题改为 “复制递增指定对象”,一定会更好的!

669423907 发表于 2013-11-2 09:35:53

黄大师,不知是否方便帮添加一个功能:
把复制出来的   名称1,数量3,材质4   这三个图层里的文字内容改成 ?(问号),图层的其他信息不变。
为了防止忘了该这三项里某一项的内容,给车间的加工人员造成麻烦,如果他们看见的是 ?,就会及时反馈了。
再次非常感谢你。

我怎么传不了图片????

cocoorange 发表于 2015-1-28 16:53:41

谢谢楼主分享,辛苦了
页: 1 [2]
查看完整版本: 另类拷贝AnotherCopy