;;; Distance entre deux points d'une polyligne ou d'une Spline
;;; Les Cahiers d'AutoCAD N°50

(defun c:D2PPOLS ()

  (vl-load-com)

  
  (setq ObjPol (car (entsel "\nSélectionnez une polyligne: ")))

  (if (or (= (cdr (assoc 0 (entget ObjPol))) "LWPOLYLINE")
	  (= (cdr (assoc 0 (entget ObjPol))) "POLYLINE")
	  (= (cdr (assoc 0 (entget ObjPol))) "SPLINE")
      )
    (progn

      (setq VlaObj (vlax-ename->vla-object ObjPol))


      (setq Point1 (getpoint "\nPremier point: "))
      (setq Point2 (getpoint "\nSecond point: " point1))

      (setq Distance1 (vlax-curve-getDistAtPoint ObjPol point1))
      (setq Distance2 (vlax-curve-getDistAtPoint ObjPol point2))

      (if (and (/= Distance1 nil) (/= Distance2 nil))
	(princ
	  (strcat
	    "\nDistance entre les 2 points = "
	    (rtos (abs (- distance2 distance1)) 2 (getvar "luprec"))
	  )
	)
      )

    )

    (alert "Vous n'avez pas sélectionné une polyligne ou une Spline.")

  )

  (princ "\n*** Les Cahiers d'AutoCAD N°50 ***")
  (princ)

)

(princ "\n=> Distance entre 2 points d'une polyligne ou Spline \ntapez : D2PPOLS")
(princ)