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
|