1372826956:AAFe2Py65GSQkfGiRnXuOQ-eD9yXcwMv988

Örneklerle Fonksiyon Tanımları #21 – Çeşitli

sekil-01


*error*          Genel hata yordamını düzenler.

Bu genel anlamda bir fonksiyon değildir. Aksine, bu ifade tanımlayamayan ayrılmış bir sembolüdür. Bu sembolü tanımladığınız zaman, bu sembol yerleşik hata “error” yordamının yerini alır.

*error* fonksiyonu tanımlandığı ve AutoLISP bir hata tespit ettiği zaman, yerleşik hata “error” yordamı devreye girer ve aşağıdaki işlemleri gerçekleştirir:

(1) ekranda hata: “error:” yazısını görüntülettikten sonra uygun hata mesajını görüntületir.

(2) hatanın nasıl düzeltilebileceğini anlamaya yardımcı olmak için, hatalı program kodunu ekrana getirir.

*error* fonksiyonunu (sembolünü) tanımladıktan sonra, yerleşik hata “eror” yordamı kodda bir hata meydana geldiği zaman, ne yapacağınızı ve (şayet mevcutsa) hangi hata mesajının görüntüleneceğini belirler; yerleşik hata “eror” yordamı ekrana herhangi bir kod getirmez. Yerleşik hata “eror” yordamı hatanızı bir dizgeye gönderecektir; yani bu dizgeyi alabilmek için, hata yordamınız değişken listesinde en az bir adet değişkene sahip olmak zorundadır. Hata “Eror” yordamınızın bu dizge ile ne yapacağı size bağlıdır.

Örneğin, aşağıdaki  *error* fonksiyonunun olası tanımını düşünün:

(defun *error* (str)

(princ “—HATA—“)

(cond

((= str sıfıra bölünme “divide by zero”) (princ “Payda sıfır olamaz“))

((= str “null function”) (princ “Fonksiyon tanımlı değil, yüklenmemiş veya yazımı yanlış “))

(1 (princ str)) )

(princ)

)

Bir hata meydana geldiği zaman, AutoLISP yerleşik error yordamı yerine bu fonksiyonu (*error* fonksiyonu) çağırır ve belirleyeceğiniz uygun bir hata mesajı görüntüler; fakat ekrana herhangi bir kod getirmez.


ver      AutoLISP’in sürümünü (versiyon) görüntületir.

(ver) şayet AutoLISP’in 14 sürümünü İngilizce olarak kullanıyorsanız,  “AutoLISP Release 14.0 (en)” olarak döner


startapp         Belirleyeceğiniz Windows uygulamasını çalıştırır.

(startapp “explorer”) Windows araştırıcıyı “Windows Explorer” çalıştırır (setq ap “notepad” fi “bornova.txt”) (startapp ap fi) Windows Not defterini “Windows Notepad” çalıştırır ve BORNOVA.TXT isimli dosyayı (şayet mevcutsa) açar veya (şayet mevcut değilse) yaratır


alert    Basit bir iletişim kutusunda bir mesaj görüntületir.

(alert “Yarıçap gerekenden daha büyük”) “Yarıçap… ” mesajını kullanıcının işleme devam etmeden önce tıklamak zorunda olduğu OK düğmesi ile birlikte bir iletişim kutusuna koyar ve ekranda görüntületir


help    Bir yardım dosyası görüntületir.

(help “acad”) ön tanımlı AutoCAD yardım aracını görüntületir

(help) yukarıdaki örneğin aynısıdır

(help “acad” “arc”) ARC komutu hakkındaki yardımı görüntületir


setfunhelp      Bir fonksiyon ile bir yardım dosyasının ismini ilişkilendirir.

(setfunhelp “c:mslot” “acad” “mslot”) içerik duyarlı yardım oluşturur; böylece, şayet kullanıcı “c:mslot” AutoLISP komutunu çalıştırır ve F1 tuşuna basarsa, AutoCAD yardım aracı “acad” yardım dosyasına (“acad.hlp”) ulaşır ve “mslot” ile ilgili kısmı görüntületir.


