Programalama > VISUAL BASIC

Etiketler: visual, basic, den, autocad, cizmek

Ort. 0
Puan ver:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
    Değerli arkadaşlar,
    Sizlere VISUAL BASIC veya NOT DEFTERİ İle AUTOCAD’ e DXF formatında çizim Gönderme işini en kolay program yazarak anlatacağımı düşündüm ve aşağıdaki örnek programı hazırladım.
 
    Visual Basic Programı içindeki açılamalar ile ne yapıldığını tek tek anlattım, Tabiî ki aynı kodları Notpac de yazmak için Print #1, ve “” tırnak işaretlerini çıkararak yazmanız gerektiğini hatırlatmama gerek varmı?
 
    Öncelikle bazı konuları hatırlatayım. Autocad Dxf formatta kod yazmak için bazı temel prensipleri bilmemiz lazım. Dxf format üç ana guruptan oluşur.
 
HEADER Bölümü
Bu bölümde Autocad sistem değişkenlerini kendi isteğimize göre değiştireceksek bunların girişi yapılır, Yazma zorunluluğu yoktur.
 
TABLES Bölümü  
Bu bölüm Autocad çizgi tipleri ve yazı stillerini kendi isteğimize göre değiştireceksek bunların girişi yapılır, Yazma zorunluluğu yoktur.
 
ENTITIES Bölümü
Bu bölüm Autocad çizim işlerini yaptırdığımız bölümdür ve asıl çizimi bu bölümde yaptırırız.
 
Bu her bölümde Autocad’ in her konu için yazmamamız gereken bazı özel kodları vardır. Bunlardan birkaç önemli olanını aşağıda program içinde örnek olarak tanımladım.
 
Örnek Olarak;
O yazılı ifadeden sonraki sırada Autocad komutu yer alır.
8 yazılı ifadeden sonraki sırada Layer adı yer alır.
     10 YAzılı ifadeden sonraki sırada sağa/sola değer yer alır.
     20 yazılı ifadeden sonraki sırada yukarı/aşağı değer yer alır.
     30 yazılı ifadeden sonraki sırada h yükseklik değeri yer alır.
 
    Şimdi isterseniz aşağıdaki programı kullanarak olayı anlamaya çalışalım. Eğer takıldığınız bir yer olursa bana mail atabilirsiniz.
 
Nazım KOCAMAZ
nkocamaz@mynet.com
 
