2008 Ramazan Özel Bölümü

Geri Dön   Forum Ti > Programlama Dilleri ve İnternet > Programlama & Geliştiriciler için
Üye Ol Bloglar Üye Listesi Takvim Forumları Okundu İşaretle

Cevap
 
Konu Araçları
Eski 30.05.2007   #1 (permalink)
 
staticiation  Görüntü Resmi
 
Katılma Tarihi: Şub 2006
Nereden: Bursa/es-es
Yaş: 23
Mesajlar: 1,768
Varsayılan Visual Basic ile Autocad den Resim Çizmek...

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
staticiation Şuanda Forumda Değil   Alıntı yaparak cevapla
Cevap


Şu Anda Konuyu İnceleyen Aktif Kullanıcılar: 1 (0 üye ve 1 misafir)
 
Konu Araçları


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Visual Basic & SQL (RECORDSET)... staticiation Programlama & Geliştiriciler için 0 19.06.2007 01:24
Visual Basic Sistem Kütüphanesi(Visual Basic 6.0 Runtimes) staticiation Programlama & Geliştiriciler için 0 19.06.2007 01:04
visual basic memet02 Programlama & Geliştiriciler için 0 20.03.2007 14:47
visual basic mehmet seyhun Programlama & Geliştiriciler için 2 08.12.2006 13:42


Şu anki forum saati: 11:59.


cnt hizmet sağlayan firma
ForumTi.com'un yapımı ve yayınlanması CNT'ye aittir.
Sitedeki içerikleri foruma ücretsiz şekilde üye olabilen ziyaretçiler oluşturur. Bu içeriklerin sorumluluğu yazana aittir.
Eğer yasak ve aykırı içerik tespit edilirse site yöneticilerine bu konular bildirilir ve kaldırılır. Site yönetimi haberdar edildiğinde sonuç alınamaz ise servis sağlayıcı CNT'ye bildiride bulunabilirsiniz.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Search Engine Friendly URLs by vBSEO 3.2.0

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