You are on page 1of 50

Machine Translated by Google

Machine Translated by Google

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

New York Chicago San Francisco


Lizbon Londra Madrid Mexico City
Milano Yeni Delhi San Juan
Seul Singapur Sidney Toronto
Machine Translated by Google

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

Numara yapmak ................................................. ..................................................xvii

1 Temeller.................................................. ..................................................1

1.1 CATScript ve CATVBS'nin tanımı.................................................. ...................................................1

1.2 İsimlendirmenin Tanımı.................................................. .................................................. ..3

1.3 Nesne, Sınıf ve Nesne Yolunun Tanımı ................................................... .................................4


1.3.1 Nesne ve Sınıf.................................................. .................................................. ......4
1.3.2 Nesne Yolu.................................................. .................................................. ..................4
1.3.3 Kök Sınıf ve Temel Sınıflar ................................................... ....................................................5

1.4 Temel Makro Örneği.................................................. .................................................. .....6

1.5 Bir Makro Düzenleyici Seçmek ................................................. .................................................. ......8

1.6 Makronun Saklanması................................................................ .................................................. ..................9


1.6.1 CATIA Belgesinde Saklama ................................................... ................................................... 10
1.6.2 Ayrı Bir Dosyada Saklama ................................................... ................................................... 10

1.7 Bir Düğmeden Makro Başlatma.................................................. ....................................................11


1.7.1 Bir Düğmeye Makro Atama.................................................. ................................................... 12
1.7.2 Araç Çubuğu Oluşturma.................................................. .................................................. .... 12
1.7.3 Araç Çubuğuna Düğme Atama.................................................. .................................... 14

1.8 Makro Blokları................................................................ .................................................. ..................14


1.8.1 Makro Başkanı ................................................... .................................................. .......15

1.8.2 Global Değişkenlerin ve Nesnelerin Bildirilmesi .................................................... ..................16


1.8.3 CATMain, Alt Programlar ve Fonksiyonlar.................................................. ................................. 17

1.9 Dallar ve Döngüler .................................................. .................................................. ..........19


1.9.1 If-O halde-Else ................................................ .................................................. ................ 19
1.9.2 Select-Case-Else ................................................ .................................................. ......... 20
Machine Translated by Google
Biz İçindekiler

1.9.3 Sonraki İçin.................................................. .................................................. .................... 21

1.9.4 Do-While ................................................... .................................................. .................. 21


1.9.5 Şu Kadar Yapın.................................................. .................................................. .................... 22

1.10 CATScript'in Bağlantı Nesneleri.................................................. .................................................. 23


1.10.1 CATIA-Uygulama.................................................. .................................................. ... 23
1.10.2 CATIA Belgeleri “CATPart” ve “CATProduct”.................................................. .......... 24

1.10.3 CATParts'taki Geometri Kapları .................................................... ................................. 25


1.10.4 Yapısal Bilgiler ve Meta Veriler.................................................. ...................... 26

1.11 Makro Kaydediciyi Kullanma.................................................. .................................................. ..28

1.12 Ek Bilgiler.................................................. .................................................. .......29

2 Çevreyle İletişim..................................................................31

2.1 Ekran Çıkışı ve Girişi.................................................. .................................................. ......31

2.1.1 Ekran Çıkışı.................................................. .................................................. ......... 31


2.1.2 Ekran Girişi.................................................. .................................................. ................ 33

2.2 CATIA Belgelerini Oluşturun, Yükleyin ve Kaydedin.................................................. .................................34


2.2.1 Belge Oluşturma ................................................... .................................................... 35
2.2.2 Belgeleri Yükleme.................................................. .................................................. 36
2.2.3 Belgeleri Kaydetme ................................................... .................................................. .. 37

2.3 CATIA Elemanlarının Kullanıcı Seçimi.................................................. .................................................38

2.3.1 Makroyu Başlatmadan Önce Seçim.................................................. .................................. 39


2.3.2 Bir Makronun Yürütülmesi Sırasında Seçim ................................................... .................. 40

2.4 Elemanları Arama ve Tanıma ................................................... ..................................41


2.4.1 Arama ................................................... .................................................. ..................... 41

2.4.2 Tanıma .................................................... .................................................. .................. 42

2.5 Öğeleri Renklendirme ve Gizleme ................................................... .................................................. ....44

2.5.1 Renklendirme Öğeleri ................................................... .................................................. ... 44


2.5.2 Öğeleri Gizleme ................................................... .................................................. ..... 45

2.6 Veri Okuma ve Yazma.................................................. .................................................. ....46


2.6.1 Dosya Oluşturma veya Bildirme.................................................. ................................................. 46

2.6.2 Verileri Okumak ................................................... .................................................. ....... 47


2.6.3 Veri Yazma.................................................. .................................................. ................ 48

2.7 Harici Programları ve CATScriptleri Çalıştırma ................................................... ................................48

2.7.1 Harici Program.................................................. .................................................. .... 49


2.7.2 Harici CATScript.................................................. .................................................. .49

2.8 Ortam Değişkenlerini Okumak.................................................. ...................................................50


Machine Translated by Google
İçindekiler vii

3 CATParts'ın Bileşenleri.................................................. ..................53

3.1 Öznitellikler................................................. .................................................. ......................53

3.1.1 Standart Nitelikler.................................................. .................................................. 54


3.1.2 Özel Nitelikler.................................................. .................................................. .. 54

3.2 Köken Unsurları ................................................... .................................................. ................55

3.3 Cisimler, Geometrik Kümeler ve Sıralı Geometrik Kümeler.................................................. ...........55

3.3.1 Gövdeler.................................................. .................................................. ..................... 56


3.3.2 Geometrik Kümeler.................................................. .................................................. ..... 58
3.3.3 Sıralı Geometrik Kümeler ................................................... ................................................. 59

3.3.4 Gövdeler Arası Boole İşlemleri ................................................... ...................... 61

3.4 Parametreler ve İlişkiler ................................................... .................................................. ..65

3.4.1 Parametre.................................................. .................................................. .................. 65

3.4.2 Tasarım Tablosu ................................................... .................................................. ...... 66


3.4.3 Formüller.................................................. .................................................. .................. 68

3.5 Referanslar .................................................... .................................................. ......................69

3.5.1 Geometriye Referanslar ................................................... ................................................... 70


3.5.2 Nesnelere Referanslar ................................................... ................................................. 70
3.5.3 Nesne Adlarına Referanslar.................................................. ................................................... 70
3.5.4 Sınır Temsilinin Adına Atıflar ................................................ 71

3.6 Yön Tanımı.................................................. .................................................. ........74

3.6.1 Bir Vektör Tarafından Tanımlanan Yön.................................................. ................................................... 75


3.6.2 Bir Nesne Tarafından Tanımlanan Yön.................................................. .................................... 75

4 CATÜrünlerinin Bileşenleri.................................................. ........77

4.1 Öznitellikler................................................. .................................................. ......................77

4.2 Parametreler ve Formüller .................................................. .................................................. 0,78

4.3 Montaj Yapısı ..................................................... .................................................. ........78

4.3.1 Mevcut Bir Yapının Analizi ................................................... .................................. 78