'BU KISIMDAN AŞAĞISINI KOPYALIYARAK VB'ye Sorunsuz AKTARABİLİRSİNİZ
Private Sub Form_Paint()
        DOSYA = "C:\YeniDosya.DXF"  ' YENİ DXF DOSYA ADI VERİYORUZ
        Open DOSYA For Output As #1 ' DOSYA AÇIYORUZ
                           
    ' ----- HEADER BÖLÜMÜ SİSTEM DEĞİŞKENLERİ GİRİŞİNİN BAŞLANGICI
    ' ----- [ Bu bölümün yazma zorunluluğu yoktur isteğe bağlıdır.]
      
    Print #1, 0          ' YAZMAYA BAŞLIYORUZ İLK KODUMUZ
    Print #1, "SECTION"
    Print #1, 2
    Print #1, "HEADER"   'HEADER BÖLÜMÜNÜ AÇTIK
 
    ' ----- ACAD DEĞİŞKENLERİNİ TANIMLIYORUZ
    ' ----- [ Bu bölümde istediğimiz kadar acad değişkenini tanımlayabiliriz. ]
    ' ----- Sistem değişkeni eğer Autocad' in kendi tanımladığı bir sayıyı istiyorsa
    ' ----- "70" kodunu bizim tanımladığımız bir sayıyı istiyorsa "40" kodunu giriyoruz
    '------ Ben 6 adet sistem değişkeni tanımladım.
     
    Print #1, 9
    Print #1, "$LUNITS" '
    Print #1, 70      ' SİSTEM DEĞİŞKENİ KENDİ BELİRLEDİĞİ DEĞER İÇİN 70 KODU KULLANILDI
    Print #1, 2       ' 1 FEN BİLİMLERİ [Ben 2 yi kullandım.]
                      ' 2 ONDALIK SİSTEM
                      ' 3 MÜHENDİSLİK
                      ' 4 MİMARİ
                      ' 5 KESİRLİ
     
    Print #1, 9
    Print #1, "$LUPREC"
    Print #1, 70      ' SİSTEM DEĞİŞKENİ KENDİ BELİRLEDİĞİ DEĞER İÇİN 70 KODU KULLANILDI
    Print #1, 2       ' VİRGÜLDEN SONRAKİ HANE SAYISI 2 [Siz istediğinizi girin.]
 
 
    Print #1, 9
    Print #1, "$AUNITS"
    Print #1, 70        ' SİSTEM DEĞİŞKENİ KENDİ BELİRLEDİĞİ DEĞER İÇİN 70 KODU KULLANILDI
    Print #1, 2         ' 0 ONDALIK DERECE [Ben 2 yi kullandım.]
                        ' 1 DERECE,DAKİKA,SANİYE
                        ' 2 AÇILAR GRAD ÇİNSİNDEN
                        ' 3 RADYAN
                        ' 4 TOPOGRAFİK
                              
    Print #1, 9
    Print #1, "$AUPREC"
    Print #1, 70       ' SİSTEM DEĞİŞKENİ KENDİ BELİRLEDİĞİ DEĞER İÇİN 70 KODU KULLANILDI
    Print #1, 4        ' AÇILARDA VİRGÜLDEN SONRAKİ HANE SAYISI 4
 
    Print #1, 9
    Print #1, "$ELEVATION"
    Print #1, 40        ' SİSTEM DEĞİŞKENİ KENDİ BELİRLEDİĞİ DEĞER İÇİN 40 KODU KULLANILDI
    Print #1, 0         ' GEÇERLİ ELEV YÜKSEKLİĞİ 0
 
    Print #1, 9
    Print #1, "$THICKNESS"
    Print #1, 40        ' SİSTEM DEĞİŞKENİ KENDİ BELİRLEDİĞİ DEĞER İÇİN 40 KODU KULLANILDI
    Print #1, 0         ' ÇİZİLECEK OBJELERİN 3.BOYUT YÜKSEKLİĞİ 0
 
    Print #1, 0
    Print #1, "ENDSEC"    ' ----- HEADER BÖLÜMÜ SİSTEM DEĞİŞKENLERİ GİRİŞİNİN SONU
     
   '***************************************************
   '***************************************************
    
    Print #1, 0             ' ----- TABLES BÖLÜMÜ BAŞLANGICI
    Print #1, "SECTION"     '------ ÇİZGİ TİPLERİ ve YAZI SİTİLLERİNİN GİRİŞ BÖLÜMÜ
    Print #1, 2             ' ----- [ Bu bölümün yazma zorunluluğu yoktur isteğe bağlıdır.]
    Print #1, "TABLES"
     
     
    Print #1, 0                 ' ÇİZGİ TİPLERİ BAŞLANGICI
    Print #1, "TABLE"
    Print #1, 2
    Print #1, "LTYPE"
    Print #1, 70
    Print #1, 2                 ' çizgi tablosu eleman sayısı ben 2 cizgi tipi tanımlıyorum.
     
    Print #1, 0                 '1 NCİ ÇİZGİ TİPİ
    Print #1, "LTYPE"
    Print #1, 2
    Print #1, "CONTINUOUS"      ' TANIMLANAN çİZGİ TİPİNİN ADI
    Print #1, 70
    Print #1, 0
    Print #1, 3
    Print #1, "SOLID LINE"      ' açıklayıcı yazı
    Print #1, 72
    Print #1, 65
    Print #1, 73
    Print #1, 0
    Print #1, 40
    Print #1, 0
 
    Print #1, 0                 '2 NCİ ÇİZGİ TİPİ
    Print #1, "LTYPE"
    Print #1, 2
    Print #1, "KISA_ÇİZGİ"      ' çizgi tipi adı
    Print #1, 70
    Print #1, 0
    Print #1, 3
    Print #1, "- - - - - "      ' açıklayıcı yazı
    Print #1, 72
    Print #1, 65
    Print #1, 73
    Print #1, 2
    Print #1, 40
    Print #1, 1
    Print #1, 49
    Print #1, 1
    Print #1, 49
    Print #1, -0.5
 
 
    Print #1, 0
    Print #1, "ENDTAB"             ' ÇİZGİ TİPLERİ SONU
     
     
    Print #1, 0                    ' YAZI STİLİ BAŞLANGICI
    Print #1, "TABLE"
    Print #1, 2
    Print #1, "STYLE"
    Print #1, 70
    Print #1, 1                    ' yazı tablosu eleman sayısı 1 stil var
     
    Print #1, 0                    ' YAZI STİLLERİ
    Print #1, "STYLE"
    Print #1, 2
    Print #1, "TÜRKÇE"             ' stil ismi
    Print #1, 70
    Print #1, 0
    Print #1, 40                   ' yazı yüksekliği
    Print #1, 1
    Print #1, 41                   ' yazı genişliği
    Print #1, 1
    Print #1, 50                   ' yazı açısı
    Print #1, 0
    Print #1, 71                   ' üretim işaretleri
    Print #1, 0
    Print #1, 42                   ' kullanılan son yükseklik
    Print #1, 2
    Print #1, 3
    Print #1, "Arial"              ' seçilen acad fontu "Arial" yazı fontunu
    Print #1, 4                    ' Autocad e TÜRKÇE olarak tanıtıyorum
    Print #1,
     
    Print #1, 0
    Print #1, "ENDTAB"             ' YAZI STİLİ SONU
     
    Print #1, 0
    Print #1, "ENDSEC"             ' ----- TABLES BÖLÜMÜ SONU
    
    
    
    Print #1, 0             ' ----- ENTITIES BAŞLANGICI ÇİZİM GİRİŞLERİ
    Print #1, "SECTION"     '------ ÇİZİME BAŞLIYORUZ
    Print #1, 2             ' Ben kolaylık olsun ve her çizgide ayrı ayrı kod yazmamak
    Print #1, "ENTITIES"    'için her komut için alt programlar hazıladım ve aşağıda
                            'onları çağırıyorum.
 
