不知道这个可不可以,我大学老师编的。 (defun c:pinter() (setvar "cmdecho" 0) (setq p1 (getpoint "输入直线第一点") (princ) p2(getpoint p1 "输入直线第二点")) (setq a (entget (car(entsel) ))) (setq b '()) (foreach lis a (if (= (car lis) 10) (progn (setq lis (reverse (cons 0 (reverse (cdr lis))))) (setq b (reverse (append (list lis) (reverse b)))) ) ) ) (setq s (car b) i '()) (foreach e b (if (setq inte (inters p1 p2 s e)) (setq i (reverse (append (list inte)(reverse i)))) ) (setq s e) ) (command "LINE" p1 p2 "") (princ) (prin1 "共有") (prin1 (length i)) (prin1 "个交点") (princ) (print "交点是:") (foreach p i (print p)) ) |