AutoLISP, Eklenti ve Bundle — Baştan Sona Rehber
AutoLISP nedir, ne zaman .NET'e geçilir, eklenti nasıl paketlenip ekibe dağıtılır — AutoCAD otomasyonunun bütün katmanları tek sayfada.
AutoCAD otomasyonu, tekrarlayan çizim işlerini AutoCAD'e programla komut vererek yaptırmaktır. Üç katmanı vardır: hızlı komut ve rutinler için AutoLISP, arayüzlü ve sürümlenen eklentiler için .NET (ObjectARX), ve bu eklentileri kurulum sihirbazı olmadan dağıtmak için Autodesk'in .bundle paket biçimi.
Katman standardını her çizimde elle kurmak, öznitelikleri tek tek doldurmak, yüzlerce DWG'yi açıp PDF'e basmak — AutoCAD'de zamanın çoğu bu tür işlerde gider. Otomasyon, bu işleri AutoCAD'in kendi komut satırına ve nesne modeline programla yaptırmaktır.
AutoCAD'in otomasyona açık birden fazla yüzeyi vardır. Eşiği en düşük olanı AutoLISP: AutoCAD'in içine gömülü gelen, ayrı derleyici istemeyen, düz metin dosyasında duran bir dildir. Daha büyük işler için .NET API ve ObjectARX devreye girer.
Temeli kuran yazılar
| AutoLISP / Visual LISP | .NET (C# / VB.NET) | Script (.scr) | |
|---|---|---|---|
| Dosya | .lsp düz metin | Derlenmiş .dll | .scr komut listesi |
| Derleme | Gerekmez | Visual Studio gerekir | Gerekmez |
| Arayüz | DCL ile basit diyalog | Palet, şerit sekmesi, WPF | Yok |
| Nesne erişimi | Çizim nesneleri, komut satırı | Tam nesne modeli ve veritabanı | Yalnızca komutlar |
| Ne zaman | Kısayol komutları, günlük rutinler | Ürün, ekip eklentisi, karmaşık mantık | Sabit sıralı toplu iş |
| Dağıtım | Startup Suite, acaddoc.lsp | .bundle paketi | Elle çalıştırma |
AutoLISP'in en büyük avantajı eşiğinin düşük olmasıdır: bir metin editörü ve AutoCAD yeterlidir, yazdığınız satırı hemen deneyebilirsiniz. .NET'e geçmenin bedeli kurulum ve derleme zinciridir; karşılığında gerçek bir arayüz, sürüm kontrolü ve çok daha hızlı çalışan kod alırsınız.
Katman seçimi
AutoLISP'te kendi komutunuzu tanımlamak tek satırla başlar.
Uygulamalı yazılar
Autodesk Application Plugin Bundle — kayıt defteri ve kurulum sihirbazı olmadan dağıtım.
Bir eklentiyi ekibe dağıtmanın en temiz yolu Autodesk'in bundle biçimidir. Bundle, adı .bundle ile biten sıradan bir klasördür; içinde eklentinin ne olduğunu ve nasıl yükleneceğini anlatan bir PackageContents.xml ile dosyaların durduğu bir Contents klasörü bulunur.
Bu klasör AutoCAD'in ApplicationPlugins dizinine kopyalandığında eklenti kendiliğinden tanınır: kayıt defterine yazmak, kurulum sihirbazı hazırlamak veya kullanıcıdan APPLOAD çalıştırmasını istemek gerekmez. Kaldırmak da aynı ölçüde basittir — klasörü silmek yeter.
Dağıtım ve ekip düzeni
Kapsam ve ölçüm
AutoCAD tarafında da sıra aynıdır: önce hangi işin ne kadar tekrarlandığını ölçün, sonra bir pilot seçin, sonra ekibe yayın. Hangi katmanı kullanacağınız — LISP mi, .NET mi — bu ölçümün sonucunda netleşir, başında değil.
Yöntem
AutoLISP, AutoCAD'in içine gömülü olarak gelen ve çizim işlerini otomatikleştirmek için kullanılan bir programlama dilidir. Ayrı bir derleyici gerektirmez; kod .lsp uzantılı düz metin dosyasında durur ve AutoCAD'e yüklendiği anda çalışır.
AutoLISP'te fonksiyon adının başına C: öneki koyarak tanımlanan her fonksiyon, AutoCAD komut satırından çağrılabilen bir komut hâline gelir. Dosya APPLOAD ile yüklendikten sonra komut kullanılabilir; her açılışta hazır olması için Startup Suite ya da acaddoc.lsp kullanılır.
Bundle, Autodesk'in eklenti paketleme biçimidir: adı .bundle ile biten, içinde PackageContents.xml tanım dosyası ve Contents klasörü bulunan sıradan bir klasördür. AutoCAD'in ApplicationPlugins dizinine kopyalandığında eklenti kayıt defteri ya da kurulum sihirbazı olmadan tanınır.
Kısayol komutları ve günlük rutinler için AutoLISP; eşiği düşüktür, derleme gerektirmez. Arayüzlü, sürümlenen ve ekibe dağıtılan bir eklenti geliştiriyorsanız .NET. İkisi aynı kurulumda birlikte çalışabilir ve çoğu ekip ikisini birden kullanır.
İki yaygın yol var: dosyayı Startup Suite'e eklemek, ya da acaddoc.lsp içinden yüklemek. Ekipte ortak bir klasör kullanılıyorsa o klasörün AutoCAD'in destek dosya arama yoluna eklenmesi, herkeste aynı düzeni kurar.
Katman ve stil standardının kurulması, öznitelik alanlarının toplu doldurulması, klasördeki tüm DWG'lerin toplu PDF/DXF dönüşümü, antet bilgilerinin proje verisinden yazılması, çizim temizliği ve çizimden tabloya rapor çıkarma en sık otomatikleştirilen işlerdir.