Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

AutoLISP Uygulamalarını Otomatik Yüklemek

Konu, 'AutoCAD ve AutoCAD Civil 3D' kısmında Fatih Özcan tarafından paylaşıldı.

  1. Fatih Özcan

    Fatih Özcan Site Kurucusu

    [​IMG]

    AutoLISP dosyalarının, AutoCAD (TM) ve çizimlerinizin her açılışında otomatik olarak yüklenmesi kullanıcılar için biraz zahmetlidir. Bu amaçla yazının konusunu AutoLISP dosyalarının otomatik olarak yüklenmesi olarak seçtim. Başlamadan önce bazı terimleri açıklamamız gerekecek:

    Çok dokümanlı uygulama ( multi document interface ): Microsoft Word (TM) ve EXCEL (TM) gibi bazı ofis programları ile oluşan birden çok dokümanı aynı program içinde açma mantığı AutoCAD’e 2000 versiyonundan sonra geldi. Bu sayede birinci çizimi kapatmadan başka çizimleri açmak için bir tane daha AutoCAD açmanıza gerek kalmadı. Buna çok dokümanlı arabirim deniliyor.

    Uygulama düzeyi (application level): Çok dokümanlı uygulamalarda, dokümanlardan bağımsız olarak en üstte çalışan uygulamalara denilir.

    Dokuman düzeyi (document level): Çok dokümanlı uygulamalarda, her doküman için ayrı yüklenen uygulamaların çalışma seviyesidir.

    AutoLISP uygulama düzeyinde çalıştırılabilir bir program oluşturmaya izin vermez. Yani bir AutoLISP uygulamasını yüklediğinizde program sadece çalıştığınız çizim için geçerli olur. Çizimi kapatıp yeni bir çizim açtığınızda programı tekrar yüklemeniz gerekir.

    Şimdi en baştan başlayarak AutoLISP dosyalarının çizime nasıl yüklendiğine bakalım: Herhangi bir LISP dosyasını çizime yüklemek için ( load ... ) fonksiyonunu kullanırız. Örneğin 'tal_utils.lsp' dosyasını yükleyelim:

    Command: (load “tal_utils.lsp”)

    Bu şekilde dosyamızı çizimimize yüklemiş oluruz. Yalnız burada dikkat etmemiz gereken şey dosyamızın hangi dizinde durduğudur. Eğer dosyamız AutoCAD dizini altında durmuyorsa, durduğu yerin AutoCAD destek dizinleri listesine tanıtılması gerekir. Bu ayara 'Tools/Options' menüsünden ulaşabilirsiniz ( Şekil 1 ).

    [​IMG]
    Şekil 1 - AutoCAD destek dizini ayarları

    Eğer yükleme dizinini bu ayarlara eklemek istemiyorsanız dosya yolunu tam olarak vermek zorundasınız. Bunu yaparken de '\' yerine '/' kullanmalısınız.

    Command : (load “c:/talia/lisp/tal_utils.lsp”)

    Basitçe bir LISP dosyasını nasıl yüklediğimizi öğrendik. Ama her çizim açtığımızda bu işi yapmak zahmetli ve bu işin bir kolay yolu olmalı.

    AutoDESK firması da AutoCAD yazılımına otomatik yükleme için belirli mekanizmalar koymuş. Şimdi bu mekanizmaları birlikte inceleyelim:


    1 – Otomatik yükleme:

    AutoCAD’ de Kendinize ait LISP dosyaların otomatik yüklenmesi söz konusu değil. Ancak iki adet dosya var ki bunlar AutoCAD açıldığında ( acadXXXX.lsp ) ve her çizim açtığınızda ( acadXXXXdoc.lsp ) otomatik olarak yükleniyorlar. Biz de bu dosyaların içinde ( load ... ) fonksiyonunu kullanarak kendi uygulamalarımızı yükleyebiliriz. Dosya isimlerindeki XXXX kullandığınız AutoCAD sürümünü gösteriyor. Yani AutoCAD 2007 için dosyalarımızın ismi acad2007.lsp ve acad2007doc.lsp olacak. acad2007.lsp dosyası AutoCAD açılırken bir kez yükleniyor ( uygulama düzeyi ); ancak acad2007doc.lsp dosyası her çizim için tekrar yükleniyor. Dolayısı ile eklentilerimizi bu dosya üzerinde yapacağız. Başlamadan önce dosyanın bir yedeğini almanızı öneririm. Dosyanın özgün halinin en alttaki son kısmı Şekil 2’deki gibidir.

    [​IMG]
    Şekil 2 - acad2007doc.lsp dosyasının özgün hali

    Biz eklemelerimizi ';; Silent load.' satırından öncesine yapacağız ( Şekil 3 ).

    [​IMG]
    Şekil 3 - acad2007doc.lsp dosyasının düzenlenmiş hali

    Evet artık programlarımız her çizim açılışında otomatik olarak yüklenecek.

    2 – Menü ile birlikte yüklemek:

    AutoCAD 2006’ ya kadar menü dosyalarının uzantısı MNU idi. Deneyimli AutoCAD kullanıcıları menü dosyalarının nasıl düzenlendiğini bilirler. AutoCAD 2006 ile birlikte komut butonları ve menülerin düzenlenmesi Windows(TM) standardına göre tekrar ele alındı ve yeni menü dosya uzantısı CUI ( Custom User Interface file ) oldu. Her iki durumda da kullanıcı kendi menüsünü geliştirebiliyor ya da standart AutoCAD menüsüne eklenti yapabiliyor. Eğer kendi menünüzü geliştiriyorsanız kendi verdiğiniz bir ismi örneğin TALIA.MNU veya TALIA.CUI, ya da AutoCAD’in menüsüne eklenti yapıyorsanız ACAD.MNU veya ACAD.CUI ismini kullanıyorsunuz demektir. Ben bu yazıda kendi menümüzü kullandığımızı ve çizime menümüzü doğru olarak yüklediğimizi varsayıyorum. Menü dosyaları da doküman bazlıdır ve bir kez yüklendiklerinde her çizimle birlikte tekrar yüklenirler. menü ismiyle aynı isimli ancak MNL uzantılı bir dosyayı ( talia.mnl ) menünüzle aynı dizine koyarsanız, AutoCAD bu dosyanın içine yazdığınız LISP fonksiyonlarını ve komutlarını menüyle birlikte otomatik olarak yükleyecektir. Şekil 3’te yazıldığı gibi bir satırı bahsettiğim dosyalardan birine eklerseniz LISP dosyalarınız otomatik olarak yüklenecektir.

    3 – STARTUP SUITE

    [​IMG]
    Şekil 4 - Uygulama yükleme ekranı

    'Tools/Load Application...' menüsünden Şekil 4’te gördüğünüz pencere açılacaktır. Bu pencerenin sağ alt köşesinde başlangıç paketi bulunmaktadır ( Şekil 5 ).

    [​IMG]
    Şekil 5 - Başlangıç paketi içerik ekranı

    Bu paketin içine koyduğunuz her uygulama ( LISP / ARX / DBX / NET ) otomatik olarak her çizime yüklenir.

    4 – (autoload ...) fonksiyonu:

    Otomatik yüklemeden biraz daha gelişmiş olarak, ihtiyaç halinde yükleme yapmak için kullanılan LISP fonksiyonudur. Bu fonksiyon ile çok yüklü LISP dosyalarının, ihtiyaç olmadıkça bellekte yer kaplamaması amaçlanmıştır.Bu fonksiyonu da gerek acad2007doc.lsp gerek talia.mnl dosyaları içerisinde aşağıdaki şekilde kullanabilirsiniz ( Şekil 6 ):

    [​IMG]
    Şekil 6 - acad2007doc.lsp dosyasının düzenlenmiş hali

    Bu tanımlama ile birlikte, çiziminizde ilk defa TTT ve ya PRF komutunu kullandığınızda 'tal_utils.lsp' dosyası otomatik olarak yüklenecektir.

    Autocad Günlüğü
     