4.3.2 Öğe Ekleme.................................................. .................................................. ..... 79
4.3.3 Elemanların Değiştirilmesi.................................................. .................................................. .80
4.3.4 Öğeleri Silme.................................................. .................................................. ... 80

4.4 Kısıtlamalar ................................................... .................................................. ......................81

5 2B Tel Kafes Geometrisi.................................................. ....................83

5.1 Çizim Referansları ve Çizim Nesneleri.................................................. .................................83

5.2 Çizim Geometrisi Oluşturma.................................................. .................................................. 0,85


Machine Translated by Google
viii İçindekiler

5.3 Yapı Elemanlarının ve Dönme Ekseninin Tanımlanması ................................................... ........88

5.4 Kısıtlamalar Oluşturma................................................. .................................................. ......89

6 3B Tel Kafes Geometrisi ve Yüzeyleri..................................................91

6.1 Genel prosedür................................................ .................................................. ......91

6.2 Puanlar.................................................. .................................................. ...................................93

6.2.1 Nokta Oluşturma Yöntemleri ................................................... ................................................... 93


6.2.2 Vaka Çalışmaları: Noktalar ................................................... .................................................. .. 95

6.3 Çizgiler.................................................. .................................................. ................................96

6.3.1 Çizgi Oluşturma Yöntemleri.................................................. ................................................... 97


6.3.2 Vaka Çalışmaları: Çizgiler.................................................. .................................................. .... 99

6.4 Yüzeyleri................................................. .................................................. ................................101

6.4.1 Düzlem Oluşturma Yöntemleri.................................................. ................................................... 101


6.4.2 Vaka Çalışmaları: Düzlemler.................................................. .................................................. 102

6.5 Eğriler ..................................................... .................................................. ................................104

6.5.1 Eğri Oluşturma Yöntemleri ................................................... ................................................... 106


6.5.2 Vaka Çalışmaları: Eğriler.................................................. .................................................... 109

6.6 Yüzeyler ................................................... .................................................. ......................111

6.6.1 Yüzey Oluşturma Yöntemleri.................................................. .................................. 112


6.6.2 Vaka Çalışmaları: Yüzeyler.................................................. .................................................... 113

6.7 Dönüşümler................................................................ .................................................. ..................115

6.7.1 Dönüşüm Oluşturma Yöntemleri ................................................... .................. 116


6.7.2 Vaka Çalışmaları: Dönüşümler.................................................. ................................. 117

6.8 Operasyonlar ................................................. .................................................. .....................118


6.8.1 İşlem Oluşturma Yöntemleri.................................................. ................................. 119
6.8.2 Vaka Çalışmaları: Operasyonlar.................................................. ................................................. 121

7 Katılar.................................................. ....................................................123

7.1 Genel prosedür................................................ .................................................. ...........124

7.2 Çizim Tabanlı Katılar ................................................... .................................................. .......125

7.2.1 Çizim Tabanlı Katılar Oluşturma Yöntemleri ................................................... ................ 126


7.2.2 Örnek Olay İncelemeleri: Çizim Tabanlı Katılar ................................................... ................................. 127

7.3 Yüzey Bazlı Katılar.................................................. .................................................. .......129

7.3.1 Yüzey Esaslı Katılar Oluşturma Yöntemleri ................................................... .................. 129


7.3.2 Örnek Olay İncelemeleri: Yüzey Bazlı Katılar ................................................... ................................. 130
Machine Translated by Google
İçindekiler ix

7.4 Dönüşüm Bazlı Katılar ................................................... ....................................................132

7.4.1 Dönüşüm Esaslı Katılar Oluşturma Yöntemleri ................................................... 133


7.4.2 Örnek Olay İncelemeleri: Dönüşüm Bazlı Katılar ................................................... .................. 135

7.5 Operasyonlar ................................................. .................................................. ....................137


7.5.1 Katılar Üzerinde İşlem Oluşturma Yöntemleri.................................................. .................138
7.5.2 Vaka Çalışmaları: Operasyonlar.................................................. ................................................. 139

8 Öne Çıkan Nesne Sınıfları .................................................. ................143

8.1 Eklemek ................................................. .................................................. .................................143


8.2 Açı ................................................. .................................................. .................................143
8.3 Açısal Yeniden Bölümlendirme.................................................. .................................................. ......144
8.4 Herhangi Bir Nesne ................................................... .................................................. ......................144
8.5 Başvuru................................................. .................................................. .....................145
8.6 Birleştirmek................................................. .................................................. ......................149
8.7 Eksen2D ................................................ .................................................. ...................................149
8.8 Bedenler................................................. .................................................. ................................150
8.9 Vücut................................................. .................................................. ..................................150
8.10 Boole Şekli.................................................. .................................................. ..................151
8.11 Bool Param...................................................... .................................................. .. .....................152

8.12 CATBaseDispatch.................................................. .................................................. ......152


8.13 Pah................................................................ .................................................. ................................152
8.14 Circle2D.................................................. .................................................. ................................154
8.15 Daire Deseni.................................................. .................................................. ......................155
8.16 Yakın Yüzey.................................................. .................................................. ..................157
8.17 Koleksiyon................................................................ .................................................. ......................157

8.18 ConstRadEdgeFillet ................................................. .................................................. .......158


8.19 Kısıtlama................................................................ .................................................. ......................159
8.20 Kısıtlamalar ................................................... .................................................. .....................163
8.21 ControlPoint2D.................................................. .................................................. ..................164
8.22 Eğri2D.................................................. .................................................. ................................165

8.23 Tasarım Tablosu ................................................... .................................................. ....................167


8.24 Boyut................................................................ .................................................. ......................169
8.25 Belge ................................................................ .................................................. ......................169
8.26 Dokümanlar ..................................................... .................................................. ....................173
8.27 Taslak................................................................ .................................................. .................................174
8.28 Taslak Etki Alanı ................................................... ................................................ .. ..................175
8.29 Taslak Etki Alanları.................................................. .................................................. ..................176

8.30 DressUpShape................................................. ................................................ .. ..................177


8.31 Kenar Filetosu.................................................. .................................................. ......................177
8.32 Elips2D.................................................. .................................................. ......................178
Machine Translated by Google
x İçindekiler

8.33 Yüz Filetosu.................................................. .................................................. ......................179

8.34 Fabrika ................................................................ .................................................. ...................................179 8.35


Fabrika2D ..................... .................................................. .................................................. 0,180
8.36 Dosya................................................................ .................................................. ..................................182

8.37 Dosya Bileşeni.................................................. .................................................. .................182


8.38 Dosyalar.................................................. .................................................. .................................183

8.39 Dosya Sistemi.................................................. .................................................. ......................183


8.40 Fileto................................................................ .................................................. .................................185
8.41 Dosya ................................................. .................................................. ................................186
8.42 Klasörler.................................................. .................................................. ................................186
8.43 Formül ................................................................ .................................................. ................................186
8.44 GeometrikEleman.................................................. .................................................. ..........187
8.45 GeometrikElemanlar.................................................. .................................................. .......187

8.46 Geometri2D.................................................. .................................................. .....................187 8.47


Oluk ................................... .................................................. ..................................................188
8.48 Delik ................................................ .................................................. .................................188

8.49 Hibrit Gövdeler ................................................... .................................................. ..................192 8.50


