Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

AutoLisp

(print(getstring "\n\nCao, kako se zoves? "));unos sa tastature (string) i ispis na konzolu


(print(getint "\n\nKoliko imas godina? "));unos sa tastature (int) i ispis na konzolu

;metoda sa parametrima bez povratne vrednosti


(defun imePrezime (ime prezime)
(write-line(strcat "\nIme: " ime "\nPrezime: " prezime))
)

(defun c:godine()
(setq godRodj (getint "\nUnesite godinu rodjenja: "))
(write-line (strcat "\nImate " (rtos (- 2017 godRodj) 2 0) " godina!"))
)
Zadavanje komandi u AutoLispu
;crtanje kruznog luka (3 point)
(command "arc" "25,7" "30,4" "35,7")

;crtanje pravougaonika
(command "rectang" "25,17" "30,14")

;crtanje kvadrata
(command "rectang" "2,20" "7,15")

;opisan krug oko kvadrata


(command "circle" "4.5,17.5" "7,20")

1
;upisan krug u kvadrat
(command "circle" "4.5,17.5" "4.5,20")

;poluprecnik opisanog kruga


(command "line" "4.5,17.5" "7,20" "")

;poluprecnik upisanog kruga


(command "line" "4.5,17.5" "4.5,20" "")

Definisanje vrednosti X i Y koordinata za tačku


(setq pt1 (getpoint "\nIzaberite tacku: "))
(setq x (car pt1))
(setq y (cadr pt1))
(setq x1 (+ x 1))
(setq pt2 (list x1 y))

(print x)
(print x1)
(print y)
(print (type x1))
(print (type pt2))
(print pt2)

Kreiranje komande za iscrtavanje smajlića


(defun c:smile ()

(command "circle" "5,5" "9,5")

(command "circle" "3,6" "4,6")

2
(command "circle" "7,6" "8,6")

(command "line" "5,6" "5,4" "")

(command "arc" "3,3" "5,2" "7,3")

;(command "arc" "3,2" "5,3" "7,2") Koordinate za luk kod 

Kreirati komandu koncentricni krugovi koja neće prihvatati parametre a koja će prilikom
poziva zahtevati od korisnika da unese:

 Centar krugova,
 koliko (broj) koncentričnih krugova želi da nacrta,
 poluprečnik početnog (NAJMANJEG) kruga i
 međusobno rastojanje krugova (rastojanje između kružnica).

(defun c:koncKrugovi()
(setq ptCentar (getpoint "\nUnesite centar krugova"))
(setq n (getint "\nUnesite koliko (broj) koncetricnih krugova zelite da nacrtate"))
(setq r (getint "\nUnesite POLUPRECNIK pocetnog (najmanjeg) kruga"))
(setq rastojanje (getint "\nUnesite medjusobno rastojanje krugova"))
(setq i 0)
(while (< i n)

(command "circle" ptCentar r)


(setq r (+ r rastojanje))
(setq i (+ i 1))
)
)

3
Kreirati komandu koncentricni krugovi koja neće prihvatati parametre a koja će prilikom
poziva zahtevati od korisnika da unese:

 Centar krugova,
 TAČKU na kružnici kruga koji želi da nacrta,
Nakon iscrtavanja prvog kruga pitati korisnika da li želi da nacrta sledeći krug (ponuditi opcije
Da/Ne), iscrtavati koncentrične krugove sve dok ne odabere opciju Ne.

(defun c:koncKrugovi()
(setq ptCentar (getpoint "\nUnesite centar krugova"))
(setq x1 (car pt1))
(setq y1 (cadr pt1))

(setq i 0)
(while (= i 0)
(setq ptPoluprecnik (getpoint "\nUnesite tacku na kruznici"))

(command "circle" ptCentar ptPoluprecnik)


(setq opcijaJos (getstring "Da li zelite da nacrtate jos jedan KRUG [Da/Ne]"))
(if (= opcijaJos "N")
(setq i 1)
)
)
)

You might also like