atoms-family (Yerleşik ve kullanıcı tanımlı sembollerin hepsi dahil olmak üzere) o anki geçerli tanımlı nesnelerin listesini geri döndürür.

(atoms-family 0) o anki geçerli tanımlı nesnelerin listesi sembol olarak geri döner (atoms-family 1)  o anki geçerli tanımlı nesnelerin listesi dizge olarak geri döner

Sadece belirli bir sembol hakkında rapor almak istediğiniz zaman, dizge olarak bir veya daha fazla sayıda sembol ismini içeren bir listeyi isteğe bağlı ikinci argüman kullanılabilir. Bu durumda atoms-family fonksiyonu ikinci argüman verilen listedeki her bir sembol için, şayet tanımlı iseler, o sembollerin isimlerini içeren bir liste geri döndürür; şayet tanımlı değillerse, boş olarak geri döner.

(atoms-family 1 (list  “func8”  “func9”  “sqrt”)) şayet func8 isimli fonksiyon bir kullanıcı tanımlı fonksiyon ve func9 isimli fonksiyon tanımlı değilse, (“FUNC8”  nil  “SQRT”)olarak geri döner

Tabi ki, sqrt bir yerleşik fonksiyon olduğu için, bu fonksiyonun ismi de geri dönecektir.

(atoms-family 0 (list  “func8”  “func9”  “sqrt”)) yukarıdaki aynı sebepten ötürü (FUNC8  nil  SQRT) olarak geri döner


quote  Verilen ifadeyi veya karakteri değerlendirmeden geri döndürür. Bu fonksiyon tek bir tırnak işareti (‘) olarak kısaltılabilir.

(quote a) A olarak döner (A sembolü a değişkenine atanan değerin tersidir.)

‘a yukarıdaki örneğin aynısı

‘(* p q) (* p q) olarak döner


eval     Sembolün veya ifadenin ilave değerlendirilmesine zorlar.

(eval 5.0) 5.0 olarak döner

(eval (+ 2 6)) 8 olarak döner

(setq a 12.7 b ‘a) ifadesinden sonra (eval a)  12.7 olarak döner

(eval ‘b) A olarak döner

(eval b) 12.7 olarak döner


read    Bir dizgeden bir atom (tekil eleman) (sembol) veya liste geri döndürür.

(read “Beyin”) BEYİN olarak döner

(read “(Autolisp’i seviyorum)”) (AUTOLISP’İ SEVİYORUM) olarak döner

(read “(Ya Autolisp olmasaydı)”) (YA AUTOLISP OLMASAYDI) olarak döner


getenv            İşletim sistemi ortam değişkenine atanmış dizgeyi Windows kütüğünde “registry” depolandığı haliyle geri döndürür.

(getenv “WINDIR”) Windows 95 işletim sisteminde “C:\\WINDOWS” olarak döner

(getenv “ACAD”)  AutoCAD‘in Tercihler “Preferences“ kısmı altında bulunan Dosyalar “Files“ sekmesinde tanımlanmış olan araştırma klasör yollarını oluşturan klasörler seti olarak döner

(getenv “PATH”) işletim sisteminin kurulu olduğu klasör yolu ile birlikte AutoCAD’in araştırma klasör yolu olarak döner

NOT: Autodesk aşağıdaki grafik fonksiyonlarının AutoLISP’in ileriki sürümleri ile uyumluluğunu garanti etmemektedir. Ayrıca, farklı işletim sistemleri verileri çeşitli şekillerde isteyebilmektedir. Daha fazla bilgi için AutoCAD Özelleştirme Rehberi’ne bakın.


grread            Veri giriş cihazlarını okur.

(grread) veri giriş kaynaklarını gösteren listenin birinci elemanının kodlanmış veri bilgisi olarak döner; örneğin:

(2 66)  —  klavyeden (büyük harf olarak) B harfi (3 (6.5 3.25 0.0))  —  farenin imleci ile seçilen noktanın koordinatları