HybridBody ................................ .................................................. ...................................................192 8.51
HybridShape ....... .................................................. .................................................. ................193 8.52
HybridShape3DCurveOffset.................................. .................................................. .......194 8.53
HybridShapeAffinity.................................................. .................................................. ................195 8.54
HybridShapeAssemble .................................. .................................................. ...................................196 8.55
HybridShapeAxisLine.................................. .................................................. ...................................200 8.56 Hibrit Şekil
Ekseninden Eksene ..................... .................................................. ...................................201 8.57
HybridShapeBlend................. .................................................. ...................................................202 8.58 HibritŞekil
Sınırı...... .................................................. ....................................................208 8.59 Hibrit Şekil
Çemberi. .................................................. .................................................. .......209 8.60
HybridShapeCircle2PointsRad........................................ .................................................. 211 8.61
HybridShapeCircle3Points.................................................. ..................................................213 8.62
HybridShapeCircleBitangentPoint.................................................. ...................................................214 8.63
HybridShapeCircleBitangentRadius.......... .................................................. ......................216 8.64
HybridShapeCircleCenterAxis........................ .................................................. ................218 8.65
HybridShapeCircleCenterTangent.................................. .................................................. ....219 8.66
HybridShapeCircleCtrPt.................................................. .................................................. .......221 8.67
HybridShapeCircleCtrRad ..................................... .................................................. .......223 8.68
HybridShapeCircleExplicit ..................................... .................................................. ......224 8.69
HibritŞekilÇemberTritanjant........................................ .................................................. .225 8.70
HybridShapeCombine.................................................. .................................................. .......227 8.71
HybridShapeConic ..................................... .................................................. ..................228 8.72
HybridShapeConnect................................. .................................................. ................................232 8.73
HybridShapeCorner ...................... .................................................. ................................................234 8.74
HibritŞekilEğrisiAçık ................ .................................................. ................................................237 8.75
HybridShapeCurvePar .................. .................................................. ......................................237
Machine Translated by Google
İçindekilerxi _

8.76 Hibrit Şekil Eğrisi Pürüzsüz.................................................. .................................................240 8.77


Hibrit Şekilli Silindir.................................................. .................................................. .....243 8.78
HybridShapeDirection.................................................. .................................................. ..................244
8.79 HybridShapeExtract................................................. .................................................. .....................246
8.80 HybridShapeExtractMulti.................................. .................................................. .....................248
8.81 HybridShapeExtrapol................................. .................................................. .....................................252
8.82 HybridShapeExtremum.................. .................................................. .....................................254 8.83
HybridShapeExtremumPolar.................. .................................................. ...................................255 8.84
HybridShapeExtrude................................. .................................................. .....................................257
8.85 HybridShapeFactory...... .................................................. ...................................................258 8.86
HybridShapeFill .... .................................................. .................................................. ........288 8.87
HybridShapeFilletBiTangent ................................... .................................................. ....292 8.88
HybridShapeFilletTriTangent.................................................. .................................................. 295 8.89
HybridShapeHelix.................................................. .................................................. ................296 8.90
HybridShapeIntegratedLaw.................................................. .................................................. .........299
8.91 HibritŞekilKesişimi ................................... .................................................. .........302 8.92
HybridShapeInverse ...................................... .................................................. ..................303 8.93
HybridShapeLawDistProj.................................. .................................................. ..................304 8.94
HybridShapeLineAngle ................................... .................................................. ......................306 8.95
HybridShapeLineBisetting........................ .................................................. .....................308 8.96
HybridShapeLineBiTangent.................................. .................................................. ...................310 8.97
HybridShapeLineExplicit.................................. .................................................. .....................311 8.98
HybridShapeLineNormal.................................. .................................................. ......................312 8.99
HybridShapeLinePtDir........................ .................................................. ...................................313 8.100
HybridShapeLinePtPt.................. .................................................. ...................................................315
8.101 HybridShapeLineTangency .................. .................................................. ....................................317
8.102 HybridShapeLoft...... .................................................. .................................................319 8.103
HibritŞekilYakın ................................................. .................................................. ................325 8.104
HybridShapeOffset................................................. .................................................. ...................................326
8.105 HybridShapePlane1Curve.................................. .................................................. .....................327
8.106 HybridShapePlane1Line1Pt ................... .................................................. ..................328 8.107
HybridShapePlane2Lines.................................. .................................................. ...................328 8.108
HybridShapePlane3Points ..................... .................................................. ..................329 8.109
HibritŞekilDüzlemAçısı ................................... .................................................. .....................329 8.110
Hibrit ŞekilDüzlem Denklemi ..................... .................................................. ..................331 8.111
HybridShapePlaneExplicit.................................. .................................................. ..................332 8.112
HybridShapePlaneMean .................................. .................................................. ....................332 8.113
HibritŞekilDüzlemiNormal.................................. .................................................. ....................333 8.114
HybridShapePlaneOffset................................. .................................................. .....................334 8.115
HybridShapePlaneOffsetPt ................... .................................................. ...................335 8.116
HybridShapePlaneTangent.................................. .................................................. ..................335 8.117
HibritShapePointBetween...................... .................................................. ................336 8.118
HybridShapePointCenter .................................. .................................................. ..................337
Machine Translated by Google
xii İçindekiler

8.119 HibritShapePointCoord.................................................. .................................................. ..337 8.120


HybridShapePointExplicit ................................................... .................................................. ..338 8.121
HybridShapePointOnCurve ................................................... .................................................. 338 8.122
HybridShapePointOnPlane.................................................. ....................................................340 8.123
HybridShapePointOnSurface ................................................. ....................................................341 8.124
HibritŞekilNoktasıTeğet ... .................................................. ....................................................342 8.125
HibritŞekilPolyline.... .................................................. .................................................. .343 8.126
HybridShapePositionTransfo.................................................. ....................................................344 8.127
HybridShapeProjesi .................................................. .................................................. ......347 8.128
HybridShapeReflectLine ...................................... .................................................. .......348 8.129
HybridShapeRevol ..................................... .................................................. ....................350 8.130
HybridShapeRotate.................................. .................................................. ...................................351 8.131 Hibrit
Şekiller .................. .................................................. ....................................................353 8.132
HybridShapeScaling .................................................. .................................................. .....353 8.133 Hibrit Şekil
Bölümü ..................................... .................................................. ................354 8.134
HybridShapeSphere................................................. .................................................. ......................354 8.135
HybridShapeSpine ...................... .................................................. ................................................356 8.136
HibritŞekilSpiral.................. .................................................. ....................................................358 8.137
HybridShapeSpline ... .................................................. .................................................. ....360 8.138
HybridShapeSplit.................................................. .................................................. ..................365 8.139
HybridShapeSurfaceExplicit .................................. .................................................. ................368 8.140
HybridShapeSweep .................................. .................................................. ......................368 8.141
HibritŞekilSüpürmeCircle ................... .................................................. ......................369 8.142
HybridShapeSweepConic ...................... .................................................. ......................375 8.143
HybridShapeSweepExplicit........................ .................................................. .....................380 8.144
HybridShapeSweepLine ..................... .................................................. ......................386 8.145 Hibrit Şekil
Simetrisi.................................. .................................................. ...................................395 8.146
HibritŞekilKalınlığı.................... .................................................. .....................................396 8.147
HybridShapeTranslate .................. .................................................. ....................................................397 8.148
HybridShapeTrim................. .................................................. .................................................399 8.149
Hiperbol2D................................................................ .................................................. ..................402
8.150 Kesişme.................................................. .................................................. ......................403
8.151 IntParam.................................................. ................................................ .. ................................404

