Ana sayfa
         
     
Rapor - Makale > CAD/CAM/CAE > CATIA VBA Uygulamaları:

Mesut Özer
Makine Müh., CATIA V5 Uzmanı
Mayıs 2006, Bursa

GİRİŞ

Günümüzdeki tasarım yazılımları ilk yüklendiklerinde beraberlerinde kullanıcının birçok işini görebilen tasarım araçları içerir. Aynı zamanda tasarım yazılımları, her yeni versiyonda bir önceki versiyonda yapılan işi kolaylaştıran yeni araçları kullanıma sunar. Bununla birlikte bu yazılımlarının, her kullanıcının tüm isteklerini yerine getirmesi mümkün değildir. Bir kullanıcı için mutlaka olması gereken bir özellik, bir başka kullanıcı için gereksiz olabilir.

Tasarım yazılımlarını üreten firmalar bir çoğu, kullanıcıların büyük kısmını memnun edebilmek ve aynı zamanda rekabet için satış fiyatını minimum seviyede tutabilmek için modüler yapı çözümüne başvurur. Aynı zamanda bu yapı ile yazılım firması kaynak planlamasını daha iyi yapabilir. Modüler yapı ile kullanıcı da işine yaramayan özellikler için para ödemez. Tasarım yazılımları ayrıca kullanıcıya yazılım içine bazı tanımlamalar yapabilme ve kodlar yazabilme fırsatını vererek, bu modüler yapıyı daha da esnetebilir.

Her kullanıcı kendi tanımlamalarını bu yazılım üzerinde kullanabilmek ister. Örneğin tasarımın gerçekleştirilmesinde kullanılacak malzemelerin herhangi bir yerde değil de, CAD dosyasının içinde tanımlanması gibi daha çok veri tipindeki tanımlamalar bu grup içine dahil olurlar.

Durum kullanıcının kendi yazılım kodunu tasarım yazılımı içine yerleştirmek olduğunda bulunmaz bir fırsat ortaya çıkar. Örneğin, bir kalıp tasarımında, kalıplanacak malzemenin özelliğine bağlı olarak, kalıp malzemelerinin ebatlarının ve cinsinin otomatik seçilmesi gibi daha çok karar mekanizmasına sahip tanımlamalar ile rutin bir işin birçok kez tekrarlanmasının gerektiği durumlarda, bu işi otomotikleştiren tanımlamalar bu grup içine dahil edilebilir.

Ayrıca bu tanımlamalara ilave olarak, her tasarım yazılımına özgü, ilave fonksiyonlar olabilir. Bu fonksiyonlar daha önce yapılmış bir tasarımın tasarım bilgilerinin (knowledge) yakalanması (capture), düzenlenmesi, paylaşılması (share) ve uygulanması (reapply) şeklinde olabilir. Bu kabiliyetlere sahip olan yazılımlara öğrenen yazılımlar diyebiliriz. Bu öğretme işini kullanıcı yazılım kabiliyetlerini kullanarak yapar.

Tasarım yazılımı içinde yapılan her tanımlama ve kod, tasarımın belli kriterlere uyan bir standart tasarım olmasını da sağlar.

Tüm bu katma değerler tasarım sürelerinin kısaltılmasını ve bu süreçlerin hatasızlaştırılması sağlayan önemli birer parametre olurlar. Tasarım süreçlerinin uzunluğu, hata kaynaklı geri dönüşler ve standart olmayan çalışmalar her zaman kaynak kaybı anlamına gelir. Bu kayıpları ortadan kaldırmak için günümüzde kullanıcıya ve tasarım yazılımına iş düşmektedir.

CATIA V5 üzerinde parametreler, kodlar ve knowledge

CATIA V5 tasarım yazılımı, tanımlama, kod yazımı ve öğrenme fonksiyonlarını ve daha fazlasını bir arada içeren bir yazılımdır.

Kullanıcı tanımlamaları parametre oluşturulması şeklindedir. Tasarım içindeki herhangi bir parça için, istediğiniz özellikleri içeren, kullanıcı tanımlı ve formüle edilebilir parametreler oluşturulabilir. Örneğin bir kalıp parçası için "Malzeme" isimli bir parametre oluşturup, bu parametre içine, bu parçanın yapılacağı malzemenin standart kodunu girebilirsiniz. Böylece ilişkili iki veriyi (parça ve malzeme) aynı doküman içinde saklamış olursunuz (CATPart dosyasında). Bu parametreler ayrıca formüle edilebilir. Örneğin bir kalıp için alt ve üst plaka için 1050 standardındaki malzemeyi yazılım otomatik olarak seçerken, kesme çeliği için 2379 standardındaki malzemeyi otomatik olarak seçebilir.

