(repeat (setq i (sslength ss))
(ssadd (ssname ss (setq i (1- i))) ss1)
) 看了这个之后应该没啥问题了吧
;;;;;;选择集的操作 by 菜卷鱼
;;ssp 判断是否为选择集
;;enamep 判断是否为图元
;;sslist 选择集变成图元表
;;sspack 图元表打包成选择集
;;ss+ss 选择集加上选择集
;;ss-ss 选择集减去选择集
;;ss-en 选择集减去图元
(defun ssp(ss)
(= (type ss) 'PICKSET)
)
(defun enamep(obj)
(= (type obj) 'ENAME)
)
(defun sslist(ss / i lst)
(setq i -1)
(if (ssp ss)
(repeat (sslength ss)
(setq lst (cons (ssname ss (setq i (1+ i))) lst))
)
)
(reverse lst)
)
(defun sspack(lst / pack)
(setq pack (ssadd))
(foreach xlst
(if (enamep x)
(setq pack (ssadd x pack)))
)
pack
)
(defun ss-ss(ss1 ss2 / sl1 sl2)
(setq sl1 (sslist ss1))
(setq sl2 (sslist ss2))
(foreach xsl2
(setq sl1 (vl-remove x sl1))
)
(if (null sl1)(ssadd)(sspack sl1))
)
(defun ss+ss(ss1 ss2)
(sspack (append (sslist ss1) (sslist ss2)))
)
(defun ss-en(ss en)
(sspack (vl-remove en (sslist ss)))
)
灰石Jeremy 发表于 2020-5-7 13:18
你这个叫合并字符串,不是合并表
你确定?是字符串? 本帖最后由 xyz2009xyz 于 2020-5-7 19:50 编辑
猫哥的选择集合并,也供大家参考下!
(defun ss_sum(ss1 ss2)
(setq i 0)
(repeat (sslength ss1)
(ssadd (ssname ss1 i) ss2)
(setq i (1+ i))
)
ss2
)
页:
1
[2]