8.152 BilgiObjesi.................................................. .................................................. .................405 8.153


KnowledgeActivateObject.................................. .................................................. ................405 8.154
Uzunluk .................................... .................................................. ....................................................406 8.155
Limit ...... .................................................. .................................................. ......................406
8.156 Satır................................................................ .................................................. ..................................407
8.157 Hat2D.................................................. .................................................. ................................408

8.158 Doğrusal Yeniden Bölümleme.................................................. .................................................. ................408


8.159 Çatı katı .................................... .................................................. ....................................................409
8.160 Ayna................................................................ .................................................. ...................................409
8.161 SıralıGeometrik Küme ................................................. .................................................. ..410
Machine Translated by Google
İçindekiler xiii

8.162 SıralıGeometrikKümeler.................................................. .................................................. 411

8.163 OriginElemanları ................................................... .................................................. ..................412 8.164


Ped ................................ .................................................. ..................................................412

8.165 Parabol2D.................................................. ................................................ .. ...................413

8.166 Parametre.................................................. .................................................. ......................413

8.167 Parametreler.................................................. .................................................. ....................415

8.168 Bölüm................................................. .................................................. ..................................417

8.169 ParçaBelgesi................................................................ .................................................. ..................421

8.170 Desen................................................................ .................................................. ................................422

8.171 Düzlem.................................................. .................................................. ...................................423

8.172 Cep................................................................ .................................................. ................................424

8.173 Noktası ................................................ .................................................. ..................................425

8.174 Nokta2D.................................................. .................................................. ..................................425

8.175 Prizma ..................................................... .................................................. ..................................426

8.176 Ürün................................................................ .................................................. ...................................427

8.177 ÜrünBelgesi................................................................ .................................................. ...........430

8.178 Ürünler ..................................................... .................................................. ......................431

8.179 RealParam.................................................. .................................................. ......................433

8.180 Dikdörtgen Desen.................................................. .................................................. .....................434

8.181 Referans ..................................................... .................................................. ......................437

8.182 Referanslar.................................................. .................................................. .....................437

8.183 İlişki .................................................... .................................................. ................................437

8.184 İlişkiler................................................................ .................................................. ......................439

8.185 Kaldır.................................................. .................................................. ..................................440

8.186 Yüzü Kaldır.................................................. .................................................. ...................441

8.187 Dağıtım................................................................ .................................................. ..................442 8.188 Yüzü

Değiştir.................................. ..... ................................................... ..... ...................................................442


8.189 Devrim.................................................. .................................................. ......................443

8.190 Kaburga .................................................... .................................................. ..................................443

8.191 Döndürme ................................................... .................................................. ................................444

8.192 Ölçeklendirme.................................................. .................................................. ....................................445 8.193

Ölçekleme2................. .................................................. .................................................. .....445 8.194 Seçilen


Eleman.................................................. .................................................. ...................446

8.195 Seçim................................................................ .................................................. ......................447

8.196 Dikiş Yüzeyi.................................................. .................................................. ....................452

8.197 Şaft.................................................. .................................................. ..................................453

8.198 Şekil ..................................................... .................................................. ................................453 8.199

ShapeFactory .................. .................................................. ....................................................453 8.200

Şekiller .................................................. .................................................. ................................467


8.201 Kabuk .................................................. .................................................. ..................................468

8.202 Çizim ................................................ .................................................. ................................469

8.203 Çizim Tabanlı Şekil................................................. .................................................. .........471 8.204


Çizimler.................................................. .................................................. ....................................471
Machine Translated by Google
xiv İçindekiler

8.205 Yuva ................................................ .................................................. ..................................472


8.206 SolidCombine.................................................. .................................................. ..................472

8.207 Spline2D................................................. .................................................. ......................473


8.208 Bölünmüş ................................................... .................................................. .................................474
8.209 Takviye.................................................. .................................................. ................................474
8.210 StrParam.................................................. .................................................. .................................475

8.211 Yüzeye Dayalı Şekil................................................. .................................................. .......476


8.212 Süpürme.................................................. .................................................. ................................476
8.213 Simetri.................................................. .................................................. ......................479
8.214 SistemServisi.................................................. .................................................. ................479
8.215 Metin Akışı ................................................... .................................................. ....................481
8.216 Kalınlık ................................................. .................................................. ......................482
8.217 Kalın Yüzey.................................................. .................................................. ..................483
8.218 Konu ................................................................ .................................................. ................................484

8.219 DönüşümŞekli ................................................. .................................................. .....485


8.220 Çeviri................................................................ .................................................. ......................486
8.221 Kırpma ................................................ .................................................. .................................486

8.222 Üçtanjant Fileto.................................................. .................................................. ................487


8.223 Kullanıcı Kalıbı.................................................. .................................................. .....................488

8.224 VarRadEdgeFillet ................................................ .................................................. ......489


8.225 VisPropertySet................................................................. .................................................. ................490

9 Öne Çıkan VBScript Komutları.................................................. ......497

9.1 Karın kasları ................................................. .................................................. .................................497


9.2 Asc...................................................... .................................................. .................................497
9.3 Boolean.................................................. .................................................. ................................498
9.4 Bayt .................................................. .................................................. ..................................498
9.5 CBool .................................................. .................................................. ................................498
9.6 CByte ...................................................... .................................................. ................................498
9.7 CD tarihi.................................................. .................................................. ................................499
9.8 CDb.................................................. .................................................. ..................................499
9.9 Chr...................................................... .................................................. ..................................499
9.10 CInt.................................................. ................................................ .. ...................................500

9.11 CL ................................................................ ................................................ .. ................................500


9.12 Yapı ................................................................ .................................................. ...................................500
9.13 Çünkü.................................................. .................................................. .................................501

9.14 CSng .................................................. ................................................ .. ................................501


9.15 CStr.................................................. .................................................. .................................501
9.16 Tarih ................................................................ .................................................. .................................502

9.17 Gün ................................................ .................................................. .................................502


9.18 Loş................................................................ .................................................. .................................502

9.19 Loş ().................................................. .................................................. .................................503


Machine Translated by Google
İçindekiler xv

9.20 Çift ................................................................ .................................................. ................................503


9.21 Yap-Buna Kadar ................................................... .................................................. ..................................503
9.22 Do-While.................................................. .................................................. ..................................503

9.23 Boş ................................................................ .................................................. ..................................503 9.24


Bitiş ................. .................................................. .................................................. ................504
9.25 Hata................................................................ .................................................. ....................................504
9.26 Çıkış................................................................ .................................................. ..................................504

9.27 Tecrübe................................................... .................................................. ................................................504 9.28


Düzeltme................ .................................................. .................................................. ....................505
9.29 Sonraki.................................................................. .................................................. ................................505
9.30 İşlev................................................................ .................................................. ................................505

9.31 Saat................................................. .................................................. ..................................505


9.32 If-Then-Else................................................................. .................................................. ................................506

9.33 Giriş Kutusu.................................................. ................................................................... ...................................................506 9.34


Öğr..... ................ ................................................. ................................... .................... ................................................... ...... ..506

9.35 Dahili ................................................................ .................................................. ....................................506

9.36 Tamsayı.................................................. .................................................. ................................507


9.37 İşTarihi ................................................. .................................................. ................................507

9.38 Boş.................................................. .................................................. ..................................507


9.39 IsNull .................................................. .................................................. ...................................508
9.40 Sayısaldır.................................................. .................................................. ......................508
9.41 Katılmak................................................. .................................................. .................................508
9.42 L Davası.................................................. .................................................. ...................................509
9.43 Sol ................................................................ .................................................. .................................509
9.44 Len................................................... ................................................................... ......................................509

9.45 Günlük................................................... .................................................. ..................................510 9.46


Uzun.............. .................................................. .................................................. ..................510
9.47 LTrim................................................. .................................................. ...................................510
9.48 Orta ................................................ .................................................. .................................511
9.49 Dakika ................................................... .................................................. .................................511
9.50 .....................................'e doğru ................................................ .. ...................................511
9.51 Ay ................................................ .................................................. ................................512

9.52 Mesaj Kutusu.................................................. .................................................. ..................................512


9.53 Şimdi ................................................ .................................................. .................................512
9.54 Boş ................................................ .................................................. .................................512
9.55 Hata Durumunda Devam Etme Sonraki.................................................. .................................................. .......513
9.56 Rastgele.................................................. .................................................. ......................513
9.57 ReDim...............................................................................................................................513
9.58 Uzak ................................................ .................................................. .................................514

9.59 Sağ................................................................ .................................................. .....................................514 9.60


Rnd ................ .................................................. .................................................. ..................514
9.61 RTrim ...................................................... ................................................................ ...................................514
9.62 İkinci................................................................ .................................................. ................................515
9.63 Durum Seçme.................................................. .................................................. ......................515
Machine Translated by Google
xvi İçindekiler

9.64 Ayarlama ................................................ .................................................. ..................................515


9.65 Günah ................................................ .................................................. ..................................515

9.66 Tek ................................................................ .................................................. ..................................516 9.67


İşaret .................. .................................................. .................................................. ................516 9,68
Kare................................. .................................................. .................................................516
9.69 StrTers.................................................. .................................................. ......................517

9.70 Dizi................................................................ .................................................. ..................................517


9.71 Alt ................................................... .................................................. .................................517
9.72 Ten rengi................................................................ .................................................. ..................................517
9.73 Zaman................................................................ .................................................. .................................518
9.74 Zamanlayıcı ................................................ .................................................. ...................................518
9.75 Zaman Değeri.................................................. .................................................. ......................518
9.76 Kırpma ................................................ .................................................. .................................519
9.77 U Davası .................................................. .................................................. ................................519
9,78 Yıl ................................................ .................................................. .................................519

Dizin .................................................. .................................................. .......521


Machine Translated by Google

Ö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 nedenle CATScript ve CATVBS platformdan bağımsızdır ve Windows ve UNIX üzerinde çalışı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

Tablo 0.1 Bu Kitaptaki V5 Makro Programlamanın Kapsamı

Tel Kafes ve Yüzey Üretken Şekil Toplantı


Parça Tasarımı Tasarım Tasarım Tasarım
Machine Translated by Google
xviii Önsöz

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:

� Temeller � 3D Tel Kafes Geometrisi ve Yüzeyleri


� Çevre ile İletişim Katılar

� CATParts Bileşenleri Öne Çıkan Nesne Sınıfları


CATÜrünlerinin Bileşenleri Öne Çıkan VBScript Komutları
2D Tel Kafes Geometrisi

“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ı.

“CATParts Bileşenleri” ve “CATProducts Bileşenleri” bölümleri , bir makronun nasıl oluşturulacağını


ve geometri oluşturma gerekliliklerini açıklamaktadır. Bu, tüm Cisimlerin, Geometrik Kümelerin ve
Çarpım Yapılarının temelidir.

“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

daha yüksek yazılım sürümleriyle kullanılabilir.

Gröbenzell Dieter R.Ziethen


Machine Translated by Google

CATIA V5
Machine Translated by Google

Bu sayfa bilerek boş bırakılmıştır


1
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:

VBScript'in temel kavramları


Bir makronun genel yapısı

Simgeler ve makronun saklanması


Makro düzenleyici

Makro kaydedici

1.1 CATScript ve CATVBS'nin Tanımı

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, UNIX ve Windows'ta çalışacak şekilde tasarlanmış bir MS VBScript çeşididir.


CATScript, V5R8'den önce her iki platformda da çalışabiliyordu.

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

TABLO 1.1 CATIA V5'teki Makro Dillere Genel Bakış

Dil Dosya Formatı Açıklama Başvuru

CATScript *.CATScript Azaltılmış VBScript Makrolar (Win ve UNIX), CATIA


Tercüman (Windows, UNIX) Bilgi Yazılımı

CATVBS'ler *.catvbs Tam VBScript Yorumlayıcısı Makrolar (Win ve UNIX), CATIA


(Windows, UNIX, 5R8'den beri) Bilgi Yazılımı

CATVBA *.catvba Uygulamalar için Visual Basic Menü tabanlı


Derleyici (Kazanma) Başvurular (Kazanma)

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.

TABLO 1.2 CATScript, CATVBA ve CATVBS arasındaki farklar

CATScript ve CATVBA CATVBS'ler

Alt CATMain () Alt CATMain ()


' Yeni CATPart Oluştur -------- ' Yeni CATPart Oluştur --------
Doküman Olarak Dim D Loş D
D = CATIA.Documents.Add (“Parça”) olarak ayarlayın D = CATIA.Documents.Add (“Parça”) olarak ayarlayın
' Açık Gövde Oluştur ---- ' Açık Gövde Oluştur ----
HybridBody Olarak HB Dim Loş HB
HB'yi ayarlayın = HBodyCreate(D) HB'yi ayarlayın = HBodyCreate(D)
Wzk3D = D.Part.HybridShapeFactory'yi ayarlayın Wzk3D = D.Part.HybridShapeFactory'yi ayarlayın
' Puan Oluştur -------------- ' Puan Oluştur ---------------
Tam Sayı Olarak Dim I Loş ben
i - l için 100'e kadar I için = l'den 100'e kadar
Dim P As HybridShapePointCoord Loş P
P = Wzk3D.AddNewPointCoord'u ayarlayın (I * 10, 0, 0) P = Wzk3D.AddNewPointCoord'u ayarlayın (I
* 10, 0, 0)
HB.AppendHybridShape P HB.AppendHybridShape P
Sonraki Sonraki

D.Parça Güncellemesi D.Parça Güncellemesi


Son Alt Son Alt

HBodyCreate ( Belge Olarak D) HybridBody Olarak İşlev İşlev HBodyCreate (D)


Loş HB
HybridBody Olarak HB Dim HB = D.Part.HybridBodies.Add değerini ayarlayın
HB'yi ayarlayın = HB = D.Part.HybridBodies.Add HBodyCreate'i HBodyCreate = HB'yi ayarlayın
ayarlayın = HB Son İşlev
Son İşlev
Machine Translated by Google
1.2 İsimlendirmenin Tanımı 3

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.

1.2 İsimlendirmenin Tanımı

İsimlendirme, aşağıdaki bölümlerde kullanılan terimlerin tanımını açıklamaktadır. Bu kitap


talimatların CATScript tarafından nasıl kullanıldığını özetlemektedir. Bir talimat şöyle olabilir:

Genel bir açıklama


Bir makrodaki kaynak kodu örneği

Genel bir açıklama, bir talimattaki komutların tüm yeteneklerini sağlar. Bir örnek, belirli bir uygulamada Kelime

kullanılan bir dizeyi açıklar.

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.

Örnek 1.1: Önemli Kelimeleri Vurgulamak


Satır.Uzunluğu = 100

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.

Örnek 1.2: Değişkenlerin ve Parametrelerin Açıklaması


Genel açıklama:
Tanım.İkiSatır [Satır l, Satır 2] Çizgi Olarak

Makrodaki kod:

Tanım.TwoLines Center_Line, Drawing_Direction

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}

gösterilen sözcük sayısını belirleyebilir.


Machine Translated by Google
4 1 Temel Bilgiler

Örnek 1.3: İsteğe Bağlı Kelimeler


Genel açıklama:
Tanım.Satırlar [{Satır 1{, Satır 2, ...}] Satır Olarak

Makrodaki kod:
Tanım.Çizgiler Center_Line

1.3 Nesne, Sınıf ve Nesne Yolunun Tanımı

CATScript nesne yönelimli bir programlama dilidir, dolayısıyla CATScript'i programlamak için
nesne yönelimli dilin birkaç temel ilkesini anlamak gerekir.

1.3.1 Nesne ve Sınıf


Nesne , bilgileri depolayan bir kaptır . Her nesneye bir sınıf atanır. Bir sınıf
aynı nesne tipindeki nesnelerin bilgi yapısının bir açıklamasıdır. Bir sınıfın özellikleri ve
yöntemleri içerisinde her nesnenin bir sınıfı vardır.
Özellik , bir nesnenin bir özelliğidir. Bir özellik genellikle parametresinin değeri aracılığıyla
okunur veya değiştirilir. Bazı özellikler yalnızca okunabilir ancak değiştirilemez. Bu durumda
mülk "salt okunur" erişime sahip olarak anılır.
Yöntem , mevcut bir nesneyi değiştirmek veya yeni bir nesne oluşturmak için kullanılan bir
talimattır. Bir yöntemin birden fazla giriş parametresi ve çıkış parametresi olabilir. Çıkış
parametresi, bir yöntemin uygulanmasının sonucudur. Bir yöntemin bir çıktı parametresi varsa,
buna işlev (Func) veya alt program (Sub) adı verilir.

Örnek 1.4: “Line” Sınıfının Özellikleri ve Yöntemleri


Özellikler: Başlangıç Noktası, Bitiş Noktası, Uzunluk (Salt Okunur)
Yöntemler: Alt Küme _Başlangıç Noktası, Alt Küme
_Bitiş Noktası “Line” sınıfının her nesnesinin atanabilecek bir başlangıç noktası ve bitiş
noktası vardır. Bir satırın uzunluğu okunabilir ancak yazılamaz. Her iki yöntemin de altprogram
olması nedeniyle çıktı parametresi yoktur.

1.3.2 Nesne Yolu


CATScript sınıfları hiyerarşik olarak yapılandırılmıştır. Hiyerarşik bir yapıda ebeveyn ve
çocuk sınıfları bulunur. Bir ana sınıf, bir grup alt sınıfı özetler ve bu sınıflar için mevcut olan
temel yöntemleri ve özellikleri sağlar. Bir sınıf ne kadar derinse
Machine Translated by Google
1.3 Nesne, Sınıf ve Nesne Yolunun Tanımı 5

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:

Sınıf hiyerarşisi 0.Sınıf hiyerarşisi 1. ... .Sınıf hiyerarşisi n

Örnek 1.5: Pedlerin ve Ceplerin Nesne Yolu


Sınıf hiyerarşisi n: Katı

Sınıf hiyerarşisi n+1: Kontur Tabanlı Katı

Sınıf hiyerarşisi n+2: Bloknot, Cep

Nesne Yolları: ... .Katı.Kontur Tabanlı Katı.Pad


... .Solid.Contour tabanlı Solid.Pocket

"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.

TABLO 1.3 Sınıf Hiyerarşisi Örneği

Hiyerarşi 0'dan n-1'e ... Diğer Yüksek Seviye Sınıflar ...

Hiyerarşi n Sağlam

Hiyerarşi n+1 Kontur Tabanlı Katı

Hiyerarşi n+2 Ped Cep

1.3.3 Kök Sınıf ve Temel Sınıflar

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.

CATScript'teki tüm nesnelerin kök sınıfı CATBaseDispatch sınıfıdır (Bölüm 8.12).


CATBaseDispatch'in hiçbir özelliği veya yöntemi yoktur. CATBaseDispatch'ten , iki alt temel sınıf, bireysel
nesneler için AnyObject'ten ve liste nesneleri için Collection'dan türetilir (Tablo 1.4). Bir nesnenin yolu durumunda,
CATBaseDispatch kök sınıfı genellikle yazılmaz ancak doğrudan bir temel sınıfla başlatılır.

TABLO 1.4 CATScript'in Kök Sınıfı ve Temel Sınıfları

CATBaseDispatch

HerhangiNesne Toplamak

(Bireysel Nesneler) (Nesneleri Listele)

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.

Örnek 1.6: Bireysel ve Liste Nesneleri için Nesne Yolları


AnyObject.Constraint
AnyObject.GeometricElement.Geometry2D.Point2D.ControlPoint2D
Koleksiyon.Parametreler
Koleksiyon.İlişkiler

1.4 Temel Makro Örneği

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:

CATIA V5'i başlatın

“Dosya/Yeni” aracılığıyla yeni CATPart oluşturun

Menü çubuğundan “Araçlar/Makro/Makrolar”ı seçin (veya ALT+F8 tuşlarına basın)

“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

Makro dili olarak “CATScript”i seçin Makro adı

olarak “GreetingMacro.CATScript”i girin


“Tamam” düğmesini seçin
Machine Translated by Google
1.4 Makro 7'nin Temel Örneği

ŞEKİL 1.2 "Yeni bir makro


oluştur" penceresi

Artık “GreetingMacro.CATScript” makrosu oluşturuldu ve “Makrolar” penceresinde görünecektir (Şekil 1.3).

ŞEKİL 1.3 “Tebrik Makrosu”nun


bulunduğu “Makrolar”

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

CATIA V5, V5 Düzenleyicisini açar ve “GreetingMacro.CATScript”


makrosunun kaynak kodu gösterilir (Şekil 1.4).

Bir makronun ana kısmı kaynak kodunun başında ve sonunda


aşağıdaki ifadelerle tanımlanır:
ŞEKİL 1.4 Dahili V5

Alt CATMain () Düzenleyicisi


...
Son Alt

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

V5 Düzenleyicinin disk simgesi seçilerek bir makro kaydedilebilir. “Greeting-Macro.CATScript” makrosu bu


durumda mevcut “Part1.CATPart” belgesinde saklanır.
(Şekil 1.3). V5 Düzenleyicisi kapanacak ve makro çalıştırılabilecektir.
Machine Translated by Google
8 1 Temel Bilgiler

“Kaydet” düğmesini seçin (disk simgesi)

V5 Düzenleyicide “Dosya/Çıkış”ı seçin

“Makrolar” penceresinde “Çalıştır” düğmesini seçin

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

ŞEKİL 1.5 “GreetingMacro”


bölümlerde bir makronun nasıl düzenleneceği, yükleneceği, kaydedileceği ve çalıştırılacağı gösterilmektedir.
makrosunun çıktısı.

CATScript”

1.5 Makro Düzenleyici Seçmek

Ö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.

TABLO 1.5 Dahili V5 Düzenleyicinin İşlevselliği

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.

Hatta Git Satır numarası ister ve uygun satıra atlar.

Aramak Bir dize ister ve bunu makro belgede arar.

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).

ŞEKİL 1.6 Bir makro


düzenleyiciyi seçmek için
seçenekler penceresi

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.

1.6 Makronun Saklanması

Bir makro iki şekilde saklanabilir:

1. CATIA belgesinde saklama (*.CATPart, *.CATProduct, *.CATDrawing)


2. ayrı bir dosyada saklama (*.CATScript)

İ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

1.6.1 CATIA Belgesinde Saklama

“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

1.6.2 Ayrı Dosyada Saklama

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.

ŞEKİL 1.8 Geçerli kitaplıkların


listesini içeren "Makro
kitaplıklar" penceresi

“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.

1.7 Bir Düğmeden Makro Başlatma

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:

1. Bir düğmeye makro atayın


2. Bir araç çubuğu oluşturun

3. Düğmeyi araç çubuğuna atayın

1.7.1 Bir Düğmeye Makro Atama

Bir düğmeye bir makro atanabilir:

Ş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.

1.7.2 Araç Çubuğu Oluşturma

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.

ŞEKİL 1.13 "Yeni Araç


Çubuğu" penceresi

Mevcut çalışma ortamındaki tüm araç çubuklarının listesi “Özelleştir” penceresinin “Araç Çubukları” sekmesinde bulunur

(Şekil 1.12). Pencere “Araçlar/


Özelleştirmek."

“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

1.7.3 Araç Çubuğuna Düğme Atama

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

"Özelleştir" penceresi, kullanıcı


tanımlı "Makrolarım"
araç çubuğuna sahip Araç

Çubukları sekmesi

Bu, “Komutlar listesi” penceresini açacaktır ve ardından istenen komut


atanabilir (Şekil 1.15). Geçerli makro kitaplığının makroları "Komutlar
listesi"nde listelenir. Makro düğmesini araç çubuğuna eklemek için
“Tamam”a tıklayın ve

işlemi tamamlayın.

ŞEKİL 1.15
“Komut listesi” penceresi

1.8 Makro Blokları

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şı

2. Global değişkenlerin ve nesnelerin bildirimi


Machine Translated by Google
1.8 Makro Blokları 15

3. Ana blok “CATMain”


4. “CATMain”den çağrılan altprogramlar ve fonksiyonlar

1.8.1 Makro Başkanı

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

Revizyonun ayrıntıları (tarih, kodu değiştiren kişi, değişiklik açıklaması)

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

Bir kullanıcıya o anda hangi makro sürümünün kullanıldığını söylemeniz gerekebilir. Bu


bilginin anlaşılabilmesi için, makronun kaynak kodunun açılmaması, bunun yerine
makronun başlığının bu bilgiyi görüntüleyen bir kod satırıyla tamamlanması önerilir. Bu,
Application sınıfının StatusBar özelliği ile yapılabilir (Bölüm 8.5).
Application sınıfının bir nesnesi doğrudan CATIA'yı temsil eder (Bölüm 1.10.1).
APPLICATION.StatusBar CATBSTR olarak

Örnek 1.7: Makronun Başkanı


“DRILLTABLE.CATScript” makrosunun başlangıcında, makronun adı ve sürümü CATIA'nın
durum çubuğunda görüntülenir (Şekil 1.16).
'
Makro: DRILLTABLE.CATScript
' Sürüm: 1.2
' Kodu: CATIA CATScript
'
Amaç: Tüm delikleri arayarak bir matkap tablosu oluşturur
'
bir CATPart'ta ve merkezlerini okur
'
sonuçları bir metin dosyasına yazdırır.
'
Drilltable.txt adını verin.
Yazar: John Smith, XYZ Departmanı, Telefon 555-5555
'
Tarih: 31.12.2002
'------------------------------------------------ -------

' Değişiklik: 15.01.2003, Hugo Müller


'
Delme tablosuna delme derinliği eklendi.
'------------------------------------------------ -------

CATIA.StatusBar = “DRILLTABLE.CATScript, Sürüm 1.2”


Machine Translated by Google
16 1 Temel Bilgiler

ŞEKİL 1.16

“Makro Başkanı” Örneği

1.8.2 Global Değişkenlerin ve Nesnelerin Bildirilmesi

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}

Sınıfların listesi Bölüm 8'de bulunmaktadır. Ana değişken türleri şunlardır:


Boolean: Mantıksal ifade (“Doğru” veya “Yanlış”)
CATBStr: CATIA ifadeleri dizisi (örn. “Pad.1”)
CATSafeArrayVariant: CATIA ifadelerinin alanı (çoğunlukla koordinatlar)
CATVaryant: Nesne listesinin dizini (tamsayı veya nesne)
Çift: Çift hassasiyetli kayan nokta
Tamsayı: Tamsayı
Uzun: Artırılmış aralığa sahip tamsayı
Sicim: Sicim

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

Örnek 1.8: Global Değişkenlerin ve Nesnelerin Bildirilmesi


Bir makroda, genel "giriş" ve "çıkış" değişkenleri metin olarak, "sayılar" ise tamsayı olarak bildirilir.
Global nesne "Belge", "Belge" nesne türü olarak bildirilir.
Machine Translated by Google
1.8 Makro Blokları 17

... Makro başkanı ...


' Küresel Beyannameler ----------------------------
Dim Girişi, Dize Olarak Çıkış Dim
Tamsayı Olarak Sayım Dim
myDocument Belge Girişi Olarak
= "Metin Girin"
“”
Çıkış = Sayım
=0
myDocument'i ayarla = CATIA.ActiveDocument ... CATMain
() ...

1.8.3 CATMain, Alt Programlar ve Fonksiyonlar

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).

1.8.3.1 KAT Ana

“CATMain”, makronun her çalıştırıldığında talimatların çalıştırıldığı bir makronun ana bloğudur:

... Küresel değişkenler ve ...


... nesnelerin makro Bildirgesi Başkanı ...
Alt CATMain ()
... Yerel değişkenlerin ve nesnelerin bildirimi ...
Talimat 1
Talimat 2
...
Son Alt

“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.

1.8.3.2 Alt Programlar

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:

Altprogram {[Parametre], ...}


Machine Translated by Google
18 1 Temel Bilgiler

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

Örnek 1.9: Alt Program

“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:

[Değişken] = Fonksiyon {([Parametreler], ...)}

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

Dönüş değeri, fonksiyon adıyla birlikte değişkene atanır.

Örnek 1.10: Fonksiyon “Çarpma”

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

