Getpoint Fonksiyonu
Getpoint fonksiyonu autocad ortamında kullanıcının bir nokta koordinatlarını seçtirmemizi sağlar.
Bu fonksiyon ile iki şekilde girdi yaptırabilirsiniz;
1) Seçilmek istenen noktanın x y z koordinatları biliniyorsa bunları klavye ile aralarına virgül koyarak yazabilirsiniz.
2) Seçilmek istenen nokta tıklayarak seçilebilir.
F1 yardım menüsünde;
(getpoint [pt] [msg])
[pt] ilk nokta, belirtmek zorunlu değil
[msg] kullanıcı iletisi, belirtmek zorunlu değil
şeklinde tanımlanmaktadır.
Misal9:
Bu misalde ilk noktası belli olmayan bir nokta girdisi alacağız.
( getreal "\n Bir Nokta Seçiniz:" ) ;kullanıcıdan bir nokta seçmesi istedik.
Command: Bir Nokta Seçiniz:
Misal10:
Bu misalde kullanıcıdan ilk noktası belli olmayan bir nokta girdisi alacağız.
( getreal pt "\n Bir Nokta Seçiniz:" ) ;kullanıcıdan bir nokta seçmesini istedik.
Command: Birnokta seçiniz:
Bu misaldeki pt daha önceden tanımlanmış bir nokta koordinat listesi olmalıdır. Yani setq ile pt değişkenine bilinen bir noktanın x y z parametreleri atanmış olmalıdır.
Getreal Fonksiyonu
Bu fonksiyon kullanıcının reel sayı girmesini sağlar.
F1 yardım menüsünde;
(getreal [msg])
[msg] kullanıcı iletisi, belirtmek zorunlu değildir
şeklinde tanımlanmaktadır.
Misal11:
Bu misalimizde kullanıcıdan reel sayı girmesini isteyeceğiz.
( getreal "\n Bir Sayı Giriniz:" );kullanıcıdan bir sayı girmesini istedik…
Command: Bir Sayı Giriniz:
Command Fonksiyonu
Bu fonksiyon autocad komutlarını işletmemizi sağlar.
F1 yardım menümüsünde
(command [arguments] ...)
şeklinde tanımlanmaktadır.
Burda arguments yazan yere autocad komutunun adı ve komutun alt basamaklarında iletilen iletilere verilecek cevaplar yer almalıdır.
Misal12:
Bu misalimizde LINE komutunu işleteceğiz.
( command "line" "10, 10, 0" "20, 20, 0" "" );burda line komutu kullanılarak 10, 10, 0 noktasından başlayıp 20, 20, 0 noktasına giden bir çizgi çizdirdik.
Line komutu bu şekilde işletilebileceği gibi daha önceden getreal fonksiyonu ile seçilmiş ve setq fonksiyonu ile bir değişkene atanmış noktalar kullanılarakta işletilebilir.
( command "line" p1 p2 "" );burda daha önceden seçip p1 değişkenine atadığımız noktadan başlayıp p2 noktasında biten bir çizgi çizdirdik.
Bu fonksiyon kullanılırken komutu kullanırken enter girmemizi istediği basamaklarda " " çift tırnak işareti kullanmalıyız ve komuttan çıkmak içinde " " çift tırnak işareti kullanmalıyız.
Buraya kadar öğrendiğimiz fonksiyonlarla autocad ortamında çalışan iki program yazalım...
İlk programımız kullanıcıya iki nokta seçtirerek bir line çizdirmek ve çizginin çizildiğine dair kullanıcıya ileti göndermek.

(defun c:çiz()
(setq p1 (getpoint "\nİlk Noktayı Seçiniz:"))
(setq p2 (getpoint p1 "\nİkinci Noktayı Seçiniz:"))
(command "line" p1 p2 "")
(terpri)
(prompt "Çizgi çizildi...")
)
Satırları tek tek anlamları şöyledir.
Birinci satırda defun fonksiyonu ile programımızı başlattık c: dan sonra tanımlanan kod yani çiz programımızı çalıştırmamızı sağlayacak kod olarak ayarladık.
İkinci satırda kullanıcıdan getpoint fonksiyonu ile bir nokta seçmesini istedik ve setq fonksiyonu ile seçilen bu noktanın koordinatlarını p1 değişkenine atadık.
Üçüncü satırda yine kullanıcıdan birinci noktaya bağlı olarak (seçim yaparken birinci seçtiğimiz noktadan başlayan bir çizgi çıkardık bu çizgi imlecin hareketine göre yün alıyor standart line komutunda olduğu gibi... bunu yapan getpoint fonksiyonundan sonra p1 değişkenini yazmış olmamız eger p1 değişkenini yazmasaydık ikinci nokta seçilirken çizgi görmeyecektik...) getpoint fonksiyonu ile ikinci noktayı seçmesini istedik ve setq fonksiyonu ile noktanın koordinatlarını p2 değişkenine atadık.
Dördüncü satırda command fonksiyonu ile seçtiğimiz p1 noktasından başlayıp p2 noktasında biten bir doğru çizdirdik.
Beşinci satırda kullanıcıya doğrunun çizildiği iletisini yeni bir satırda verebilmek için terpri fonksiyonu ile bir alt satıra geçtik.
Altıncı satırda prompt fonksiyonu ile kullanıcıya çizginin çizildiğini iletisini verdik. Son parantez ile ana fonksiyonumuz olan defun fonksiyonunu kapattık.
Bu programda, içiçe iki fonksiyonun (setq ve getpoint) nasıl yazıldığına ve kullanıcı iletilerinin nasıl yazıldığına dikkat ediniz.
İkinci programımız kullanıcıdan iki sayı girmesini isteyerek, bu sayıların çarpımlarını command satırına yazdıracağız.

(defun c:çarp()
(setq num1 (getreal "\nİlk Sayıyı Giriniz:"))
(setq num2 (getreal "\nİkinci Sayıyı Giriniz:"))
(setq sum (* num1 num2))
(princ sum )
)
Satırları tektek açıklamak gerekirse:
Birinci satırda defun fonksiyonu ile programımızı başlattık ve c: ile programızın çalıştırma kodunu çarp olarak tanımladık.
İkinci satırda getreal fonksiyonu ile kullanıcıdan ilk sayıyı girmesini istedik ve girilen sayıyı setq fonksiyonu ile num1 değişkenine atadık.
Üçüncü satırda getreal fonksiyonu ile kullanıcıdan ikinci sayıyı girmesini istedik ve girilen sayıyı setq fonksiyonu ile num2 değişkenine atadık.
Dördüncü satırda kullanıcıdan aldığımız ve num1 ve num2 değişkenine atadığımız sayıları birbiri ile çarptık ve sonucu setq fonksiyonu ile sum değişkenine atadık.
Beşinci satırda princ fonksiyonu ile sonucu kullanıcıya command satırından bildirdik.
Altıncı satırda ana fonksiyonumuz olan defun fonksiyonunu kapattık.
Bu programımızda içiçe yazılan fonksiyonlara, aritmetik işlemlerin nasıl yazıldığına ve kullanıcıya iletilen iletilerin nasıl yazıldığına dikkat ediniz.
Birdahaki dersimizin konusu autocad sistem değişkenlerinin bir değişkene atanması ve bu değişkenlerin yaniden tanımlanması.