想让一个3D多义线打断和它相交的2D线,找到一个程序只对LINE线可以对多义县线好象没效果啊?
;;请试用以下程序 ;;by yshf (defun c:cc () (setq cm (getvar "cmdecho") om (getvar "osmode")) (setvar "osmode" 0) (command "_undo" "be") (setq dd (getdist (strcat "\n请输入要断开的长度<" (rtos (getvar "userr1")) ">:" ) ) ) (if dd (setvar "userr1" dd)(setq dd (getvar "userr1"))) (while (setq ent (car (entsel "\n请一条基准线:"))) (setq dxf (entget ent) p1 (cdr (assoc 10 dxf)) p2 (cdr (assoc 11 dxf)) ) (if (setq ssa (ssdel ent (ssget "f" (list p1 p2) '((0 . "LINE"))))) (progn (setq i 0 n (sslength ssa)) (repeat n (setq en2 (ssname ssa i) dxf (entget en2) p3 (cdr (assoc 10 dxf)) p4 (cdr (assoc 11 dxf)) pt (inters p1 p2 p3 p4) ) (command "_circle" pt (/ dd 2.0))(setq en1 (entlast)) (command "_trim" (entlast) "" (list en2 pt) "") (entdel en1) (setq i (1+ i)) ) ) ) ) (command "_undo" "e") (setvar "osmode" om)(setvar "cmdecho" cm)(princ) )
|