Menghitung Panjang Busur Arc

digital_calipers

Sebelumnya maaf bila ada yang telah menulis sebelumnya tentang cara menghitung panjang busur arc. Anggap saja ini cara lain dengan cara berbeda. Kode autolisp dibawah ini untuk menghitung panjang busur arc.

Untuk menghitung panjang busur arc rumus matematikanya= (pi x diameter) x (besar sudut arc /360)

[sourcecode language=’cpp’]
(defun c:gt (/)
;;;fungsi meubah nilai radian ke derajat
(defun rad_to_deg (nrad)(setq ndeg (/ (* nrad 180) pi)) ndeg)
;;;prosedur mendapatkan input
(setq get_arc (entget (car (entsel))))
(setq get_radius_arc (cdr (assoc 40 get_arc)))
(setq get_sudut_awal (rad_to_deg (cdr (assoc 50 get_arc))))
(setq get_sudut_akhir (rad_to_deg (cdr (assoc 51 get_arc))))
;;;prosedur menghitung panjang busur arc
(if (> get_sudut_awal get_sudut_akhir)
(setq get_sudut_akhir2 (+ 360 get_sudut_akhir))
get_sudut_akhir2
)
(setq selisih_sudut (- get_sudut_akhir2 get_sudut_awal))
(setq get_busur_arc (* 2 pi get_radius_arc (/ selisih_sudut 360)))
;;;prosedur menampilkan nilai
(terpri)
(if get_radius_arc (princ (strcat “Radius arc = ” (rtos get_radius_arc 2 4)))(terpri))
(terpri)
(if get_sudut_awal (princ (strcat “Sudut awal = ” (rtos get_sudut_awal 2 0)))(terpri))
(terpri)
(if get_sudut_akhir (princ (strcat “Sudut akhir = ” (rtos get_sudut_akhir 2 0)))(terpri))
(terpri)
(if get_busur_arc (princ (strcat “Panjang busur arc = ” (rtos get_busur_arc 2 4))))
(princ)
)
[/sourcecode]

Coba bandingkan dengan LIST (perintah autocad)

Bila pusing berlanjut, hubungi tentangcad terdekat.







  • jelas lebih mudah dengan Autolips pak… thanks pak atas ilmunya, bermanfaat sekali… :-)

    • udaaf

      silahkan coba yang ini :

      ;Mengetahui Pajang Busur
      (defun c:PJB (/ ename vevo ArcLength)
      (vl-load-com)
      (setq ename (car(entsel "\nPilih ARC:")))
      (setq vevo (vlax-ename->vla-object ename))
      (setq ArcLength (vlax-get-property vevo 'ArcLength))
      (alert (strcat "Panjang Busur Adalah" " " (rtos ArcLength)))
      (princ)
      )
      (princ)