357785513 发表于 2018-7-5 21:46:28

交换程序

各位高手,看看下面的交换程序,如何把图层也交换过来,看看怎么改才好
每次交换后还要刷一下,好麻烦,
(defun c:kjh()
          (setq obj (ssget '((0 . "INSERT"))) i 0)
          (setq obj1 (entget (ssname obj 0)))
          (setq obj2 (entget (ssname obj 1)))
          (setq een obj1 na (cdr (assoc 2 een)) i (+ i 1))
          (setq name1 na)
          (setq een obj2 na (cdr (assoc 2 een)) i (+ i 1))
          (setq name2 na)
          (setq namet "T")
          (command "rename" "B" name2 namet)
          (command "rename" "B" name1 name2)
          (command "rename" "B" namet name1)
          (entmod obj1)(entmod obj2)(entupd obj1)(entupd obj2)
          (princ)
);defun end

xiang19751218 发表于 2018-7-12 18:36:04

(defun c:tt (/ ent1 ent11 ent2 ent22)
(setq ent1 (entget (car (entsel "\n选取块1:"))))
(setq ent2 (entget (car (entsel "\n选取块2:"))))
(setq ent11 (entmod (subst (cons 2 (cdr (assoc 2 ent2))) (assoc 2 ent1) ent1)) )
(entmod (subst (cons 8 (cdr (assoc 8 ent2))) (assoc 8 ent11) ent11))
(setq ent22 (entmod (subst (cons 2 (cdr (assoc 2 ent1))) (assoc 2 ent2) ent2)) )
(entmod (subst (cons 8 (cdr (assoc 8 ent1))) (assoc 8 ent22) ent22))
(princ)
)

pzweng 发表于 2018-7-9 18:59:57

357785513 发表于 2018-7-8 14:37
taoyi0727 分享程序有一个小小的缺陷,就是交换后各自己都改变了旋转角度了,因为有时放好的块已经有角度 ...

试试这个
怎么回事,回贴的字节长度不能小于10?

357785513 发表于 2018-7-8 14:37:50

taoyi0727 分享程序有一个小小的缺陷,就是交换后各自己都改变了旋转角度了,因为有时放好的块已经有角度了,交换一下之后块都转成了0度,

taoyi0727 发表于 2018-7-5 23:03:37

我的水平也就这样了 你看看是不是你要的

357785513 发表于 2018-7-5 23:40:15

(cons 8 obj2_layer)
服,高手

357785513 发表于 2018-7-5 23:41:01

这个水平已经非常棒了

yoyoho 发表于 2018-7-6 12:01:55

感谢 taoyi0727 分享程序!!!!

wangyonggao8 发表于 2018-7-9 20:01:48

直接换插入点不就行了。

taoyi0727 发表于 2018-7-10 09:47:35

改了下把角度加进去了

357785513 发表于 2018-7-10 23:30:34

角度还是没搞好
页: [1] 2
查看完整版本: 交换程序