命令: xbg 命令: xbg 选择对象: nil; 错误: 参数类型错误: 二维/三维点: nil 请问是什么原因?? (defun fff(##s1 / ##a ##b1 ##b2 ##d1 ##d2 ##d ##e1 ##lty ##c ##cc ##sa) (setvar "cmdecho" 0) ;;;(setq ##s1 (entsel "选择线>:")) (terpri) (setq ##sa (car ##s1)) (setq ##pce (car (cdr ##s1))) (setq ##pce (osnap ##pce "nea")) ;;;(setq ##pce (list (car ##pce) (cadr ##pce))) (setq ##e1 (entget ##sa)) (setq #lty (cdr (assoc 0 ##e1))) (cond ((= ##lty "LINE") (setq ##pst (cdr (assoc 10 ##e1))) (setq ##pen (cdr (assoc 11 ##e1))));line ((= ##lty "VERTEX") (setq ##pst (cdr (assoc 10 ##e1))) (setq ##c (entget (entnext ##sa))) (setq ##cc (cdr (assoc 0 ##c))) (if (= ##cc "VERTEX") (setq ##pen (cdr (assoc 10 ##c)))) (if (= ##cc "SEQEND") (setq ##pen (cdr (assoc 10 (entget (entnext (cdr (assoc -2 ##c)))))))) );vertex ((= ##lty "LWPOLYLINE") (setq ##a (cdr (assoc 90 ##e1)) ##b1 (assoc 10 ##e1)) (while (> ##a 1) (setq b2 (nth 4 (member ##b1 ##e1))) (setq ##pst (cdr ##b1) ##pen (cdr ##b2)) (setq ##d1 (distance ##pce ##pst) ##d2 (distance ##pce ##pen)) (setq ##d (distance ##pst ##pen)) (if (and (> (+ 0.001 ##d) (+ ##d1 ##d2)) (< (- ##d 0.001) (+ ##d1 ##d2))) (progn (setq ##a 1) );progn (setq ##b1 ##b2) );end if (setq ##a (- ##a 1)) );end while (setq ##pst (list (car ##pst) (cadr ##pst) 0.0)) (setq ##pen (list (car ##pen) (cadr ##pen) 0.0)) );lwpolyline (t (prin1 ##lty));t );end cond ;(setq ##pst (list (car ##pst) (cadr ##pst))) ;(setq ##pen (list (car ##pen) (cadr ##pen))) (setvar "osmode" 0) (princ) );end_defun_fff |