Deprecated: Assigning the return value of new by reference is deprecated in /home/autocadh/public_html/forum/bb-settings.php on line 186

Deprecated: Assigning the return value of new by reference is deprecated in /home/autocadh/public_html/forum/bb-includes/backpress/functions.wp-object-cache.php on line 108

Deprecated: Assigning the return value of new by reference is deprecated in /home/autocadh/public_html/forum/bb-includes/backpress/pomo/mo.php on line 171

Deprecated: Assigning the return value of new by reference is deprecated in /home/autocadh/public_html/forum/bb-includes/functions.bb-l10n.php on line 484

Deprecated: Assigning the return value of new by reference is deprecated in /home/autocadh/public_html/forum/bb-includes/backpress/class.wp-taxonomy.php on line 581
AutoCAD Forumu | AutoLisp dosya türünün yapısı

AutoCAD Forumu

  • Anasayfa
  • AutoCAD Dersleri
  • AutoCAD Test
  • Proje ve Çizim
  • İletişim
  • Forum
AutoCAD Kursu

AutoCAD Kursu

gstaricad
autocad reklam
cadistanbul
autocad reklam

Register - lost password?

AutoCAD Forumu » AutoCAD Dersleri » AutoCAD Dersleri

AutoLisp dosya türünün yapısı

1 mesaj from 1 katılımcı
  • 2 yıl önce autocadhocasi tarafından başlatıldı.
  • Benzer Konular:
    1. autocad çizim dosyalarında değişiklik
    2. Dosya kaydetme ve açma menüsü çıkmıyor
    3. AutoCAD AutoLISP 'in anlamı
    4. AutoCAD'de Lisp Dosyalarının Oluşturulması ve Yüklenmesi
    5. AutoCAD Autolisp komutları ve açıklamaları

