好大一只妖 发表于 2014-12-10 08:41:14

这个代码怎么可以变成批量操作的。

(defun C:XZ()
(setq ss (ssget ":s" '((0 . "insert"))))
(setq enl(ssname ss 0 ))
(setq ent (entget enl)
        jd (cdr (assoc 50 ent))
        jd(+ jd (/ pi 2))
        ent(subst (cons 50 jd)(assoc 50 ent) ent))
(entmod ent)
(entupd enl)
(sssetfirst nil ss)
(princ)
)
我是初学的,在朋友帮助下编写的这个命令。
这是一个固定选择图块90度的代码,但是一次只能操作一个块,选中多个块也只有一个可以旋转。请问如何可以修改成可以批量选装的命令啊~

自贡黄明儒 发表于 2014-12-10 09:51:32

(defun C:XZ (/ E ENT JD SS)
(setq ss (ssget ":s" '((0 . "insert"))))
(repeat (sslength ss)
    (setq e (ssname ss 0))
    (setq ent (entget e)
          jd(cdr (assoc 50 ent))
          jd(+ jd (/ pi 2))
          ent (subst (cons 50 jd) (assoc 50 ent) ent)
    )
    (entmod ent)
    (entupd e)
    (ssdel e ss)
)
;;(sssetfirst nil ss)
(princ)
)
页: [1]
查看完整版本: 这个代码怎么可以变成批量操作的。