Monday, March 3, 2014

PROGAM AUTO LIST UNTUK MENGHITUNG DUA TITIK SUDUT


Fungsi dari progam AUTO LIST ini adalah  untuk menentukan besarnya sudut pada sebua garis dengan menggunakan dua titik  yaitu ANGBASE dan ANGDIR , Dengan menggunakan progam AUTO LIST pekerjaan menggambar dengan AUTO CAD akan lebih cepat, terutama pekerjaan-pekerjaan menggambar yang berhubungan dengan menentukan besarnya sudut pada sebuah garis,bila di bandingkan dengan menggambar langsung menggunakan AUTO CAD tanpa menggunakan AUTO LIST

Cara menggunakan Progam Auto LIST Menghitung dua titik sudut adalah sebagai berikut:

1.       Pada command : di AUTO CAD, ketik perintah VLISP. Hal ini mempunyai maksud dan tujuan untuk memanggil progam AUTO LIST
2.       Pada WINDOW CONSOLE , ketik kode progam AUTO LIST di bawah ini:

:: KODE PROGAM AUTO LIST::

; program untuk menentukan sudut
; antara dua titik dengan (getangle) dan (getorient)
; ANGBASE dan ANGDIR ditentukan oleh user

(prompt "Tunggu sesaat untuk loading program SUDUT2TTK....")

(defun c:sudut2ttk
       (/ pt1 sdt OLDANGBASE OLDANGDIR NEWANGDIR NEWANGBASE kel360)

    (setq OLDANGBASE (getvar "ANGBASE"))        ; ambil ANGBASE saat ini
  (setq OLDANGDIR (getvar "ANGDIR")) ; ambil ANGDIR saat ini

  (initget "CCW CW")
  (setq NEWANGDIR (getkword "\nMasukan setting ANGDIR [<CCW>/CW]: "))
  (if (null NEWANGDIR)
    (setq NEWANGDIR "CCW")
  )

  (if (= NEWANGDIR "CCW")
    (setvar "ANGDIR" 0)   ; ccw
    (setvar "ANGDIR" 1)   ; cw
  )
 
  (setq NEWANGBASE (getreal "\nMasukan setting sudut ANGBASE <0>: "))
  (if (null NEWANGBASE)
    (setq NEWANGBASE 0.0)
  )

  ; Reset nilai ANGBASE yang dimasukan jika ANGDIR = 1 (CW)
  (if (= NEWANGDIR "CW")
    (if        (<= NEWANGBASE 360.0)
      (setq NEWANGBASE (- 360.0 NEWANGBASE))
      (progn
                (setq kel360 (fix (/ NEWANGBASE 360.0)))
                (setq NEWANGBASE (- 360.0 (- NEWANGBASE (* 360.0 kel360))))
      ); _progn
    ) ;_if NEWANGBASE
  ) ;_if NEWANGDIR

   
  (setvar "ANGBASE" (deg->rad NEWANGBASE)) ; setvar untuk "ANGBASE" dianggap radian dalam AutoLISP

  ; mengambil dua titik untuk kalkulasi sudut
  (initget 1)
  (setq pt1 (getpoint "\nMasukan titik pertama: "))
  (initget 1)
  (setq sdt (getangle pt1 "\nMasukan titik kedua: "))


  (princ (strcat "\nSudut dua titik: "
                                                                                                 (rtos (rad->deg sdt) 2 2)
                                                                                                 " derajat"
                                                                                         )
  ); tuliskan hasil

  ;kembalikan nilai ANGBASE dan ANGDIR ke setting semula
  (setvar "ANGBASE" OLDANGBASE)
  (setvar "ANGDIR" OLDANGDIR)

  (princ)
) ;_defun
(princ)

; konversi dari radian ke derajat
(defun rad->deg                                                       (Nilrad)
  (* 180 (/ Nilrad pi))
)

; konversi dari derajat ke radian
(defun deg->rad                                                       (Nildeg)
  (* pi (/ Nildeg 180))
)



3.       Setelah Selasai klik tombol LOAD ACTIVE EDIT WINDOW, jika progam berhasil maka akan ada tulisan “; 5 forms loaded from #<editor "E:/autolist progam/progam autolist/Bab 9 Mencetak Output/promptsudut2ttk.LSP">”
4.       Kembali Ke AUTO CAD, pada command : ketik “ sudut2ttk ikuti perintah progam, sebagai contoh perhatikan kode progam AUTO LIST  yang ditampilkan pada AUTO CAD dibawah ini
Command: sudut2ttk

Masukan setting ANGDIR [<CCW>/CW]: < enter>

Masukan setting sudut ANGBASE <0>:< enter>

Masukan titik pertama:
Masukan titik kedua:
Sudut dua titik: 205.87 derajat

No comments: