Professional Documents
Culture Documents
CATIA V5
Machine Translated by Google
yazar hakkında
Dieter R. Ziethen, MAN Truck and Bus AG'de CAD Sistem Mühendisi ve teknik BT süreç danışmanıdır. Ayrıca
Münih Uygulamalı Üniversitesi'nde CATIA V5 dersleri vermektedir.
Bilimler.
Machine Translated by Google
CATIA V5
Makro Programlama
Visual Basic Komut Dosyası
Dieter R.Ziethen
Çeviren: Kyle E. Brand
Telif Hakkı © 2012, The McGraw-Hill Companies, Inc.'e aittir. Tüm hakları saklıdır. 1976 Amerika Birleşik Devletleri Telif Hakkı Yasası kapsamında
izin verilen durumlar dışında, bu yayının hiçbir bölümü, yayıncının önceden yazılı izni olmadan hiçbir biçimde veya yöntemle çoğaltılamaz,
dağıtılamaz veya bir veri tabanında veya erişim sisteminde saklanamaz.
ISBN: 978-0-07-180003-7
Kimlik: 0-07-180003-4
Bu e-Kitaptaki materyal aynı zamanda bu başlığın basılı versiyonunda da yer almaktadır: ISBN: 978-0-07-180002-0,
Kimlik: 0-07-180002-6.
McGraw-Hill eKitapları, prim ve satış promosyonları olarak veya kurumsal eğitim programlarında kullanılmak üzere özel miktarlarda indirimlerle
mevcuttur. Bir temsilciyle iletişime geçmek için lütfen bize bulletsales@mcgraw-hill.com adresinden e-posta gönderin.
Tüm ticari markalar ilgili sahiplerinin ticari markalarıdır. Ticari markalı bir ismin her geçtiği yere bir ticari marka sembolü koymak yerine, adları
yalnızca editoryal amaçla ve ticari markayı ihlal etme niyeti olmadan ticari marka sahibinin yararına kullanırız. Bu kitapta bu tür tanımlamaların
yer aldığı yerlerde, ilk harfler büyük harflerle basılmıştır.
Bilgiler McGraw-Hill tarafından güvenilir olduğuna inanılan kaynaklardan elde edilmiştir. Ancak kaynaklarımız, McGraw-Hill veya başkalarından
kaynaklanan insani veya mekanik hata olasılığı nedeniyle McGraw-Hill, herhangi bir bilginin doğruluğunu, yeterliliğini veya eksiksizliğini garanti
etmez ve herhangi bir hata veya eksiklikten veya sonuçlardan sorumlu değildir. bu tür bilgilerin kullanımından elde edilir.
KULLANIM ŞARTLARI
Bu, telif hakkıyla korunan bir çalışmadır ve The McGraw-Hill Companies, Inc. (“McGraw-Hill”) ve lisans verenleri, çalışmayla ilgili tüm hakları saklı
tutar. Bu eserin kullanımı bu şartlara tabidir. 1976 Telif Hakkı Yasası ve eserin bir kopyasını saklama ve alma hakkı kapsamında izin verilen haller
dışında, derlemeyi çözemez, parçalarına ayıramaz, tersine mühendislik yapamaz, çoğaltamaz, değiştiremez, buna dayalı türev çalışmalar
oluşturamaz, iletemez, dağıtamaz, dağıtamaz, satamaz, McGraw-Hill'in önceden izni olmadan çalışmayı veya herhangi bir bölümünü yayınlayamaz
veya alt lisans veremezsiniz. Çalışmayı ticari olmayan ve kişisel kullanımınız için kullanabilirsiniz; Eserin başka herhangi bir şekilde kullanılması
kesinlikle yasaktır. Bu şartlara uymamanız halinde eseri kullanma hakkınız sonlandırılabilir.
İŞ “OLDUĞU GİBİ” SUNULMAKTADIR. McGRAW-HILL VE LİSANS VERENLERİ HİÇBİR GARANTİ VERMEZ VEYA
İŞ HYPERLINK ÜZERİNDEN YA DA BAŞKA BİR ŞEKİLDE ERİŞİLEBİLECEK HER TÜRLÜ BİLGİ DAHİL, ÇALIŞMANIN DOĞRULUĞU,
YETERLİLİĞİ VEYA TAMLIĞI VEYA ÇALIŞMANIN KULLANIMIYLA ELDE EDİLECEK SONUÇLARA İLİŞKİN GARANTİLER VE ANCAK
BUNLARLA SINIRLI OLMAMAK ÜZERE AÇIK VEYA ZIMNİ HER TÜRLÜ GARANTİYİ AÇIKÇA REDDEDERİZ. TİCARİ ELVERİŞLİLİK VEYA
BELİRLİ BİR AMACA UYGUNLUK KONUSUNDA ZIMNİ GARANTİLER. McGraw-Hill ve lisansörleri, eserde yer alan işlevlerin gereksinimlerinizi
karşılayacağını veya çalışmasının kesintisiz veya hatasız olacağını garanti etmez veya garanti etmez. Ne McGraw-Hill ne de onun
lisansörleri, çalışmadaki herhangi bir yanlışlık, hata veya ihmalden veya bundan kaynaklanan herhangi bir zarardan, nedeni ne olursa olsun,
size veya başka birine karşı sorumlu olmayacaktır. McGraw-Hill'in çalışma aracılığıyla erişilen hiçbir bilginin içeriğine ilişkin hiçbir
sorumluluğu yoktur. McGraw-Hill ve/veya lisans verenleri hiçbir koşulda, işin kullanımından veya kullanılamamasından kaynaklanan dolaylı,
tesadüfi, özel, cezai, sonuç olarak ortaya çıkan veya benzer zararlardan, herhangi birine bu konuda bilgi verilmiş olsa bile sorumlu tutulamaz. bu tür
zararların olasılığı. Bu sorumluluk sınırlaması, söz konusu iddia veya nedenin sözleşmeden, haksız fiilden veya başka bir durumdan kaynaklanıp
kaynaklanmadığına bakılmaksızın her türlü iddia veya neden için geçerli olacaktır.
Machine Translated by Google
İçindekiler
1 Temeller.................................................. ..................................................1
2 Çevreyle İletişim..................................................................31
7 Katılar.................................................. ....................................................123
Önsöz
Günümüzün bilgisayar destekli tasarım (CAD) sistemleri arasında CATIA (Bilgisayar Destekli Üç Boyutlu
Etkileşimli Uygulama) dünyada en yaygın kullanılanlardan biridir. CATIA V5, kullanıcıların otomatik
olarak bileşenler oluşturmasına ve makrolar aracılığıyla tekrarlanan görevleri azaltmasına olanak
tanır. Saf parametrik 3D modellerle bu işlevsel olarak mümkün değildir. Ne yazık ki, CATIA V5 ile makro
programlamanın spesifik konularını ele alan çok az kitap var. CATIA V5 makro arayüzünün yardım
belgeleri genellikle çok dar ve eksiktir. Bu pratik kitap, CATPart'ların, CATÜrünlerinin ve geometrinin
otomatik olarak oluşturulmasına bir giriş sağlar. Yeni başlayan birinin makro programlama sürecinde
karşılaşacağı sorular açık ve etkili bir şekilde yanıtlanmaktadır. İleri düzey bir kullanıcı, ayrıntılı
olarak açıklanan ve ayrıntılı açıklamalarla belgelenen makro örneklerinde birçok öneri bulacaktır. Bu
kitap, Microsoft'un “Visual Basic Script”inin (MS VBScript) bir uzantısı olan CATScript ve CATVBS dillerinin
makro programlamasını ele almaktadır.
Bu kitabın okuyucuları CATIA V5 hakkında temel bilgiye sahip olmalıdır. Odak noktası, günlük işlerde
tekrarlanan görevleri otomatikleştirmek isteyen CATIA V5 uygulamalarının kullanıcılarıdır.
Yeni başlayanlar için aşağıdaki alanlarda bilgi sahibi olunması tavsiye edilir (Tablo 0.1):
CATIA V5 Parça Tasarımı (PDG), Montaj Tasarımı (ASD), Tel Çerçeve ve Yüzey Tasarımı (WSD) veya
Üretken Şekil Tasarımı (GSD) ile modellemeye ilişkin temel bilgiler
Herhangi bir programlama dili hakkında temel bilgi
Bu kitap, yeni başlayan birinin gereksinimlerinden ileri düzey kullanıcıların gereksinimlerine kadar bölümler
halinde düzenlenmiştir. Aşağıdaki konular ele alınacaktır:
“Temel Bilgiler” bölümü V5 makrolarının nasıl oluşturulduğuna dair bir giriş sağlar. Makro
programlama için gerekli olan temel bilgileri içerir. Makroların nasıl oluşturulduğunu, saklandığını
ve yürütüldüğünün yanı sıra giriş ve çıkış için kullanıcıyla etkileşimleri gösterir.
“Çevreyle İletişim” bölümü, V5 makrolarının sistem ortamıyla veya kullanıcıyla nasıl iletişim
kurabileceğine dair pratik örneklere dayanmaktadır. Açık açıklamalar aracılığıyla, yeni başlayan
birinin makrolarını geliştirmesi de mümkündür.
kullanıcı.
“2B Tel Kafes Geometrisi”, “3B Tel Kafes Geometrisi ve Yüzeyleri” bölümleri
ve "Katılar" geometrinin bir V5 makrosu tarafından nasıl oluşturulabileceğinin temelini sağlar.
Çok sayıda vaka çalışması bu önemli kavramları ve en iyi uygulamaları göstermektedir.
Okuyucular önceki bölümleri ve vaka çalışmalarını incelediyse, son iki bölüm olan "Öne Çıkan Nesne
Sınıfları" ve "Öne Çıkan VBScript Komutları", onların kendi pratik görevlerini çözmelerine olanak tanır.
Bu kitabın teorisi birçok yerde örnek makrolarla desteklenmektedir. Örneklerin çoğu www.mhprofessional.com/catiav5
adresinde çevrimiçi olarak indirilebilir . İnternetten indirilebilecek örnekler, içinde “WWW” yazan sarı yuvarlak bir damgayla
tanımlanır.
Bu kitabın içeriği “V5R19” yazılım sürümüne dayanmaktadır . Her sürümde Dassault Systémes'in daha fazla programlama
yöntemi eklediğini, ancak mevcut yöntemlerin yalnızca çok nadiren değiştirildiğini unutmamak önemlidir. Bu kitap
CATIA V5
Machine Translated by Google
Temel bilgiler
Bu bölüm kullanıcılara CATIA V5'te Visual Basic Komut Dosyası (VBScript) ile makro programlamayı tanıtacaktır.
Aşağıdaki konular ele alınmaktadır:
Makro kaydedici
CATScript ve CATVBS'nin her ikisi de VBScript programlama dilleridir. Her iki makro dili de nesneler ve
yöntemlerle çalışır. Nesne, bilgiyi depolayan bir kaptır. Bu bilgi bir CATPartı, bir çizgi veya bir yüzey olabilir.
Yöntem, bir nesnenin oluşturulduğu, değiştirildiği ya da bilginin okunduğu talimattır.
CATVBS , CATIA V5'in nesnelerine ve yöntemlerine genişletilmiş bir Microsoft VBScript (MS VBScript) türüdür.
V5R7'ye kadar CATVBS yalnızca Windows makinelerinde çalışıyordu. Dassault Systémes, V5R8'den itibaren
programlamalarını CATVBS'nin UNIX iş istasyonlarında da çalışabileceği şekilde genişletti.
CATScript ve CATVBS, CATIA V5'te makro programlamanın temelini oluşturan yorumlayıcı dillerdir. CATScript
veya CATVBS'de yazılan makrolar Windows 7, Vista, XP, NT, 98 ve 2000 ile UNIX işletim sistemlerinde
kullanılabilir .
Machine Translated by Google
2 1 Temel Bilgiler
CATIA makrolarının Visual Basic for Applications (CATVBA) ile programlanması, CATIA V5 için daha fazla yetenek
sunar. CATVBA'nın bir derleyicisi vardır ve kullanıcı arayüzlerini tasarlamak için birçok araç sağlar. Bu iki nokta
onu CATScript ve CATVBS'den ayırır. Her üç dilin genel görünümü Tablo 1.1'de gösterilmektedir.
CATScript, CATVBS ve CATVBA'nın program söz dizimleri çok benzerdir. Program bileşenleri, bir platformdan
diğerine, o platformda başka yöntemler ve nesneler mevcut olduğu sürece, küçük değişiklikler yapılarak çok
kolay bir şekilde aktarılır. Çoğu durumda, üç dil yalnızca değişkenlerin, işlevlerin ve prosedürlerin tanımlanma
biçiminde farklılık gösterir. Bu farklılıklara genel bir bakış Tablo 1.2'de küçük bir örnek programla gösterilmiştir.
Farklılıklar kalın harflerle vurgulanmıştır.
CATScript, tarihi boyunca CATIA V5 ile en yakın bağlantıya sahip olduğundan, bu kitaptaki tüm programlama
örnekleri ve kaynak kodları CATScript'e dayanmaktadır. Tablo 1.2'de gösterilen farklılıklar sayesinde örnekler
çok kolay bir şekilde CATVBS'ye aktarılabilir.
Genel bir açıklama, bir talimattaki komutların tüm yeteneklerini sağlar. Bir örnek, belirli bir uygulamada Kelime
Bir talimat genellikle birkaç kelimeden oluşur. Kelime, bir talimatın en küçük birimidir. İki kelime, uygulamaya bağlı olarak
nokta, virgül veya boşlukla ayrılır. Genel açıklamalardaki ve örneklerdeki önemli kelimeler kalın harflerle vurgulanmıştır.
Genel bir açıklamanın ek bilgileri köşeli parantez veya parantez içine alınabilir.
Köşeli parantez, programcı tarafından tanımlanabilecek sözcükleri içine alır. Kendi kendine tanımlanan bir [Kendini tanımlayan kelime]
kelime, bir isim veya hafıza konumunun içeriği olabilir. Bellek konumu bir programcı tarafından
tanımlanmışsa buna Değişken denir. Bir nesnenin veya altprogramın hafıza konumuna Parametre denir .
“As” anahtar kelimesiyle birlikte köşeli parantezden sonra gelen bilgi, değişkenin veya parametrenin türünü
belirler. Birden fazla değişken veya parametre aynı türdeyse, bunlar aynı köşeli parantez içinde listelenebilir.
Makrodaki kod:
Kıvrımlı ayraç, yazılması gerekmeyen isteğe bağlı sözcükleri içine alır. Bir programcı virgül ve üç noktayla {İsteğe bağlı kelime}
Makrodaki kod:
Tanım.Çizgiler Center_Line
CATScript nesne yönelimli bir programlama dilidir, dolayısıyla CATScript'i programlamak için
nesne yönelimli dilin birkaç temel ilkesini anlamak gerekir.
ne kadar yerleştirilirse nesneleri o kadar özelleşir. Bir nesne, kendi sınıfının ve üst sınıflarının tüm özelliklerine
ve yöntemlerine erişebilir. Bu bağımlılık bir nesnenin nesne yolunu açıklar. Nesne Yolu , bir nesnenin kendi
sınıfından ve üst sınıflarından olan bağımlılıklarının açıklamasıdır. Nesne yolu durumunda, sınıflar noktalara
göre ayrılır ve alt sınıflar sağa yazılır:
"Pad" sınıfının bir nesnesi "Katı", "Kontur Tabanlı Katı" ve "Pad" sınıflarının özelliklerini ve yöntemlerini
kullanabilir ancak "Cep" sınıfını kullanamaz. Hiyerarşi Tablo 1.3'te gösterilmektedir.
Hiyerarşi n Sağlam
Tam bir nesne yolu kök sınıfla başlar. Kök Sınıf, hiyerarşinin en üst düzeyinde yer alan ve diğer tüm sınıfların
ve nesnelerin türetildiği sınıftır.
CATBaseDispatch
HerhangiNesne Toplamak
Bireysel Nesne, geometri veya diğer bilgiler için bir kaptır. Tek bir nesnenin her nesne yolu, AnyObject temel
sınıfıyla başlar (Bölüm 8.4). HerhangiNesne
her bir nesne için temel yöntemler sağlar.
Machine Translated by Google
6 1 Temel Bilgiler
Liste Nesnesi, bireysel nesnelerin bir koleksiyonudur. Liste nesnelerinin her nesne yolu, temel sınıf Collection
(Bölüm 8.17) ile başlar. Koleksiyon, her liste nesnesi için temel yöntemler sağlar.
Aşağıdaki bölümlerin pratik olarak anlaşılması için programlamanın temel teorisi temel bir örnekle
başlatılmıştır. “GreetingMacro.CATScript” makrosunda kullanıcı “Merhaba” metniyle karşılanır. Makronun
girişini hazırlamak için şu adımları izleyin:
“Makrolar” penceresi (Şekil 1.1), anında yürütülebilecek tüm makroları gösterir. Pencere Bölüm 1.6'da tam
olarak açıklanmıştır. Başlangıçta liste boştur.
ŞEKİL 1.1
Makrolar penceresi
Bir sonraki adım yeni bir makro oluşturmak ve onu “GreetingMacro.CATScript” olarak adlandırmaktır.
(Şekil 1.2):
“Oluştur…” düğmesini seçin
penceresi.
CATScript” makrosu
Bir makro, dahili V5 Düzenleyici kullanılarak düzenlenebilir . V5-Editor, Windows'taki "Notepad" ile
karşılaştırılabilecek basit bir metin giriş aracıdır.
“Düzenle…” düğmesini seçin
Bu iki satır arasındaki veya üzerindeki tüm komutlar, bir makro her çağrıldığında çalıştırılır. Makroyu
tamamlamak için komuta "Merhaba" kelimesi eklenir ve bir iletişim kutusu oluşturulur. Ekrandaki giriş ve
çıkış komutları Bölüm 2.1'de detaylı olarak anlatılmıştır.
Alt CATMain ()
MsgBox (“Merhaba!”)
Son Alt
Bu makroyu başlatacaktır. Yürütme sırasında programın mantığı ve sözdizimi gözden geçirilecektir. Yorumlanan bir
dil olduğundan makro satır satır yürütülür. Yorumlayıcı bir hata bulursa çalışma sırasında makro iptal edilir. Makronun
kaynak kodu doğruysa, "Merhaba!" ekranda görülecektir (Şekil 1.5).
Bu temel örnekte, bir makronun girilmesi ve çalıştırılması için gerekli olan tüm adımlar gösterilmektedir. Aşağıdaki
CATScript”
Önceki bölümde Dahili V5 Düzenleyicisi kullanılmıştı. Dahili V5 Düzenleyicisi, CATIA V5'te varsayılan düzenleyici olarak verilen
çok basit bir metin düzenleyicisidir. Bir makro işlenirken otomatik olarak kullanılır. İşlevselliğe genel bir bakış Tablo
1.5'te verilmiştir.
Düğme Tanım
Yeni dosya Geçerli dosyayı kapatır ve boş bir makro belge açar.
Açık dosya Bir makro dosyasını açmak için bir iletişim kutusu açar.
Dosyayı kaydet Bir makro belgeyi kaydetmek için bir iletişim kutusu açar veya bir
dosya zaten mevcutsa bir makro belgeyi kaydeder.
Nesne Çözünürlüğü Ekle İmleç satırının bulunduğu konumdaki bir nesneye referans bildiren bir
makro belgeye kod ekler (bkz. Bölüm 3.5).
Nesne etkileşimli olarak seçilebilir.
Nesne Tarayıcı CATScript sınıflarına genel bakış sağlayan nesne tarayıcısını açar.
Machine Translated by Google
1.6 Makro 9'un Saklanması
Bir makroyu düzenlemek için farklı bir düzenleyici seçmek mümkündür. Bir CATIA V5 makrosunun
yürütülmesi sırasında editör otomatik olarak başlayacaktır ve V5'teki seçeneklerle tanımlanır. Seçenekler
penceresi “Araçlar/Seçenekler/Genel/Makrolar” altında bulunur (Şekil 1.6).
Daha küçük makrolar için dahili V5 Düzenleyici oldukça yeterlidir. Ancak yoğun makro çalışmaları için
daha güçlü bir düzenleyiciye sahip olmak uygun olabilir. Farklı bir düzenleyici seçmek için “Düzenleyiciyi
değiştir” düğmesini seçin. “Varsayılan düzenleyici” düğmesi, Şekil 1.6'da gösterildiği gibi düzenleyici
seçeneğini orijinal durumuna geri döndürür.
İlk durumda, bir CATIA belgesinin içinde bir makro saklanır. Dolayısıyla bir makro ile CATIA belgesi
yakından bağlantılıdır. CATIA belgesi bir parça, ürün veya çizimdir. Birden fazla makro içerebilir.
İkinci durumda, bir makro “*.CATScript” dosya tipine sahip bir klasör içinde saklanır ve bir CATIA
belgesinden bağımsız olarak kullanılabilir.
Machine Translated by Google
10 1 Temel Bilgiler
“Makrolar” penceresinde ve “Geçerli makro kitaplığı veya belge:” açılır menüsünden (Şekil 1.7), bir CATIA
belgesi seçin. “Oluştur…” düğmesi aracılığıyla oluşturulan bir makro bu belgede saklanır. "Makrolar"
penceresindeki "Kullanılabilir makrolar" listesi, seçilen belgede saklanan tüm makroları gösterir. “Çalıştır”
butonu seçileni başlatır
makro.
ŞEKİL 1.7
CATIA belgesindeki “Makrolar”
penceresi ve mevcut makrolar
Bir makro ayrı bir dosyada saklanıyorsa, makroyu oluşturmadan önce bir makro kitaplığı tanımlamanız
gerekir. Makro Kitaplığı, makroların saklandığı ve CATIA'nın bunların konumuna yönlendirildiği bir
dizindir. Kullanıcı, bir makro kitaplığı kullanarak seçilen dizindeki tüm makrolara hızlı erişim elde eder.
“Makro kütüphaneleri” penceresinde bir makro kütüphanesi oluşturulur (Şekil 1.8). “Makrolar”
penceresindeki “Makro kitaplıkları” düğmesine tıklandığında görünür. Kütüphane türü olarak CATScript ile
programlanmışsa “Dizinler” açılır menüsünde görülür. Diğer türler VBA ile programlamaya dayanmaktadır
(bkz. Bölüm 1.1). “Geçerli kitaplıklar:” alanındaki liste, bir kitaplık türündeki geçerli olarak tanımlanmış tüm
makro kitaplıklarını görüntüler. Listeye yeni bir dizin eklemek için “Yeni kitaplık oluştur…” düğmesini seçin.
Machine Translated by Google
1.7 Düğme 11'den Makro Başlatma
“Makrolar” penceresinde “Geçerli makro kitaplığı veya belge:” açılır menüsünden bir makro kitaplığı seçilebilir
(Şekil 1.9). “Kullanılabilir makrolar:” listesi, bir makro kitaplığındaki tüm makroları gösterir.
ŞEKİL 1.9
“C:\Temp” makro
kütüphanesindeki bir
makroyu içeren
“Makrolar” penceresi
Yeni bir makro oluşturmak ve bunu bir makro kitaplığına eklemek için “Oluştur…” düğmesini seçin. Bu, yeni
bir makroyu tanımlayan “Yeni bir makro oluştur” penceresini açar (Şekil 1.10). Makroyu geçerli makro
kitaplığında saklamak için “Tamam”ı seçin.
ŞEKİL 1.10
“Yeni bir makro
oluştur” penceresi
Ayrı bir dosyadan makro çalıştırmak için "Makrolar" penceresini açın, listeden uygun makroyu seçin ve
"Çalıştır"ı seçin.
Makroları yoğun olarak kullanırken her zaman “Makrolar” penceresini açıp uygun makro kütüphanesini ve
makroyu seçmek tekrarlanabilir. Daha kısa bir yol, bir düğmeden makro çalıştırmaktır.
Ayrı bir dosyada (bkz. Bölüm 1.6.2) saklanan bir makro, bir düğmeye atanabilir.
Bir araç çubuğuna bir düğme eklenebilir ve CATIA'nın kullanıcı arayüzünde görüntülenebilir. Araç çubuğu,
kullanıcı tarafından "Görünüm/Araç Çubukları" komutu aracılığıyla tanımlanan bir simgeler grubudur. Araç
çubukları gösterilebilir veya gizlenebilir.
Machine Translated by Google
12 1 Temel Bilgiler
Bir makroyu kullanıcı arayüzünde düğme olarak göstermek için şu adımları izleyin:
ŞEKİL 1.11
Pencereyi "Komutlar"
geçerli makrolar listesiyle
özelleştirin
Menü çubuğundan “Araçlar/Özelleştir”i seçin ve ardından “Komutlar” sekmesine geçin. "Kategoriler" sütununda
aşağı kaydırın ve "Makrolar"ı seçin. Sağdaki “Komutlar” sütununda, seçili kütüphanedeki tüm makroların listesi
görüntülenecektir (Şekil 1.11). Hiçbir makro görünmüyorsa seçilen makro kitaplığını inceleyin (bkz. Bölüm 1.6.2).
“Komutlar” listesinde istenen makroyu vurgulayıp “Özellikleri Göster” düğmesini seçerek bir makro düğmesine bir
simge atanabilir. “Simge Tarayıcısı” düğmesinden bir simge seçin veya düğme klasörü aracılığıyla bir simgeye gidin.
Bir simge seçildiğinde, bu simge otomatik olarak makro düğmesine atanır. “Sıfırla…” seçeneğinin seçilmesi
makronun düğme simgesini orijinal durumuna döndürür.
Bir araç çubuğu bir grup düğmeyi görüntüler ve her zaman bir çalışma ortamına atanır.
Machine Translated by Google
1.7 Bir Düğme 13'ten Makro Başlatma
ŞEKİL 1.12
Pencere "Araç Çubukları"
sekmesini özelleştirin
Çalışma ortamı bir çalışma tezgahıdır (örneğin, katıların modellenmesi için “Parça Tasarımı”).
Workbench, CATIA oturumunda etkin olan çalışma alanıdır. Bir çalışma tezgahına bir araç çubuğu
atayarak araç çubuğu kullanılabilir hale gelir ve kullanıcılar tarafından kontrol edilebilir.
Mevcut çalışma ortamındaki tüm araç çubuklarının listesi “Özelleştir” penceresinin “Araç Çubukları” sekmesinde bulunur
“Yeni” seçildiğinde mevcut çalışma tezgahında yeni bir araç çubuğu oluşturulur ve “Yeni Araç
Çubuğu” penceresi açılır (Şekil 1.13). Bu, açıklayıcı bir ad verilebilecek bir araç çubuğudur.
“Tamam” butonu pencereyi kapatır ve “Özelleştir” penceresinin “Araç Çubukları” sekmesine yeni araç
çubuğu eklenir (Şekil 1.14).
Machine Translated by Google
14 1 Temel Bilgiler
Bir araç çubuğuna düğme atama, "Araç Çubukları" sekmesini içeren "Özelleştir" penceresi aracılığıyla
kontrol edilir. “Araç Çubukları” sekmesinde bir araç çubuğu seçin ve ardından “Komut ekle…” düğmesini
seçerek bir düğme ekleyin (Şekil 1.14).
ŞEKİL 1.14
Çubukları sekmesi
işlemi tamamlayın.
ŞEKİL 1.15
“Komut listesi” penceresi
Blok, bir makronun kaynak kodundaki bir talimat grubudur. Birlikte organizasyonel veya mantıksal komutları
içerirler. Bir makronun kaynak kodu genellikle aşağıdaki bloklardan oluşur:
1. Makronun başı
Bir makronun başlığı, makronun adı, yazarı ve işlevi hakkında açıklayıcı bilgilerin yanı
sıra kodun bakımı için önemli bilgiler içerir. Bu bilgiler genellikle şunları içerir:
Makro adı
Sürüm açıklaması
Makro dili
Makronun ne yaptığının kısa açıklaması
Yazar ve oluşturulma tarihi
Bu bilgiler yorum satırlarında saklanır. Yorum satırı tek bir tırnak işaretiyle başlar ve bir
makro yürütüldüğünde göz ardı edilir (bkz. Bölüm 9.58).
'Bu yorum
ŞEKİL 1.16
Global değişkenler ve nesneler bir sonraki blokta bildirilir. Genel değişken veya nesne, bir makronun tüm
işlevlerinde ve alt yordamlarında kullanılabilen bir öğedir.
Tek bir değişkenin veya nesnenin bildirimi Dim ifadesi Dim () aracılığıyla yapılır.
(Bölüm 9.19). Bir değişken veya nesne tek veya çok boyutlu olabilir.
Dim [Değişken1] {, [Değişken2]} { Değişken Türü Olarak}
Dim [Object1] {, [Object2]} { Sınıf Olarak}
Dim [Değişken Alan] ({Boyut}) { Değişken Türü Olarak}
Dim [Nesne Alanı] ({Boyut}) { Sınıf Olarak}
Global bir değişkene veya nesneye bir başlangıç değeri atamanız önerilir. Bir nesnenin bir
değişkene atanması “=” ve Set komutu kullanılarak yapılır:
[Değişken] = [Değer]
[Nesne] = [İçerik] olarak ayarlayın
Makro ve genel bildirimlerin başını, alt rutinleri ve/veya işlevleri içeren “CATMain” makro bloğu takip eder.
CATMain ve aşağıdaki alt rutinler ve işlevler, genel ve yerel değişkenleri ve nesneleri içerebilir. Yerel bir
değişken veya yerel nesne yalnızca ilgili aralık dahilinde geçerlidir ve genel bir değişken veya genel bir nesne
bildiren bir işleve veya alt programa benzer (Bölüm 1.8.2).
“CATMain”, makronun her çalıştırıldığında talimatların çalıştırıldığı bir makronun ana bloğudur:
“CATMain” içerisinde bir makroya yalnızca birkaç kritik kod satırı yerleştirmeli ve ardından alt programları (Alt)
ve/veya işlevleri (Fonksiyon) çağırarak ek koda erişmelisiniz. Bu şekilde kaynak kodunun okunması daha
kolaydır. Bir alt program veya fonksiyon, CATMain tarafından birden çok kez çağrılabilir.
Bir alt program veya fonksiyon içerisinde diğer alt programlara ve işlevlere çağrı yapmak mümkündür.
Altprogram, bir eylemi gerçekleştiren talimatlar dizisidir. Alt programın adı ve ardından isteğe bağlı bir
parametre listesi aracılığıyla bir çağrı yapılır:
Sub ve End Sub ifadeleri arasında bir alt rutinin bildirilmesi gerçekleştirilir : Sub Subroutine
{([Parameter] As Variable Type, ...)}
... Yerel değişkenlerin ve nesnelerin bildirimi ...
Talimat 1
Talimat 2
...
Son Alt
“MultiplicationOutput” alt programı “CATMain” bloğu içerisinde birkaç kez çağrılır. Bir iletişim kutusu, iki
tam sayının çarpımının sonucunu görüntüler.
Alt CATMain ()
ÇarpmaÇıkış 1, 3
ÇarpmaÇıkış 2, 3
ÇarpmaÇıktı 16, 32
Son Alt
Alt ÇarpmaÇıktı (I, II Tamsayı Olarak)
Loş Kutu
Kutu = MesajKutusu (I*II)
Son Alt
1.8.3.3 İşlevler
Fonksiyon, tek bir değer döndüren talimatlar dizisidir. Bir fonksiyon çağrılırken parametrelere aktarılabilir.
Parametreler fonksiyon adından sonra parantez içinde yazılır:
Bir fonksiyonun bildirilmesi, Function ve End Function ifadeleri arasında gerçekleştirilir : Function Function
{([Parameters] As Variable Type, ...)} As Variable Type Yerel değişkenlerin ve nesnelerin bildirimi ...
...
Talimat 1
Talimat 2
...
[Fonksiyon] = [Değer]
Son İşlev
fonksiyonu iki tam sayıyı çarpar ve çarpmanın sonucunu döndürür. Dönüş değeri bir iletişim kutusunda
görüntülenir.
Alt CATMain ()
Loş Kutu
Kutu = MsgBox (Çarpma (1, 3))
Son Alt
Machine Translated by Google
1.9 Dallar ve Döngüler 19
Dal, bir makroda komut bloklarının çalıştırıldığı bir kriterin test edilmesinin temelini belirleyen bir kontroldür.
Bir dal, "If-Then-Else" veya "Select-Case-Else" ifadesiyle tanımlanır.
Döngü, tekrar tekrar yürütülen bir dizi talimattır. CATScript'te "For-Next", "Do While" ve "Do-Until" ifadeleriyle
tanımlanan üç tür döngü vardır.
“If-Then-Else” iki talimat bloğunu ayıran bir dalı tanımlar. Bir dalın, birinci komut bloğunun mu yoksa ikinci
komut bloğunun mu yürütüleceğine karar vermek için bir kritere ihtiyacı vardır. Dallanma kriteri
karşılanıyorsa talimat bloğu “Then” ifadesinden sonra yürütülür.
Test kriteri karşılanmazsa talimat “Else” ifadesine göre yürütülür. “Else” ifadesi isteğe bağlıdır ve atlanabilir.
“If-Then-Else” ifadesinin genel sözdizimi şöyledir:
Aşağıdaki talimat, "End If" ifadesinin yanındaki "Then" ifadesidir ve "Else" ifadesi isteğe bağlıdır. “End If”,
“If-Then-Else” ifadesinin sonunu belirtir.
C)
Değilse ((A = 1) Ve (B = 1)) O halde
C=1
Başka
C=A*B
D=A-B
Eğer Sonlandır
Birçok kriter “Ve” ve “Veya” sözcükleriyle diğer karmaşık kriterlere bağlanabilir. “Ve” ifadesi her iki test
kriterinin de karşılanması gerektiğini belirtir. “Or” ifadesi her iki talimatta da bir kriterin karşılanması
gerektiğini belirtir. “Değil” kelimesi bir kriteri boşa çıkarır. Birden fazla kriter parantez içine de
yerleştirilebilir. Örnekler Tablo 1.6'da verilmiştir.
(A = 1) ve (B = 1) bir = 1; B = 1 bir = 2; B = 1
1.9.2 Select-Case-Else
“Select-Case-Else” iki veya daha fazla talimat bloğuyla ayrılmış bir dalı tanımlar.
“Select-Case-Else”, “If-Then-Else” ifadesinden daha güçlüdür. Talimat bloğu “Case” anahtar kelimesiyle başlar.
Anahtar kelimeyi test kriteri ve talimat bloğunun kendisi takip eder. Kriter bir test değeri veya birden fazla
test değerinin listesidir. Bir talimat bloğu yalnızca test değeri veya test değerlerinden biri "Case" anahtar
sözcüğüyle eşleştiğinde yürütülür. Eşleşen bir değer bulunamazsa, varsa “Case Else” ifadesi çalıştırılır;
aksi halde makro talimat bloğu üzerinden çalışır.
{Başka Durum
Bildirim Bloğu n}
Seçimi Sonlandır
“For-Next” bir sayaç tarafından kontrol edilen bir döngüyü tanımlar. Sayacın bir başlangıç ve son değeri
vardır. Sayaç, nihai değere doğru sabit bir adım boyutu değeriyle artırılan bir başlangıç değeriyle
başlar. Artış tanımlı değilse adım büyüklüğü değeri 1'e eşittir.
“Sonraki” döngünün sonunu gösterir. “Sonraki İçin” döngüsünün genel sözdizimi şöyledir:
[Sayaç] için = [Başlangıç Değeri]' den [Son Değer] 'e {Adım [Artış]}
Talimat 1
{Talimat 2
...}
Sonraki
“Exit For” ifadesi döngüyü sonlandırır. Bu ifadeyle makro “Sonraki” satırından sonraki ifadeye geçer. Kodu
düzenli tutmak için bu ifade nadiren kullanılmalıdır.
MsgBox(Toplam)
Son Alt
1.9.4 Do-While
“Do-While”, döngünün test kriteri karşılandığı sürece çalışan bir giriş kriterine sahip bir döngüyü tanımlar.
Test kriteri döngünün başlangıcında ve her yeni çalıştırmadan önce kontrol edilir. Döngünün talimatlarını
yerine getirmeyen test kriterleri atlanır.
“Loop” ifadesi döngünün sonunu belirtir. “Do-While”ın genel sözdizimi şöyledir:
Giriş kriteri sırasında yap
Talimat 1
{Talimat 2
...}
Döngü
“Exit Do” ifadesi döngüyü sonlandırır. Bu ifadeyle makro “Döngü” satırından sonraki ifadeye geçer.
Alt CATMain ()
Dim I, Tamsayı Olarak Toplam
Toplam = 0
ben = 1
Toplam <100 iken yapın
Toplam = Toplam + I
ben = ben + 1
Döngü
MsgBox(Toplam)
Son Alt
Sonuç “105”.
"Do Kadar", test kriteri karşılanana kadar devam eden bir başlangıç kriterine sahip bir
döngüyü tanımlar. Kriter, döngünün her yinelemesinden sonra kontrol edilir ve döngü en az
bir kez yürütülür. “Döngü” döngünün sonunu belirtir. “Do Kadar”ın genel sözdizimi şöyledir:
Yapmak
Talimat 1 {Talimat
2 ...}
“Exit Do” ifadesi döngüyü sonlandırır. Bu ifadeyle makro “Döngü” satırından sonraki ifadeye geçer.
"50"den büyük olana veya "10" toplamına ulaşana kadar "1", "2", "3" ... sayılarını toplayan bir döngüyü gösterir.
Alt CATMain ()
Dim I, Tamsayı Olarak Toplam
Toplam = 0
ben = 1
Yapmak
Toplam = Toplam + I
ben = ben + 1
Sonuç “55”.
Machine Translated by Google
1.10 CATScript 23'ün Bağlantı Nesneleri
Bağlantı Nesnesi, CATIA'nın öğelerine erişmek için her makroda gerekli olan bir nesnedir.
CATScript'te katı, tel çerçeve, yüzeyler ve ürün yapıları oluşturulduğunda dört ana
bağlantı nesnesi vardır:
CATIA uygulamasının kendisi
Bir CATIA belgesi, “CATPart” veya “CATProduct”
CATParts'ın geometrik elemanlarının kabı
CATProducts veya CATParts'ın yapısal bilgileri ve meta verileri için kapsayıcı
1.10.1 CATIA-Uygulama
Ana bağlantı nesnesi, CATIA V5 uygulamasını temsil eden Uygulama sınıfının (Bölüm 8.5)
bir nesnesidir. CATIA V5 uygulaması CATIA etiketiyle anlatılmaktadır .
CATIA V5 uygulamasında açık olan tüm CATIA belgelerinin listesi Belgeler özelliğiyle
gösterilir (Şekil 1.17, sol üst). Geçerli CATIA belgesine ActiveDocument özelliği tarafından
erişilir .
UYGULAMA.Belge Olarak Belgeler (Salt Okunur)
APPLICATION.ActiveDocument Belge Olarak (Salt Okunur)
Machine Translated by Google
24 1 Temel Bilgiler
ŞEKİL 1.17
"Uygulama" sınıfındaki bağlantı
nesnesinin
içeriği (Kaynak: Dassault
Systémes Çevrimiçi
Belgeleri)
CATIA V5 uygulaması ile işletim sistemi arasında iletişim hizmetlerini sağlayan FileSystem,
Printer ve SystemService özellikleri gösterilmektedir (Şekil 1.17 , sağ altta ) .
Bir CATIA belgesi, ister "CATPart" olsun, tek bir dosya türünde saklanan verilerin tümü demektir.
“CATDrawing” veya “CATProduct.” Tüm CATIA belgelerinin ana sınıfı
Machine Translated by Google
1.10 CATScript 25'in Bağlantı Nesneleri
Belge sınıfı (Bölüm 8.25). CATIA V5'in her belge türü için ana sınıfı Document sınıfı olan özel bir sınıf vardır .
Bir CATPart için bu, PartDocument sınıfıdır (Bölüm 8.16.9); bir CATProduct için bu, Product-Document
sınıfıdır (Bölüm 8.17.7).
Geçerli bir CATIA belgesinin (Bölüm 1.10.1) bir nesnesi olan Application sınıfının ActiveDocument özelliği
bildirilirse , belgenin doğru sınıfı otomatik olarak belirlenir. Örneğin, bir CATIA belgesi bir CATPart ise
ActiveDocument otomatik olarak bir PartDocument olur. Bir CATIA belgesinin nasıl oluşturulacağı,
yükleneceği ve saklanacağı hakkında ek bilgi Bölüm 2.2'de bulunmaktadır.
Bir CATPart'ın geometrisi, Part sınıfının bir nesnesidir (Bölüm 8.168) ve üçüncü bağlantı nesnesine atanır.
Bağlantı nesnesi, PartDocument sınıfının Part özelliği kullanılarak türetilir .
Diğer tüm nesneler, üçüncü bağlantı nesnesinin yöntemleri ve özellikleri aracılığıyla bir CATPart'ın
geometrik içeriğinden türetilir (Şekil 1.18).
Kısıtlamalara, ilişkilere ve parametrelere (Şekil 1.18 sağ, orta) Kısıtlamalar, İlişkiler ve Parametreler
özellikleri aracılığıyla erişilir .
CATScript'te geometri oluşturmak için araç kutuları kullanılır. Araç kutusu, geometri oluşturmaya
yönelik yöntemler sağlayan bir sınıftır. Tüm araç kutularının seti Fabrika'da özetlenmiştir
sınıf. ShapeFactory özelliği katı şekiller için bir araç kutusunu temsil eder ve HybridShapeFactory
özelliği tel kafes geometrisi ve yüzeyleri için bir araç kutusunu temsil eder (Şekil 1.18, sağ alt).
Bu bölümde özetlenen özellikler Bölüm 3 ila 7'de daha ayrıntılı olarak açıklanmaktadır.
Machine Translated by Google
26 1 Temel Bilgiler
ŞEKİL 1.18
“PartDocument” ve “Part”
sınıflarındaki bir
bağlantı nesnesinin içeriği
(Kaynak: Dassault
Systémes Çevrimiçi
Belgeleri)
kanal. CATParts veya CATProducts'ın meta verileri, Dönüşüm Matrisi, Parça Numarası veya Sürüm gibi genel
niteliklerdir. CATProducts veya CATParts'ın yapısal bilgileri ve meta verileri, Product sınıfının bir nesnesinde
saklanır (Bölüm 8.176). Sınıfın bir nesnesi, PartDocument sınıfının (Bölüm 8.169) ve ProductDocument sınıfının
(Bölüm 8.177) Product özelliği aracılığıyla türetilebilir .
ŞEKİL 1.19
"Ürün" sınıfındaki bağlantı
nesnesinin içeriği
(Kaynak: Dassault
CATProducts'ın ürün yapısı bir Ürünler listesi nesnesinde saklanır. Bu liste nesnesi, bir CATProduct'ta kullanılan Ürün öğelerini
saklar.
Diğer Ürün nesnesi özellikleri, bir montaj içindeki CATParts veya CATProducts'ın konumunu
kontrol eden dönüştürme matrisini tanımlar.
CATÜrünlerinin veya CATParts'ın meta verilerine (örn. Parça Numarası, Sürüm), Şekil 1.19'da
gösterilen Parça Numarası, Revizyon, Tanım, İsimlendirme , Kaynak ve AçıklamaRef özellikleri
aracılığıyla erişilebilir .
Bu bölümde özetlenen özellikler Bölüm 3 ila 7'de daha ayrıntılı olarak açıklanmaktadır.
CATIA V5, kullanıcının bireysel adımlarını kaydeden ve bu adımları kaynak koduna dönüştüren
bir makro kaydediciye sahiptir. Bu kayıt her zaman tam olmayabilir ve genellikle organize
programlamanın gerekliliklerini karşılamaz. Ancak nesneler ve yöntemler için değerli bilgiler
kaydeder.
ŞEKİL 1.20
Başlangıç
makro kaydedici
Makro kaydedici “Makro Kaydet” iletişim kutusunu açar. Burada makronun dili, konumu ve adı
tanımlanır. Kaydı başlatmak için “Başlat” düğmesini seçin (Şekil 1.21).
ŞEKİL 1.21
“Makro kaydet”
iletişim kutusu
Machine Translated by Google
1.12 Ek Bilgiler 29
ŞEKİL 1.22
1.12 Ek Bilgiler
Bu kitabın temelleri sayesinde kullanıcı hızlı bir şekilde kendi makrolarını yazabilecektir.
Herhangi bir makronun kapsamı tel çerçeve, yüzeyler ve katılar oluşturmanın dışındaysa
aşağıdaki kaynaklar ek bilgi sağlar:
CATIA V5'in Sınıflar, Nesneler, Özellikler ve Yöntemler için çevrimiçi belgelerindeki
“Programlama Arayüzü” (Şekil 1.23)
VBScript'teki komutlar için www.microsoft.com
ŞEKİL 1.23
Çevrimiçi
Dokümantasyonda
tam metin araması