'önce girdiğimiz değerleri tanımlayalım.
      YüzeyAdı = "YENİ"
             Y = 0
             X = 0
             H = 0
       YarıÇap = 10
    başlangıçY = 10
    başlangıçX = 8
    başlangıçH = 50
        bitişY = 50
        bitişX = 80
        bitişH = 100
BaşlangıçAçısı = 0
    BitişAçısı = 126
YazıYüksekliği = 5
          yazı = "Merhaba AutoCad"
     
AcadNoktaCiz YüzeyAdı, Y, X, H
AcadDaireCiz YüzeyAdı, Y, X, H, YarıÇap
            Y = 40
            X = 60
AcadÇizgiÇiz2D YüzeyAdı, başlangıçY, başlangıçX, bitişY, bitişX
AcadÇizgiÇiz3D YüzeyAdı, başlangıçY, başlangıçX, başlangıçH, bitişY, bitişX, bitişH
AcadYayÇiz YüzeyAdı, Y, X, YarıÇap, BaşlangıçAçısı, BitişAçısı
AcadYazıYaz YüzeyAdı, Y, X, YazıYüksekliği, yazı
    
        ' ----- ENTITIES SONU  ve ÇİZİM GİRİŞLERİ SONU
        Print #1, 0
        Print #1, "ENDSEC"
        Print #1, 0
        Print #1, "EOF"
        Close           ' ***** DOSYA KAPANIŞI *****
        Print " [C:\YeniDosya.Dxf ] İSİMLİ DOSYA YARATILDI"
End Sub
 
'YUKARIDAKİ ÇİZİMLERİN ALTPROGRAMLARI;
 
