我是新手,网上找到下面简单代码,加载到cad学习一下,发现这段代码是有问题,框选多条线时出错,请问大虾指点问题在哪
(defun c:Fractal () (setq ss (ssget '((-4 . "<OR") (0 . "LINE") (-4 . "OR>")))) (setq ns (sslength ss)) (setq n 0) (while (< n ns) (setq workent (ssname ss n)) (setq blocki (entget workent)) (setq p1 (cdr (assoc 10 blocki))) (setq p2 (cdr (assoc 11 blocki))) (setq an1 (angle p1 p2)) (setq an2 (+ an1 (/ pi 3))) (setq wdist (distance p1 p2)) (setq segment (/ wdist 3)) (setq f1 (polar p1 an1 segment)) (setq f2 (polar f1 an2 segment)) (setq f3 (polar p1 an1 (* segment 2))) (command "line" p1 f1 "") (command "line" f1 f2 "") (command "line" f2 f3 "") (command "line" f3 p2 "") (command "erase" workent "") (setq n (+ n 1)) );end of while (princ) );end of defun |