AutoCAD Günlüğü | » OLE ve ActiveX Otomasyonunun AutoCAD’de Kullanımına Bir Örnek > AutoCAD, AutoLISP, AutoCAD Dersleri, Mekanik Tesisat, Bilgisayar, Yazılım, Özel Yazılım

OLE ve ActiveX Otomasyonunun AutoCAD’de Kullanımına Bir Örnek


Yazar Özgür Özkurt
Mesleği Mak. Müh. Öğrencisi
   
web  
e-mail

AutoCAD 2000 ve üzeri sürümler

Merhaba, 

OLE (Object Linking And Embedding), mantığı kısaca bir uygulama tarafından sunulan nesneler sayesinde diğer bir uygulamadan kontrol edilmesi ve veri akışı sağlanması için tasarlanmış platformdur. ActiveX, OLE ve bu gün daha yaygın olan COM temelde bu mantık üzerinden çalışır. AutoCAD ile çalışırken bir kelime işlemciye veya bir hesap tablosuna bilgi aktarmanız gerektiğinde OLE yardıma koşar.

Insert  menüsünden OLE Object’i seçin. Aşağıdakine benzer bir liste içeren bir iletişim penceresi ekrana gelir. Liste adının ise Nesne Türü olduğuna dikkat ediniz. Oysa listede Windows ortamında kullandığımız çeşitli uygulama isimleri ile başlayan ifadeler mevcut. Bunlar o uygulama ile AutoCAD arasında iletişimi sağlayacak nesnelerdir.

Fig.1
Fig.1

Şimdi bu nesnelerin iki program arasında alış-verişi nasıl sağladığını inceleyelim.

Fig.2
Fig.2

Şekilde mavi ile gösterileni istemci (Word,Excel..) ve bordo ile gösterilen sunucu (AutoCAD..) arasında geçen proses özetlenmiştir. Bu sayede AutoCAD çizim sayfanızdaki bir çizginin özelliklerine (renk, kalınlık..),  MS Word dosyasından ulaşmak mümkün olacaktır. Bunun yanında programlar arasında iletişimi sağlayan ActiveX sayesinde uygulamalar arası ortak projeler geliştirilebilir. Örneğin bir veri tabanı dosyasını AutoCAD ile ilişkilendirdiniz ve çiziminizdeki nesneler hakkındaki bir takım bilgileri veritabanına eklediniz. Böylece çok daha esnek kullanılabilir bir şekilde çiziminize ait verileri depolamış olursunuz. Bu olaya uygulamaların birbirlerinin özelliklerinden faydalanmaları olarak da bakılabilir. Çünkü her uygulama tüm işlerinizi gerçekleştirecek güçte değildir. Word bir kelime işlemci fakat AutoCAD bir bilgisayar destekli tasarım paketidir. AutoCAD ile çalışırken Word’e ihtiyaç duyabilirsiniz. Aynı şekilde Word ile çalışırken de bir AutoCAD çizimine ihtiyaç duyabilirsiniz. OLE bu ihtiyaca cevap verebilmek amacıyla doğmuş bir platformdur.

Anlatılanları pratiğe dökmek ve konuyu daha iyi kavrayabilmek için basit bir örnek ile devam edelim.

Bir MS Word dosyası açın ve Araçlar menüsünden Makro ve Vusial Basic Düzenleyicisi’ni seçin. Düzenleyici açıldığında resimdeki işlemleri gerçekleştirin ve Projeye bir kullanıcı formu  (UserForm) ekleyin.

Fig.3
Fig.3

Formda gerekli düzenlemeleri yaparak aşağıdaki gibi tasarlayın.

Fig.4
Fig.4

Şimdi sıra geldi kontrol (Buton) olaylarına kod eklemeye.

Butonun Click olayına aşağıdaki gibi kodu ekleyin.

Fig.5
Fig.5

F5 tuşuna basın veya aşağıdaki gibi menüden Run komutunu başlatın.

 Fig.6
Fig.6

Formdaki butona tıklayıp ve bir süre bekledikten sonra yeni bir AutoCAD çiziminin başlatıldığını görürsünüz.

Şimdi yazdığımız kodun ne anlama geldiğini inceleyelim.

set Acad = CreateObject("AutoCAD.Application")

Acad adında bir AutoCAD.Application nesnesi oluşturuluyor. Application nesnesi AutoCAD nesne hiyerarşisinde zirvede bulunur. Uygulama nesnesidir.

Acad.visible=True

Acad adındaki nesneyi biraz önce oluşturmuştuk ve şimdi bu nesneni özelliklerinde düzenleme yapıyor ve görünebilirlik özelliğini açık hale getiriyoruz.

Anlattığım basit örnekten yola çıkarak neler yapılabileceğini hayal edebilirsiniz. Word dosyasından formu çalıştırarak bir çizimdeki çizgi renklerini yazdırabilirsiniz. Veya nesne sayısını otomatik bir şekilde Word dosyasına eklenmesini sağlayabilirsiniz. Bu işlemler aslında manuel olarak da yapılabilir. Ancak insan eli değmeden yapılan işlere kısaca otomasyon dediğimiz için OLE de bir otomasyondur ve manuel olarak yapılacak bazı işleri kolaylaştırır.

Yazının devamında görüşmek üzere…

Technorati Tags: ,

Benzer Yazılar

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4.8 out of 5)
Loading ... Loading ...

1 yorum “OLE ve ActiveX Otomasyonunun AutoCAD’de Kullanımına Bir Örnek”

  • 1
    Biolight
    22 March 2007, Thursday 13:02

    Merhaba,

    Vba ağırlıklı yazılarınızı merakla bekliyorum,
    özellikle direk AutoCAD de kullanılan VBA örneklerine
    ağırlık verirseniz sevinirim.

    Kolay gelsin.

Yorum bırak