灰石Jeremy 发表于 2020-5-7 13:18:06

你这个叫合并字符串,不是合并表

kwok 发表于 2020-5-7 13:19:31

;合并选集
(repeat (setq i (sslength ss))
            (ssadd (ssname ss (setq i (1- i))) ss1)
    )

菜卷鱼 发表于 2020-5-7 15:26:16

看了这个之后应该没啥问题了吧

;;;;;;选择集的操作 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)))
)


xyz2009xyz 发表于 2020-5-7 19:24:30

灰石Jeremy 发表于 2020-5-7 13:18
你这个叫合并字符串,不是合并表

你确定?是字符串?

xyz2009xyz 发表于 2020-5-7 19:47:12

本帖最后由 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]
查看完整版本: 求教选择集分类后能否实现合并