Berikut coding untuk membuat cones dan bentangannya :
;; Program membuat cones dan bentangannya
;; Version : 1.0
;; Created by : Afrizanirman
;; Date : 25 Nov 2011
;; email : udaaf@yahoo.co.id
;; Telp : 0817 9870990 / 021 92031733
;Global Variable untuk mengkonversi degree ke dalam radian
(defun DTR (x)
(* PI (/ x 180.0))
) ;defun
;Global Variable untuk mengkonversi radian ke dalam degree
(defun RTD (x)
(* x (/ 180.0 PI))
) ;defun
(defun c:cones (/ A B D Th E PT0 PT1 PT2 PT3 PT4 C alpha SB tetha PTD PTD1 PTD2 PTD3 PTD4)
;Mengambil Inputan
(setq A (getreal “\nMasukan Data ID Bagian Bawah:”)
B (getreal “\nMasukan Data ID Bagian Atas:”)
D (getreal “\nMasukan Tinggi Cones:”)
Th (getreal “\nMasukan Thickness:”)
)
;Mengolah Inputan Data
(setq oldOsnap (getvar “OSMODe”))
(setvar “OSMODE” 0)
(setq E (- (/ A 2) (/ B 2))
PT0 (getpoint “\nTentukan Titik Peletakan Cones:”)
PT1 (list (- (car PT0) (/ A 2)) (cadr PT0))
PT2 (list (+ (car PT0) (/ A 2)) (cadr PT0))
PT3 (list (- (car PT0) (/ B 2)) (+ (cadr PT0) D))
PT4 (list (+ (car PT0) (/ B 2)) (+ (cadr PT0) D))
C (sqrt (+ (expt D 2) (expt E 2)))
) ;setq
;Mencari sudut kemiringan
(setq alpha (atan (/ D E)))
;Mencari Radius Blanking
(setq SB (/ (/ A 2) (cos alpha)))
;Mencari Sudut Blanking
(setq tetha (* (/ (/ A 2) SB) 360.0))
;Membuat 2D model using AutoLISP
(command “PLINE” PT1 PT3 PT4 PT2 “C”)
;Mencari titik peletekan blanking
(setvar “osmode” oldosnap)
(setq PTD (getpoint “\nTentukan Titik Peletakan Development:”))
(if (<= tetha 180.0)
(progn
(setq ang (+ 180.0 (/ (- 180.0 tetha) 2))
PTD1 (polar PTD (DTR ang) (- SB C))
PTD2 (polar PTD (DTR ang) SB)
PTD3 (polar PTD (DTR (+ ang tetha)) (- SB C))
PTD4 (polar PTD (DTR (+ ang tetha)) SB)
) ;setq
) ;progn
(progn
(setq ang (+ 90.0 (/ (- 360.0 tetha) 2))
PTD1 (polar PTD (DTR ang) (- SB C))
PTD2 (polar PTD (DTR ang) SB)
PTD3 (polar PTD (DTR (+ ang tetha)) (- SB C))
PTD4 (polar PTD (DTR (+ ang tetha)) SB)
) ;setq
) ;progn
) ;if
(setvar “osmode” 0)
(command “line” PTD1 PTD2 “”)
(command “line” PTD3 PTD4 “”)
(command “arc” “c” PTD PTD1 PTD3)
(command “arc” “c” PTD PTD2 PTD4)
(setvar “osmode” oldOsnap)
(princ)
) ;defun
(princ)

