Calcolare lunghezza di un arco
- Details
- Category: Lisp
- Published on Tuesday, 06 December 2011 19:29
- Hits: 501
Questo programma serve per calcolare la distanza su un arco.
;;; LISP routine per trovare la lunghezza di un arco
(princ "\nTrova lunghezza arco ")
(princ "\nScrivi Arcdist per iniziare...... ")
(defun c:arcdist ( )
(setq chord (getdist "\nScegli 2 punti sull'arco: "))
(setq et (nentsel "\nSeleziona arc: "))
(setq radius (cdr (assoc 40(entget (car et)))))
(setq x1 (* 2 pi radius))
(setq hc (* 0.5 chord))
(setq x2 (- (* radius radius)(* hc hc)))
(setq x3 (expt x2 0.5))
(setq theta (/ hc x3))
(setq ang (atan theta))
(setq a1 ( * 2 ang))
(setq a2 (rtd a1))
(setq a3 (/ a2 360))
(setq ans (* a3 x1))
(prompt "\nLA lunghezza dell'arco è: ")
(princ ans) (princ)
)
(defun rtd (a) (* 180 ( / a pi)) )