Fonksiyon Çarpması (I, II Tam Sayı Olarak) Tam Sayı Olarak


Çarpma = I * II
Son İşlev

1.9 Dallar ve Döngüler

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.

1.9.1 Eğer-O halde-Else

“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:

Test kriteri ise O zaman


Talimat 1
{Talimat 2
...
Başka
Talimat 1
Talimat 2
...}
Eğer Sonlandır}

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.

Örnek 1.11: If-O halde-Else


A)
Eğer A = 1 ise C = 2
B)
(A> = 1) ve (B = 2) ise O halde
C=2
D=1
Eğer Sonlandır
Machine Translated by Google
20 1 Temel Bilgiler

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.

TABLO 1.6 Kriter Örnekleri


Kriter "Doğru" sonucu "Yanlış" sonucu

(A = 1) ve (B = 1) bir = 1; B = 1 bir = 2; B = 1

(A = 1) Veya (B = 1) bir = 2; B = 1 bir = 2; B = 2

(A = 1) Ve ((B = 1) Veya (C = 1)) bir = 1; B = 2; C = 1 bir = 1; B = 2; C = 2

Değil (A = 1) bir = 2 bir = 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.

Vaka Seç [Değişken]


Durum Değeri1 {,Değer2 {,...}}
Açıklama Bloğu 1 {Vaka ... }

{Başka Durum
Bildirim Bloğu n}
Seçimi Sonlandır

Örnek 1.12: Select-Case-Else


Loş Giriş
Giriş = Giriş Kutusu (“0 ile 2 arasında bir sayı girin:”, 0)
Vaka Girişini Seçin
Durum “0”
MsgBox (“Sayı = 0”)
Durum “1”, “2”
MsgBox (“Sayı > 0”)
Başka Durumda

MsgBox (“Yanlış Giriş”)


Seçimi Sonlandır
Machine Translated by Google
1.9 Dallar ve Döngüler 21

1.9.3 Sonraki İçin

“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.

Örnek 1.13: Sonraki İçin


Bu örnekte, "1" ile "10" arasındaki sayıları toplayan ve değeri "Sum" değişkeninde saklayan bir döngü
gösterilmektedir.
Alt CATMain ()
Dim I, Tamsayı Olarak Toplam
Toplam = 0
I = 1 ila 10 için Adım 1
Toplam = Toplam + i
Sonraki

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.

Örnek 1.14: Do-While


Bu örnek, toplam "100"den küçük olduğu sürece "1", "2", "3" ... sayılarını toplayan bir döngüyü göstermektedir.
Machine Translated by Google
22 1 Temel Bilgiler

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”.

1.9.5 Şu ana kadar yapın

"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 ...}

Başlangıç kriterine kadar döngü

“Exit Do” ifadesi döngüyü sonlandırır. Bu ifadeyle makro “Döngü” satırından sonraki ifadeye geçer.

Örnek 1.15: Kadar Yapın Bu örnek, toplam

"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

Döngüye Kadar (Toplam> 50) Veya (I> 10)


Son Alt

Sonuç “55”.
Machine Translated by Google
1.10 CATScript 23'ün Bağlantı Nesneleri

1.10 CATScript'in 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 .

Örnek 1.16: CATIA V5 Bağlantı Nesnesinin Oluşturulması


Alt CATMain ()
Uygulama Olarak MyCatia Dim
MyCatia'yı = CATIA olarak ayarlayın
Son Alt

Tüm nesneler bu bağlantı nesnesinin özellikleri ve yöntemleri aracılığıyla türetilir. Bir


CATIA belgesi ve bir işletim sistemiyle sağlanan iletişim hizmetleri Şekil 1.17'de
gösterilmektedir.
Tüm CATIA V5 uygulama pencerelerinin bir listesi , bağlantı nesnesinin Windows özelliğiyle
birlikte gösterilir (Şekil 1.17, sağ üst). Geçerli pencereye ActiveWindow özelliği tarafından
erişilir .
APPLICATION.Windows Windows Gibi (Salt Okunur)
APPLICATION.ActiveWindow Pencere Olarak (Salt Okunur)

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 ) .

APPLICATION.FileSystem As FileSystem (Salt Okunur)


APPLICATION.Yazıcı Olarak Yazıcılar (Salt Okunur)
APPLICATION.SystemService As SystemService (Salt Okunur)

Application sınıfının özellikleri Bölüm 2'de incelenecektir.

1.10.2 CATIA Belgeleri “CATPart” ve “CATProduct”

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.

Örnek 1.17: Bir CATIA Belgesinin Bağlantı Nesnesinin Oluşturulması


Kullanıcı bir CATIA belgesi açmıştır ve "Belge" makrosu bu belgenin bir nesnesidir. Makro, belge adını
bir iletişim kutusunda atar ve görüntüler.
Alt CATMain ()
MyDocument'i Belge Olarak Karart
MyDocument'i Ayarla = CATIA.ActiveDocument
MsgBox (Belgem.Adı)
Son Alt

1.10.3 CATParts'taki Geometri Kapları

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 .

PARTDOCUMENT.Parça Olarak Parça (Salt Okunur)

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).

CATParts'ta kullanılan orijin düzlemleri ve eksen sistemlerine OriginElements tarafından erişilir.


ve AxisSystems özellikleri (Şekil 1.18, sol üst).

Gövdelere Gövdeler özellikleri aracılığıyla, Geometrik Kümelere ise HybridBodies ve OrderedGeometricalSets


özellikleri aracılığıyla erişilebilir (Şekil 1.18, sol alt ve sağ üst).

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)

1.10.4 Yapısal Bilgiler ve Meta Veriler

CATProducts'ın yapısal bilgisi, bir CATProducts'ın içindeki tüm öğelerin listesidir.

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 .

PARTDOCUMENT.Ürün Olarak Ürün (Salt Okunur)


ÜRÜNDOCUMENT.Ürün Olarak Ürün (Salt Okunur)
Machine Translated by Google
1.10 CATScript 27'nin Bağlantı Nesneleri

Bu dördüncü bağlantı nesnesinin yöntemleri ve özellikleri aracılığıyla, nitelikleri ve ürün yapılarını


temsil eden diğer tüm nesneler tanımlanır (Şekil 1.19).

ŞEKİL 1.19
"Ürün" sınıfındaki bağlantı

nesnesinin içeriği
(Kaynak: Dassault

Systémes Çevrimiçi Belgeleri)

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.

CATProducts'ın parametreleri, formülleri, kısıtlamaları ve yayınları Parametreler, İlişkiler,


Kısıtlamalar, FixTogethers ve Yayınlar listesi nesnelerinde depolanır .
Machine Translated by Google
28 1 Temel Bilgiler

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.

1.11 Makro Kaydediciyi Kullanma

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 “Araçlar/Makro/Kaydı Başlat…” menüsünden başlayacaktır (Şekil 1.20).

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

CATIA artık kullanıcının gerçekleştirdiği eylemleri kaydediyor ve dönüştürüyor. “Durdur”


butonunun seçilmesiyle kayıt sonlandırılır (Şekil 1.22). Düğme yalnızca kayıt sırasında
gösterilir ve otomatik olarak görüntülenir.

ŞEKİL 1.22

Kaydı durdur düğmesi

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ı

You might also like