'Nokta Çizmek [Point];
Public Sub AcadNoktaCiz(YüzeyAdı, Y, X, H)
    Print #1, 0
    Print #1, "POINT"
    Print #1, 8             ' yüzey adı
    Print #1, YüzeyAdı
    Print #1, 10            ' y değeri
    Print #1, Y
    Print #1, 20            ' x değeri
    Print #1, X
    Print #1, 30            ' z yüksekliği
    Print #1, H
End Sub
 
'Daire Çizmek [Circle];
Public Sub AcadDaireCiz(YüzeyAdı, Y, X, H, YarıÇap)
    Print #1, 0
    Print #1, "CIRCLE"
    Print #1, 8             ' yüzey adı
    Print #1, YüzeyAdı
    Print #1, 10            ' MERKEZ y değeri
    Print #1, Y
    Print #1, 20            ' MERKEZ x değeri
    Print #1, X
    Print #1, 30            ' MERKEZ z değeri
    Print #1, H
    Print #1, 40            ' daire yarı çapı
    Print #1, YarıÇap
End Sub
 
'3D Çizgi Çizmek [Line];
Public Sub AcadÇizgiÇiz3D(YüzeyAdı, başlangıçY, başlangıçX, başlangıçH, bitişY, bitişX, bitişH)
    Print #1, 0
    Print #1, "LINE"
    Print #1, 8             ' yüzey adı
    Print #1, YüzeyAdı
    Print #1, 10            ' y değeri
    Print #1, başlangıçY
    Print #1, 20            ' x değeri
    Print #1, başlangıçX
    Print #1, 30            ' x değeri
    Print #1, başlangıçH
    Print #1, 11            ' varış y değeri
    Print #1, bitişY
    Print #1, 21            ' varış x değeri
    Print #1, bitişX
    Print #1, 31            ' varış x değeri
    Print #1, bitişH
End Sub
 
'2D Çizgi Çizmek [Line];
Public Sub AcadÇizgiÇiz2D(YüzeyAdı, başlangıçY, başlangıçX, bitişY, bitişX)
    Print #1, 0
    Print #1, "LINE"
    Print #1, 8             ' yüzey adı
    Print #1, YüzeyAdı
    Print #1, 10            ' y değeri
    Print #1, başlangıçY
    Print #1, 20            ' x değeri
    Print #1, başlangıçX
    Print #1, 11            ' varış y değeri
    Print #1, bitişY
    Print #1, 21            ' varış x değeri
    Print #1, bitişX
End Sub
 
'Yay Çizmek [Arc];
Public Sub AcadYayÇiz(YüzeyAdı, Y, X, YarıÇap, BaşlangıçAçısı, BitişAçısı)
    Print #1, 0
    Print #1, "ARC"
    Print #1, 8             ' yüzey adı
    Print #1, YüzeyAdı
    Print #1, 10            ' MERKEZ y değeri
    Print #1, Y
    Print #1, 20            ' MERKEZ x değeri
    Print #1, X
    Print #1, 40            ' YARI ÇAP
    Print #1, YarıÇap
    Print #1, 50            ' BAŞLANGIÇ AÇISI
    Print #1, BaşlangıçAçısı
    Print #1, 51            ' BİTİŞ AÇISI AÇISI
    Print #1, BitişAçısı
End Sub
 
'Yazı Yazmak [Text];
Public Sub AcadYazıYaz(YüzeyAdı, Y, X, YazıYüksekliği, yazı)
   'YAZILAR'
    Print #1, 0
    Print #1, "TEXT"
    Print #1, 8
    Print #1, YüzeyAdı           ' YÜZEY ADI
    Print #1, 10
    Print #1, Y                  ' Y DEĞERİ
    Print #1, 20
    Print #1, Y                  ' X DEĞERİ
    Print #1, 40
    Print #1, YazıYüksekliği     ' YAZI YÜKSEKLİĞİ
    Print #1, 1
    Print #1, yazı               ' YAZILACAK METİN
    Print #1, 7
    Print #1, "TÜRKÇE"           ' STİL İSMİ
    Print #1, 62
    Print #1, 10                 ' RENK NO (10 kırmızı)
End Sub


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2025 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.