Тема: Помогите с кодом плиз.

Добрый день.
Есть такой лисп для 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) пишет ошибка: слишком мало аргументов.
Подскажите где ошибка.

Re: Помогите с кодом плиз.

Код не проверял, но очевидно что нужно вызвать не так. А вот как-то так:

(get-min-dist-bw-curve (car (entsel "\nКривая 1: ")) (car (entsel "\nКривая 2: ")))
Спасибо сказали: БорисБритва1

Re: Помогите с кодом плиз.

Александр Ривилис пишет:

Код не проверял, но очевидно что нужно вызвать не так. А вот как-то так:

(get-min-dist-bw-curve (car (entsel "\nКривая 1: ")) (car (entsel "\nКривая 2: ")))

Спасибо Вам огромное за помощь!!!!
Заработало!!!