;带有容差的member
(defun LI_memb (ele Lst diff / len cnt Found)
(setq hd_pt nil)
(foreach name Lst
(if (equal name ele diff)
(setq hd_pt name)
)
)
(setq hd_lst (member hd_pt Lst))
)
;重新组合列表,使得按照eles作为第一个原子
(defun hd_zh_lst(eles lst full / f_bf_lst hd_lsttt)
(setq f_bf_lst (LI_memb eles lst full))
(foreach name lst
(foreach x f_bf_lst
(if (equal x name full)
(setq lst (vl-remove name lst))
)
)
)
(setq hd_lsttt (append f_bf_lst lst))
)
;带容差的去除两个列表的重复点,返回第一个表去除后的列表
(defun qcggd_lst (lst1 lst2 full / )
(foreach name lst1
(foreach x lst2
(if (equal x name full)
(setq lst1 (vl-remove name lst1))
)
)
)
lst1
)
;判断列表1是否包含列表2
(defun pl_nj_pl (lst1_0 lst2_0 / pd_lst00 lst2_0 lst1_0)
(setq pd_lst00 '())
(foreach name lst2_0
(if (XLRX-Point-IsInPoly1 name lst1_0)
(setq pd_lst00 (cons t pd_lst00))
(setq pd_lst00 (cons nil pd_lst00))
)
)
(if (not (vl-remove t pd_lst00))
t
)
)