跟你说过了,不需要求交点。。。。。没看见?
给你的主函数改了一下:
主要看看思路。。。
- (defun c:getpt (/ n entnn ent_name1 pt_list1 ent_name2 pt_list2 i j k pts)
- (setq entnn (ssget))
- (setq n (sslength entnn))
- (setq i 0)
- (while (< i n)
- (setq ent_name1 (ssname entnn i))
- (setq pt_list1 (GetListOfPline ent_name1))
- (setq j (1+ i))
- (while (< j n)
- (setq ent_name2 (ssname entnn j))
- (setq pt_list2 (GetListOfPline ent_name2))
- (setq k 0)
- (repeat (length pt_list2)
- (setq pt (nth k pt_list2))
- (if (member pt pt_list1)
- (setq pts (append pts (list pt)))
- )
- (setq k (1+ k))
- )
- (setq j (1+ j))
- )
- (setq i (1+ i))
- )
- pts
- )
|