Etiketler:

  • autocad
  • AutoLisp
  • dosya
  • türünün yapısı
  1. autocadhocasi

    mod
    Joined: Eki '09
    Posts: 508


    Warning: file_get_contents(http://mikiurl.com/api/?url=http://www.autocadhocasi.com/forum/topic/autolisp-dosya-turunun-yapisi) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/autocadh/public_html/forum/bb-plugins/social-it/functions.php on line 844

    Bir LISP dosyası içinde tüm fonksiyonlar bir sol parantez ” ( ” ile başlar ve bir sağ parantez ” )” ile biter. Parantezler kuralına uyuldukça bir fonksiyon içinde başka alt fonksiyonlar da bulunabilir. AutoLISP dosyalarının ilk satırları daima (defun ifadesiyle başlar. Bu AutoLISP’in en temel fonksiyonudur. Defun fonksiyonu kullanılmadan AutoLISP programı yazılamaz. AutoLISP, fonksiyonların veya değişkenlerinin yazılması veya derlenmesi sırasında büyük küçük harf ayrımı yapmaz.

    Örnek:
    (defun fonk.adı ( )
    (sub.fonk1 (sub.fonk2))
    ) ; parantez sayısına dikkat ediniz.

    Yukandaki örnekte görüldüğü gibi fonksiyon (defun ile başlamıştır. Sub.fonk olarak tanımlanan fonksiyonlar ana fonksiyon içinde kullanılan ve işlemleri yapan alt fonksiyonlardır. Bu alt fonksiyonlar genellikle, standart LISP fonksiyonları veya kullanıcıların tanımladığı fonksiyonlardır. Daha önce de belirtildiği gibi LISP dosyalarında dikkat edilmesi gereken en önemli hususlardan bir tanesi parantezlerdir. Özetle diyebilirim ki AutoLISP dosyasında “AÇILMIŞ OLAN PARANTEZ KADAR PARANTEZİN PROGRAM AKIŞINA GÖRE UYGUN YERLERDE KAPATILMASI ZORUNLUDUR.”

    Yazılan AutoLISP dosyaları AutoCAD ortamına çağrıldığında (bu işlem daha sonra detaylı olarak anlatılacaktır) daha önce de belirtildiği gibi AutoLISP tarafından değerlendirneye alınır. Bu değerlendirme dosya AutoCAD ortamında çalıştırılmaya başlanmadan hemen önce yapılır. AutoLISP değerlendiricisine EVULATOR adı verilir. Değerlendirme esnasında ekranda Command: alanında ; n> ifadesi görülürse (n bir tamsayıdır) n kadar sağ parantezin eksik olduğu anlaşılır.Yani açılan sol parantezler içinde n tanesi sağ parantez kullanılarak kapatılmamıştır. Bu hatayı düzeltebilmek için LISP dosyanıza dönerek n tane sağ parantezi uygun yerlere koymanız gerekir.

    Bazen programın başında açılmış olan bir sol parantez programın sonlarına doğru kapatılabilir (Yukarıdaki örnekte olduğu gibi). Tabii ki bu parantezlerin yeri fonksiyonun işlevi ile bağlantılıdır.Fonksiyonlar içindeki ifadeler birden fazla satıra taşabilir ;

    (prompt “BU YAZI BIR SATIRDAN FAZLA OLDUĞU İÇİN İKİNCİ SATIRA DA DEVAM EDEBİLİR. ÖNEMLİ OLAN AÇILMIŞ SOL PARANTEZLERİN SAĞ PARANTEZLER İLE KAPATILMASIDIR” )

    Defun fonksiyonu ile program yazımına başlandıktan hemen sonra bu fonksiyon bir sağ parantez ile kapatılmaz. (defun ile başlayan ve ardından fonksiyon adının yazıldığı bu fonksiyon içinde, yapılacak işlemleri tanımlayan alt fonksiyonlar yer alır.

    Örnek:
    (defun toplama ( )
    (setq A (getint “BİRİNCİ SAYIYI GİRİNİZ :” ))
    (setq B (getint “İKİNCİ SAYIYI GİRİNİZ :” ))
    (setq C (+ A B))
    princ “nSONUÇ : ” )
    (princ C)
    (princ)

    Yukarıdaki örnekte ilk satır fonksiyonun başlangıç satırıdır. İkinci satır ile kullanıcıdan bir sayı girmesi istenir. Girilecek sayı tamsayıdır. Bu sayı A değişkenine atanır. Üçüncü satırda ikinci tamsayı istenir. Bu sayıda B değişkenine atanır. Dördüncü satırda ise girilmiş olan iki tamsayı toplama işlemine sokulur ve sonuç C değişkenine atanır. Beşinci satırda belirtilmiş olan fonksiyon sayesinde üçüncü satırda elde edilmiş olan sonuç ekranın komut alanına yazdırılır. Son satırdaki parantez ile de ilk satırda açılmış olan parantez kapatılır. Bu örnekte AutoLISP’in standart fonksiyonlarından olan setq ve princ fonksiyonlarının nasıl kullanılabileceğini görmüş olduk.

    • Tweet This!
    • Share this on FriendFeed
    • Share this on Facebook
    • Subscribe to the comments for this post?
    • Add this to Google Bookmarks
    • Share this on Technorati
    • Email this to a friend?
    • Stumble upon something good? Share it on StumbleUpon
    • Post this to MySpace
    • Share this on del.icio.us
    • Digg this!
    • Share this on Linkedin
    2 yıl önce gönderildi #

Bu konu için RSS beslemesi

Cevapla

Mesaj gönderebilmek için giriş yapmalısınız.

AutoCAD autocad reklam alanı
AutoCADHocasi.com Kaan Gülten tarafından oluşturulmuş, Dersler veren sitedir.
Destek Ol
Seo Danışmanlığı
Önem Verilen Kelimeler
  • AutoCAD Kursu
  • indir
  • AutoCAD 2011
  • Download
  • Dersleri
Özel Yazılar
  • Kurs Projesi
  • 3 Boyutlu Araba Çizimi
  • 3 Boyutlu Havuz Çizimi
  • Sweep Komutu 3
  • Sweep Komutu 4
Özel Yazılar 2
  • Projeksiyon Görüntüsü Oluşturma
  • Buzlu Cam Yapımı
  • Anipath - Yol Animasyonu
  • Işıklı Kalem Çizimi
  • Divide ile Yol üzerinde ilerleyen yazı
Google Site Map | AutoCAD Hocası | AutoCAD | AutoCAD | Google

Powered by 2008 - 2010 AutoCADHocasi.com


Bu sayfada yeralan yazi, resim ve yorumlarin tum yayin haklari www.AutoCADHocasi.com sitesine aittir. Yazi resim ve makaleleri izin almadan yayinlamak ya da referans gostermek kesinlikle yasaktir. (c) Copyright.