(4 8)  —  seçilen ekran menüsünün dokuzuncu (9.)kutusu (numaralandırma sıfırdan (0) başlar)

(11 0)  —  farenin basılan sağ tuşu (farenin sol tuşuna basıldıktan sonra, numaralandırma tekrar sıfırdan (0) başlar)

(grread 1) aşağıdakilere benzer şekilde geri döner:

(5 (4.375886 3.998572))  —  imlecin sürüklenme koordinatlarıdır. Birinci argüman (1) isteğe bağlı olup; izlemeyi etkin hale getirmektedir.

(grread nil 4 2) bir nokta tıklanıncaya dek “tıklama kutucuklu” imleci etkinleştirir. İkinci argüman imleç değişme özelliğini etkinleştirir ve üçüncü argüman imlecin tipini belirler


grtext             Ekran menüsü alanına veya komut satırına bir yazı yerleştirir. (yukarıdaki NOT’a bakın.)

(grtext) yazı alanlarının grafiklerini normal yazı olarak ayarlar (grtext 0 “DİNAZOR”) ekran menüsü alanının ilk kutusuna (hücresine) “DİNAZOR” yazdırır. Birinci argüman kutu numaralarını belirlemekte olup; ilk kutu için numaralandırma sıfırdan (0) başlamaktadır. Ekran kutuları değişkeni sayısı AutoCAD penceresinin ebatına bağlı olarak değişir ve SCREENBOXES sistem değişkeninden elde edilebilir.

(grtext -1 “METU”) mod “mode” durum çubuğuna “METU” yazdırır. (MODEMACRO sistem değişkeni ile aynı ayar etkisine sahiptir).


grdraw           O anki geçerli (Aktif) görüntü bakışında “viewport” bir vektör çizer. Bu vektör çizimin parçası değildir; düzenlenebilir ve çizim yenilendiği zaman, bu vektör kaybolur.

(grdraw (list 2 2) (list 4 4) 5) 2,2 noktasından 4,4 noktasına 5 numaralı renge (mavi) sahip bir vektör çizer

(setq p1 (list 5 0) p2 (list 0 5)) ifadesinden sonra

(grdraw p1 p2 3 1)  5,0 noktasından 0,5 noktasına 3 numaralı renge (yeşil) sahip, vurgulanmış bir vektör çizer


grvecs             Birden fazla sayıda vektör çizer. grdraw fonksiyonunda olduğu gibi, bu vektörler çizimin parçası (elemanı) değillerdir.

(grvecs (list 1 (list 2 2) (list 4 2) 3 (list 4 2) (list 4 4) 5 (list 4 4) (list 2 4) 6 (list 2 4) (list 2 2))) aşağıdaki dört vektörü çizer:

2,2 noktasından 4,2 noktasına 1 numaralı (kırmızı) renkli

4,2 noktasından 4,4 noktasına 3 numaralı (yeşil) renkli

4,4 noktasından 2,4 noktasına 5 numaralı (mavi) renkli

2,4 noktasından 2,2 noktasına 6 numaralı (macenta) renkli

Liste tek sayıda nokta listeleri çiftlerini içermek zorundadır. Her bir nokta çiftinden önce gelen renk numaraları isteğe bağlıdır.


mem               AutoLISP hafıza istatistiklerini (nodlar, serbest nodlar, segmanlar, tahsisler ve koleksiyonlar) görüntületir (yukarıdaki NOT’a bakın)

Hakkında Sertan Türkan

AutoCAD Beyni

Bunu da Kontrol edin

Revitte Altlıklar “Underlay” Hakkında

Revit’te koordinasyon ve inşaat için farklı kotlardaki bileşenlerin ilişkisini anlamanız gerektiğinde Altlıklar “Underlays” yararlıdırlar. Video: …

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Yardıma mı ihtiyacınız var? Chat with us
Bir görüşme başlatmak için lütfen önce gizlilik politikamızı kabul edin.