|
两根“LINE”,第一条的起点的X,Y,Z和第二条的终点的X,Y,Z一样的,第一条的终点的X,Y,Z和第二条的起点的X,Y,Z一样的,如何处理删除其中一条,只留一条啊!! 这是我写的,有毛病!!ss_del总为空。 (defun c:del_line(/ n m) (setq ss_line (ssget "x" (list(cons 0 "LINE"))) n 0) (setq ss_del (ssadd)) (if ss_line (progn (repeat (sslength ss_line) (setq name_line (ssname ss_line n)) (setq start_point (cdr (assoc 10 (entget name_line)))) (setq end_point (cdr (assoc 11 (entget name_line)))) (setq m n) (while (< m (sslength ss_line)) (setq name_line_ch (ssname ss_line m)) (setq start_point_ch (cdr (assoc 10 (entget name_line_ch)))) (setq end_point_ch (cdr (assoc 11 (entget name_line_ch)))) (if (and (= start_point end_point_ch) (= end_point start_point_ch)) (progn (ssadd name_line_ch ss_del) (setq m (+ m 1)) );end progn (setq m (+ m 1)) );end if );end while (setq n (+ n 1)) );end repeat );end progn );end if (command "erase" ss_del "") (princ) ) |