Тема: Помогите с кодом плиз.
Добрый день.
Есть такой лисп для AutoCAD
(defun get-min-dist-bw-curve(curve1 curve2 / ) (vl-load-com) ((lambda(lst_vertex_curve1 lst_vertex_curve2) ((lambda(lst) (entmake (list '(0 . "LINE") '(62 . 5) (cons 10 (cadr lst)) (cons 11 (caddr lst)))) (prompt (strcat "\nМинимальное расстояние между кривыми: " (rtos (car lst)))) ) (car (vl-sort (append (f-rec lst_vertex_curve1 curve1 curve2) (f-rec lst_vertex_curve2 curve2 curve1) ) '(lambda(rec1 rec2) (< (car rec1) (car rec2))) ) ) ) ) (get-vertex curve1) (get-vertex curve2) ) (princ) ); end get-min-dist-bw-curve (defun get-min-dist-segment(point cur_1 cur_2 / pt dist) (while (> (abs (- (setq dist (distance point (setq pt (vlax-curve-getClosestPointTo cur_2 point)))) (distance pt (setq point (vlax-curve-getClosestPointTo cur_1 pt))) ) ) 1e-6 ) ) (list dist point pt) ); end get-min-dist-segment (defun f-rec(lst cur_1 cur_2 / ) (if lst (cons (get-min-dist-segment (car lst) cur_1 cur_2) (f-rec (cdr lst) cur_1 cur_2) ) ) ); end f-rec (defun get-vertex(obj / lst_vertex) ((lambda(dxf_code type_obj) (cond ((= type_obj "SPLINE") (mapcar 'cdr (vl-remove-if-not '(lambda(x) (= (car x) 11)) dxf_code) ) ) ((= type_obj "LWPOLYLINE") (mapcar 'cdr (vl-remove-if-not '(lambda(x) (= (car x) 10)) dxf_code) ) ) ((= type_obj "POLYLINE") ((lambda(vertex) (while (/= (cdr (assoc 0 (entget vertex))) "SEQEND") (setq lst_vertex (cons (cdr (assoc 10 (entget vertex))) lst_vertex) vertex (entnext vertex) ) ) lst_vertex ) (entnext obj) ) ) ((= type_obj "LINE") (list (cdr (assoc 10 dxf_code)) (cdr (assoc 11 dxf_code))) ) ) ) (entget obj) (cdr (assoc 0 (entget obj))) ) ); end get-vertex
При запуске функции (get-min-dist-bw-curve) пишет ошибка: слишком мало аргументов.
Подскажите где ошибка.