İki Nokta Arasındaki Mesafe

Tanım

Bu komut girilen noktaların arasındaki mesafeyi çizim alanında noktaların ortasına yazdırmada kullanılabilir.

Program

(defun c:msf () ; 1
      (terpri)
      (setq blm (getvar "blipmode")) ; 2
      (setq osm (getvar "osmode")) ; 3
      (setq y1 (getreal "yazi boyu:")) ; 4
      (command "osmode" 1) ; 5
      (command "blipmode" 1) ; 6
      (setq bn (getpoint "ilk noktayı giriniz")) ; 7
      (terpri)
      (setq sn (getpoint "diger noktayı giriniz")) ; 8
      (terpri)
      (setq ds (distance bn sn)) ; 9
      (setq dst (rtos ds 2 2)) ; 10
      (setq rad (angle bn sn)) ; 11
      (setq deg (atof (angtos rad 0 2))) ; 12
      (setq on (polar bn rad (/ ds 2))) ; 13
      (command "text" "j" "bc" on y1 deg dst) ; 14
      (setvar "osmode" osm) ; 15
      (setvar "blipmode" blm) ; 16
)


Açıklamalar

1 defun c: ile msf isimli yeni bir komut tanımlanır.
2 getvar fonksiyonu AutoCAD sistem değişkenlerinin mevcut değerlerini almak için kullanılır. Bu satırda blipmode sistem değişkenin değeri setq fonksiyonu ile blm isimli değişkene atanmıştır.
3 Yukarıdaki satırda olduğu gibi osmode sistem değişkeninin değeri osm isimli değişkene atanmıştır.
4 getreal fonksiyonuyla reel bir sayının yazi boyu: iletisi ile y1 değişkenine atanması sağlanmıştır.
5 command fonksiyonu ile AutoCAD ortamındaki blipmode sistem değişkene 1 (on / açık) değeri atanmıştır
6 Yukarıdaki şekilde osmode sistem değişkene 1 (endpoint) değeri atanmıştır
7 getpoint fonksiyonuyla ilk noktayı giriniz mesajı ile koordinat girerek veya çizim alanına tıklayarak bn değişkenine nokta bilgisi girilmesi sağlanır.
8 Yukarıda olduğu gibi sn değişkenine nokta bilgisi girilmesi sağlanır.
9 distance fonksiyonu iki nokta arasındaki mesafeyi hesaplamada kullanılır. Bu satırda bn ve sn değişkenleri arasındaki mesafe ds değişkenine atanmıştır.
10 rtos fonksiyonu sayısal değerleri metinsel değerlere dönüştürmeye yarar. Burada ds değişkeni virgülden sonra iki hanesi olan ondalıklı sayı haline getirilmiştir. Bu değer metin halinde setq ile dst değişkenine atanmıştır.
11 angle fonksiyonu iki nokta arasındaki açıyı raydan cinsinden belirlenmesinde kullanılır. bn ve sn değişkenleri arasındaki raydan cinsinden açı rad değişkenine atanmıştır.
12 angtos fonksiyonu ise açılar arasında birim değiştirmek için kullanılır. burada rad değişkenindeki raydan cinsinde bulunan açı değeri virgülden sonra iki hane olacak şekilde derece cinsine çevrilmiştir. atof fonksiyonu ise metinsel değerleri sayısal değerlere çevirmek için kullanılır. Metin halindeki açı değeri sayısal değer olarak deg değişkenine atanmıştır.
13 polar fonksiyonu bilinen bir noktaya açı ve mesafe girilerek yeni bir nokta tanımlamaya yarar. Bu satırda bn ve sn isimli değişkenlerin orta noktası polar fonksiyonu ile hesaplanmış ve on değişkenine atanmıştır.
14 command fonksiyonu ile AutoCAD komutlarından text komutu kullanılarak j (Justify) si bc (bottomcenter) olan on noktasına y1 yazı boyunda deg açısında dst metnini içeren yazı yazılması sağlanmıştır.
15 setvar fonksiyonu AutoCAD sistem değişkenlerinin mevcut değerlerini değiştirmek için kullanılır. Bu satırda blipmode sistem değişkenine blm isimli değişken atanmıştır.
16 Yukarıdaki satırda olduğu gibi osmode sistem değişkenine osm isimli değişken atanmıştır.


Örnek Lisp Dosyasını İndirin

005-bm.lsp