ygp820601 发表于 2012-12-18 21:00 
呵呵,求差集的函数有问题,当两个选择集相同时,差集应该为nil,这种情况没有考虑到。
(defun ssinter (ss ...
这位朋友写的代码有很多问题呀,我重改了一个
 - (defun ssunion (SS1 SS2 / n);求两个选择集的并集
- (cond
- ((and (equal ss1 nil) (not (equal ss2 nil))) ss2)
- ((and (equal ss2 nil) (not (equal ss1 nil))) ss1)
- ((and (equal ss1 nil) (equal ss2 nil)) nil)
- (
- (and (not(equal ss2 nil))(not (equal ss1 nil)))
- (progn
- (setq n 0)
- (repeat (sslength ss2)
- (if (not(ssmemb (ssname ss2 n) ss1))
- (setq ss1 (ssadd (ssname ss2 n) ss1))
- )
- (setq n (1+ n))
- )
- ss1
- )
- )
- )
- )
|