AutoLISP Uygulamalarını Otomatik Yüklemek konusuna benzer içeriklerimiz
  1. AutoLisp

    Arkadaşlar elimizdeki kullanışlı lispleri burada paylaşalım...
  2. Excel kullanarak e izin sayfasına kullanıcı adı ve şifresini otomatik girmek

    öncelikle excelde araçlar makkro viisual basic düzenleyicisini açıyoruz daha sonra insert menüsünden userforma tıklıyoruz ve userformumuz geliyor bundan sonra ? işaretinin olduğu yerde toolbox dan bir tane commandbutton oluşturuyoruz. oluşan command buttona userformdayken çift tıklıyoruz ve kod kısmı geliyor . şimdi kodlarımızı yazıyoruz Private Sub CommandButton1_Click() Set evn =...
  3. Akaryakıt depolama tesislerinde otomatik numune alma sistemi

    Merhaba arkadaşlar sanayi kaynaklı hava kirliliği yönetmeliği Y) YIRMIIKINCI GRUP TESISLER: 1) Ham Petrol, Petrol ve Akaryakıt Dolum ve Depolama Tesisleri: 1.1. 01/01/2014 tarihinden itibaren 68 0F (20 ºC)’da 0,044 psia (3 mbar)’dan daha fazla buhar basınçlı ürünlerin depolanmasında buhar geri kazanım ekimpanına bağlı sabit tavanlı tank veya içten/dıştan yüzerli tavanlı tanklar...