AutoCAD'de LISP ve Dinamik Bloklar: İnşaat Çiziminde Otomasyon
AutoLISP ile özel komut yazımı, dinamik bloklar (dynamic blocks) ve öznitelik (attribute) otomasyonu, inşaat çiziminde tekrarlayan işleri saatlerden saniyelere indirir. Bu rehber, sahada işe yarayan otomasyon araçlarını ve kurulum mantığını açıklar.
Özet
İnşaat çiziminin büyük kısmı tekrardan ibarettir: aynı kolon etiketi, aynı demir sembolü, aynı pafta antedi, aynı metraj tablosu. AutoCAD'in gerçek üretkenlik gücü, bu tekrarı otomatikleştiren üç araçta toplanır: AutoLISP (özel komut ve script yazımı), dinamik bloklar (tek bloğun çok varyasyonu temsil etmesi) ve öznitelikler (bloğa veri bağlayıp toplu düzenleme ve metraj çıkarma). Bu rehber; bu üç aracın ne olduğunu, nasıl birlikte çalıştığını, kurulum mantığını ve Türkiye saha pratiğindeki kullanımını mühendis gözüyle açıklar. Amaç yazılımı övmek değil; hangi tekrarın otomatikleştirilmeye değdiğini, hangisinin elde bırakılması gerektiğini ayırt etmektir. AutoLISP artık AutoCAD LT'de de çalışır; Visual LISP IDE ise yalnızca tam AutoCAD'in Windows sürümünde bulunur.
Otomasyonun Üç Katmanı
AutoCAD'de otomasyonu bir merdiven gibi düşünmek faydalıdır. Alt basamak elle çizimdir; her şey tek tek yapılır. Üst basamaklara çıktıkça insan müdahalesi azalır:
| Katman | Araç | Ne zaman kullanılır | Öğrenme eğrisi |
|---|---|---|---|
| 1 | Blok (Block) | Tekrar eden statik sembol (donatı işareti, kuzey oku) | Düşük |
| 2 | Dinamik blok | Aynı parçanın çok ölçü/yön varyasyonu (kapı, kolon kesiti) | Orta |
| 3 | Öznitelik (Attribute) | Bloğa bağlı veri ve toplu düzenleme/metraj | Orta |
| 4 | AutoLISP | Tekrarlayan komut dizisini tek komuta indirme | Orta-Yüksek |
| 5 | Script + LISP | Toplu (batch) işlem, çoklu dosya otomasyonu | Yüksek |
Pratik kural: Bir işi üç kereden fazla aynı şekilde yapıyorsanız, otomatikleştirmeye değer. Bir defalık iş için LISP yazmak, baltayı bilemekle vakit kaybetmektir.
Dinamik Bloklar: Tek Blok, Çok Varyasyon
Klasik blok statiktir; 90 cm ve 100 cm kapı için iki ayrı blok tutarsınız. Dinamik blok, tek bir tanım içinde parametreler (parameters) ve aksiyonlar (actions) barındırarak bunu çözer. Parametre bir değeri (uzunluk, açı, görünürlük durumu) tutar; aksiyon ise o değer değiştiğinde geometrinin nasıl tepki vereceğini tanımlar.
İnşaat çiziminde en çok işe yarayan parametre türleri:
- Linear (Doğrusal): Bir tutamaktan çekerek boyutu değiştirme — değişken açıklıklı kiriş, ayarlanabilir kapı genişliği.
- Visibility (Görünürlük): Tek blokta birden çok görünüm — örneğin aynı kolon bloğunda dikdörtgen, dairesel ve L kesit "durumları" (states). Açılır listeden seçersiniz.
- Lookup (Arama tablosu): Seçilen bir değeri (ör. profil adı) önceden tanımlı parametre setine bağlar. Çelik profil kütüphanelerinde HEA/IPE seçimini tek listeden yaptırmak için idealdir.
- Rotation / Flip: Sembolü açıyla döndürme veya aynalama — tek yönlü çizilmiş bir detayı her iki yöne kullanma.
Dinamik blok düzenleyicisinde (Block Editor) en sık karşılaşılan tuzak, öznitelik ile görünürlük durumunun senkronudur. Öznitelik metninin dinamik parametrelerle (özellikle görünürlükle) doğru çalışması için özniteliğin Lock position özelliğinin Yes yapılması, ardından ATTSYNC komutuyla bloğun eşitlenmesi gerekir. Aksi halde öznitelik, durum değişince yanlış konumda kalır.
Saha notu: Dinamik blok "her şeye tek blok" hevesiyle aşırıya kaçarsa bakımı zorlaşır. 20 görünürlük durumu olan dev bir blok, üç ayrı sade bloktan daha yavaş ve hataya açıktır. Kuralı basit tutun: aynı ailenin makul varyasyonları tek blokta, farklı aileler ayrı bloklarda.
Öznitelikler ve Metraj Otomasyonu
Öznitelik (attribute), bloğa bağlı bir veri etiketidir: kolon adı (S101), demir çapı (Ø12), kapı numarası, mahal adı gibi. Bloğu kopyaladığınızda bu etiket her kopyada farklı değer alabilir. İşin gücü, bu verinin dışa aktarılabilir ve geri okunabilir olmasındadır.
Tipik metraj iş akışı:
- Öznitelikli blok yerleştir: Her kolona kesit bloğunu, öznitelik alanlarına (ad, boyut, beton sınıfı, donatı) bilgi girerek koy.
- ATTOUT ile dışa aktar: Seçilen blokların tüm öznitelik değerlerini bir CSV/metin dosyasına yazdır.
- Excel'de düzenle: Yüzlerce satırı tek tek bloğu açmadan toplu düzelt, sırala, hesapla.
- ATTIN ile geri okut: Düzenlenmiş dosyayı geri yükle; çizimdeki tüm bloklar güncellensin.
- Tablo üret: Aynı veriyi çizim üzerinde tabloya (Data Extraction / Table) dök.
Bu döngü, tek tek blok açmaya kıyasla yüzlerce kalemde dakikalar yerine saniyelerle çalışır ve insan hatasını ciddi azaltır. Alanlar (Fields) ise bu otomasyonu canlı tutar: bir alan, bir öznitelik veya çizim bilgisine bağlanır ve kaynak değiştiğinde metin kendini günceller — örneğin pafta antedinde dosya adı, ölçek veya toplam alan otomatik yenilenir.
Türkiye pratiğinde bu yapı, betonarme detaylarında donatı metrajından kapı-pencere icmaline kadar yaygın kullanılır. Donatı kesin metrajı yine de hesaplama araçlarıyla ve TS 500 kenetlenme/bindirme kurallarıyla doğrulanmalıdır; çizimden çekilen metraj bir başlangıç, mühendislik kontrolü ise zorunludur.
AutoLISP: Özel Komut Yazımının Temeli
AutoLISP, AutoCAD'in içine gömülü, parantez tabanlı yorumlanan (interpreted) bir programlama dilidir. Amaç basittir: elle tekrar tekrar yaptığınız komut dizisini tek bir özel komuta indirmek. Örneğin "katmanı değiştir, çiz, ölçülendir, geri katman al" dizisini her seferinde elle yapmak yerine, tek harfli bir komuta bağlarsınız.
Temel yapı taşları:
defun— fonksiyon/komut tanımlar.(defun c:KK ...)yazıldığında AutoCAD komut satırındaKKçalışır.command— AutoCAD komutlarını script gibi çağırır (ör.(command "_.LINE" pt1 pt2 "")).setq— değişkene değer atar.getpoint,getreal,getstring— kullanıcıdan veri ister.entget/entmod— nesnenin DXF verisini okur ve değiştirir (gelişmiş otomasyon).
Kodu çalıştırmak için .lsp dosyasını APPLOAD ile yüklersiniz; otomatik yükleme için acaddoc.lsp kullanılır. Tam AutoCAD'in Windows sürümünde Visual LISP IDE (derleyici, hata ayıklayıcı ve editör içeren tümleşik ortam) işi kolaylaştırır; AutoCAD LT'de ise kodu harici editörde yazıp yüklersiniz çünkü Visual LISP IDE LT'de bulunmaz.
Sıfırdan kod yazmak şart değildir. Lee Mac, JTB World ve benzeri ücretsiz kütüphaneler; otomatik öznitelik numaralama, toplu ölçülendirme, katman temizleme ve blok değiştirme gibi yüzlerce hazır rutin sunar. Mühendislerin çoğu önce bu rutinleri kullanır, ihtiyaç büyüdükçe kendi komutlarını yazar.
| Tipik tekrarlı iş | Manuel süre | AutoLISP ile |
|---|---|---|
| 200 bloğun öznitelik numaralandırması | Yarım gün | Saniyeler |
| Çizimdeki kullanılmayan katman/blok temizliği | Onlarca tıklama | Tek komut |
| Standart pafta antedi + bilgi doldurma | Her paftada elle | Otomatik |
| Belirli katmandaki çizgilerin toplam uzunluğu | Tek tek ölçme | Anlık rapor |
Script ve Toplu (Batch) İşlemler
AutoLISP tek çizim içinde güçlüyken, script dosyaları (.scr) ve - ön ekli komut satırı sürümleri çoklu-dosya otomasyonuna kapı açar. Örneğin onlarca DWG'yi tek tek açmadan; hepsinde aynı katman ayarını yapmak, antet güncellemek veya toplu PDF çıktısı almak için script + LISP birlikte kullanılır. Express Tools içindeki -BLOCKREPLACE gibi komut satırı sürümleri de script edilebilir; eski bir blok tanımını yenisiyle toplu değiştirmeyi mümkün kılar.
Son sürümlerde Autodesk, otomasyona yapay zeka katmanı da ekledi: Smart Blocks (akıllı bloklar), çizimdeki tekrar eden geometriyi otomatik tespit edip bloğa dönüştürmeyi ve benzer yerlere yerleştirmeyi önerir. Bu, "her şeyi LISP'le çöz" yaklaşımının yerini almaz ama tekrar yakalama işinin bir kısmını üstlenir.
Saha notu: Toplu işlemler güçlüdür ama geri alınması zordur. 80 dosyayı script ile değiştirmeden önce mutlaka yedek alın ve önce 1-2 dosyada deneyin. "Hepsinde çalıştı" diye sevinmeden önce, beklenmeyen xref ve font (SHX) bağımlılıklarının da değişimden etkilenebileceğini unutmayın.
Standartlaşma: Otomasyonun Görünmeyen Yarısı
Otomasyon araçları, ancak altyapı düzenliyse işe yarar. Dağınık katman adlandırması, tutarsız blok kütüphanesi ve kişiden kişiye değişen pafta antedi varsa, LISP rutini de dinamik blok da yarım kalır. Bu yüzden ofis ölçeğinde otomasyonun ilk adımı standartlaşmadır:
- Şablon (DWT): Katman seti, yazı/ölçü stilleri, antet ve sayfa ayarları tanımlı tek bir başlangıç dosyası. Yeni çizimler hep buradan açılır.
- Katman standardı: Kurumsal veya ISO 13567 türevi katman adlandırma; renk/kalınlık eşlemesi (CTB/STB plot stilleri) ile birlikte.
- Blok kütüphanesi: Tool Palette veya ortak klasörde, adlandırması net dinamik blok seti. Herkes aynı kapı, aynı kolon, aynı detay sembolünü kullanır.
- Pafta bilgileri: TBDY 2018 gereği antette etkin yer ivmesi, bina önem katsayısı, yerel zemin sınıfı ve taşıyıcı sistem davranış katsayısı; bunların alanlarla (Fields) öznitelikten otomatik çekilmesi insan hatasını azaltır.
Bu altyapı, AutoCAD'in temel iş akışıyla ve proje/ofis yönetimi disipliniyle iç içedir. Otomasyon bir yazılım özelliği değil, önce bir düzen kararıdır.
Otomasyona Değer mi? Karar Çerçevesi
Her tekrar otomatikleştirilmeye değmez. Basit bir karar çerçevesi:
| Durum | Önerilen yaklaşım |
|---|---|
| Aynı sembol çok kez, değişmeden | Statik blok |
| Aynı parça farklı ölçü/yönlerde | Dinamik blok |
| Bloğa bağlı veri + metraj/tablo gerekiyor | Öznitelik + ATTOUT/ATTIN |
| Aynı komut dizisi günde onlarca kez | AutoLISP özel komut |
| Onlarca dosyada aynı işlem | Script + LISP, yedekle |
| Bir defalık, benzersiz iş | Elle yap, otomatikleştirme |
Otomasyonun gizli maliyeti bakımdır. Kişiye özel, belgelenmemiş bir LISP rutini, onu yazan ofisten ayrılınca "kimsenin dokunamadığı kara kutuya" döner. İyi otomasyon; kısa, okunabilir, ortak kütüphanede ve mümkünse Lee Mac gibi yaygın/bakımlı kaynaklara dayalı olandır.
Son olarak: otomasyon mühendislik kontrolünün yerini almaz. Dinamik blok yanlış demir çapını gösterebilir, LISP rutini hatalı katmanda çizebilir, metraj script'i bir bloğu atlayabilir. Çizimden çıkan her sayı — donatı, metraj, kot — yine betonarme ve TS 500 kurallarıyla, çıktı paftası gözle de denetlenerek doğrulanmalıdır. Otomasyon hızı verir; doğruluğu mühendis verir.
Sık Sorulan Sorular
AutoLISP öğrenmek için programcı olmak gerekir mi?
Hayır. Temel düzeyde defun, command ve değişken atama birkaç günde öğrenilir; çoğu mühendis önce hazır rutinleri (Lee Mac gibi) kullanır, ihtiyaç büyüdükçe kendi komutunu yazar.
Dinamik blok ile öznitelikli blok farkı nedir? Dinamik blok geometriyi parametre/aksiyonla değiştirir; öznitelik bloğa veri etiketi bağlar. İkisi birlikte kullanılır; öznitelikler dinamik parametrelerle uyum için kilitlenmeli ve ATTSYNC ile eşitlenmelidir.
Blok özniteliklerini Excel'de toplu düzenleyebilir miyim? Evet. ATTOUT ile CSV'ye yazdırıp Excel'de düzenler, ATTIN ile geri okutursunuz. Yüzlerce etiketi tek tek açmadan güncellemenin ve metraj tablosu üretmenin temel yöntemidir.
Öznitelik değiştirdim ama görünmüyor, neden? Blok tanımı değişince mevcut kopyalar otomatik güncellenmez; ATTSYNC çalıştırıp bloğu seçin. Görünürlükle çalışan özniteliklerde Lock position özelliği Yes olmalıdır.
AutoLISP AutoCAD LT'de çalışır mı? Evet, AutoLISP desteği AutoCAD LT 2024'ten itibaren LT'ye de eklendi. Ancak görsel geliştirme ortamı Visual LISP IDE yalnızca tam AutoCAD'in Windows sürümünde bulunur.
Kaynaklar
- Autodesk – AutoCAD 2026 Yardım, "Introduction (AutoLISP)" ve Visual LISP IDE belgeleri (help.autodesk.com)
- Autodesk – AutoCAD LT 2025/2026 AutoLISP Yardım sayfaları (help.autodesk.com/view/ACDLT)
- Autodesk Support – "Connecting attribute values to visibility states for dynamic blocks" ve ATTSYNC kullanımı (autodesk.com/support)
- Autodesk – AutoCAD Key Features (Smart Blocks, data extraction, fields) (autodesk.com/products/autocad/features)
- Lee Mac Programming – AutoLISP rutin kütüphanesi (lee-mac.com)
- JTB World – Ücretsiz AutoLISP/Visual LISP kod parçacıkları (jtbworld.com/autolisp-visual-lisp)
- CAD Forum – Genişletilmiş ATTOUT/ATTIN ile Excel'de öznitelik yönetimi (cadforum.cz)
- TS 500 Betonarme Yapıların Tasarım ve Yapım Kuralları; Türkiye Bina Deprem Yönetmeliği (TBDY 2018) – pafta bilgi gereksinimleri