CATIA V5 içindeki kod yazılımı visual basic (VB) ya da CAA lisansı (Component Application Architecture) üzerinde oluşturulabilir. VB uygulamaları son CATIA kullanıcıları tarafından kullanılırken, CAA ise CATIA üzerinde yazılım geliştiren firmalar tarafından kullanılır. Ayrıca scriptler ile (CATScript ve vbscript) programlama yapmak da mümkündür. (Detaylı bilgi için www.3ds.com/plm-glossary ve www.3ds.com/alliances )

CATIA V5 içindeki öğrenme işi ise knowledge modülleri ile gerçekleştirilir. Bu modüller, programlama bilgisi gerektirmeden, çok basit ifadelerle tasarım bilgilerinin yakalanması, paylaşılması ve yeniden kullanılmasını sağlar. Detaylı bilgi için: www.3ds.com/products-solutions/plm-solutions/catia/all-products/domain/Product_Synthesis


CATIA V5 ve VBA

CATIA içine kod yazımında, kullanıcı tanımlı formlarının kullanılabilmesi nedeniyle VBA (Visual Basic for Applications) ya da VB (Visual Basic) , scriptlere tercih edilir.
VBA yazılım geliştirme ortamı lisans gerektirmeyen bir ortamdır. Bununla birlikte VBA ile geliştirdiğiniz kodları derleyip (compile) "exe" dosya haline getiremezsiniz.
VB yazılım geliştirme ortamı ise VBA'ya ilave özellikler içerir ve VB ile kodunuzu exe dosya haline getirebilirsiniz. VB kullanabilmek için bu yazılımın lisansına sahip olmanız gerekir. Bu nedenle her kullanıcının uygulayabilmesi için örneklerde VBA ortamı seçilmiştir.

VBA'nın avantajlarını öğrenmek için aşağıdaki site ziyaret edilebilir
www.microsoft.com/europe/vba/news/strategic_reviews/155.htm

CATIA'da kod geliştirme, CATIA nesnelerine (bir product, bir part, bir pad vs) VBA yardımıyla ulaşmayı, bu nesnelerin özelliklerini (properties) değiştirmeyi ve nesne metotlarını (methods) çağırmayı içerir.

Nesne, özellik ve metot kavramlarını birer kod satırı ile açıklayacak olursak:

Set catia = GetObject(, "CATIA.Application")
komut satırı catia nesnesine erişmemizi ve onu almamızı sağlar. (Eğer CATIA açık değilse, bu kod hata oluşturur bu durumda CreateObject fonksiyonunu kullanmak gerekebilir)

Bu nesneye eriştikten sonra bu nesne ile ilgili diğer özellikler alınabilir. Örneğin "catia" nesnesine ait ActiveDocument nesnesini alıp, daha sonra bu nesnenin Name özelliğini alarak, aktif olan dökümanının isim bilgisine ulaşılabilir.

If InStr(1, catia.ActiveDocument.Name, "OYUN.CATProduct") < 1 Then
komut satırı aktif olan doküman adının "OYUN.CATProduct" olup olmadığını kontrol etmekte, buna göre program akışı değişmektedir.

Bazı durumlarda nesnelere ait metotları çağırmak gerekir. Örneğin aktif olan dökümanı kaydetmek isteyebilirsiniz. Bu durumda yapmanız gereken save metodunu çağırmaktır.

Catia.ActiveDocument.Save
komut satırı aktif olan dökümanı kaydedecektir.

Yukarıdaki örneklerdeki gibi CATIA içinde birçok özellik ve metot vardır. Bunların hepsini bilmek mümkün olmadığı gibi gerekli de değildir. CATIA'nin help dökümanları, tüm özelliklerin ve metotların listesini içerir. Ayrıca bu dökümantasyon, özellik ve metotlarla ile ilgili detaylı bilgilerde sağlar. CATIA help dökümantasyonu, programlama yapan CATIA kullanıcılarının başvuru dökümanı olarak kullanacağı bir kaynaktır.

CATIA'da Macroların Kullanımı

CATIA üzerinde yeni bir macro yazma ve varolan bir makroyu kullanmak için "Tools-Macro-Macros" komut dizilimi ile açılan Macros penceresi kullanılır. Bu pencerede bulunan "Run" butonu ile var olan bir macroyu çalıştırabilir, "Edit" butonu ile bu macroyu değiştirebilir,"Create" butonu ile yeni bir macro oluşturabilirsiniz.


Macros Penceresi

         
     
TurkCADCAM.net > Türkiye'nin yeni ürün tasarım, geliştirme, CAD/CAM/CAE, CNC, kalıp ve imalat teknolojileri portalı
***** Sektörün profesyonel bilgi ve işbirliği platformu *****
© 2002-2017  Sinerji Yayıncılık, Tanıtım ve Danışmanlık Hizmetleri
Bu portaldaki içerik, ancak kaynak belirtilmesi ve izin alınması şartıyla yayınlanabilir.