You are on page 1of 6

eerli arkadalar,

Sizlere VISUAL BASIC veya NOT DEFTER le AUTOCAD’ e DXF


formatnda izim Gnderme iini en kolay program yazarak anlatacam
dndm ve aadaki rnek program hazrladm.

Visual Basic Program iindeki alamalar ile ne yapldn tek tek


anlattm, Tabi ki ayn kodlar Notpac de yazmak iin Print #1, ve
“” trnak iaretlerini kararak yazmanz gerektiini
hatrlatmama gerek varm?

ncelikle baz konular hatrlataym. Autocad Dxf formatta kod yazmak


iin baz temel prensipleri bilmemiz lazm. Dxf format ana guruptan
oluur.

HEADER Blm
Bu blmde Autocad sistem deikenlerini kendi isteimize gre
deitireceksek bunlarn girii yaplr, Yazma zorunluluu yoktur.

TABLES Blm
Bu blm Autocad izgi tipleri ve yaz stillerini kendi isteimize gre
deitireceksek bunlarn girii yaplr, Yazma zorunluluu yoktur.

ENTITIES Blm
Bu blm Autocad izim ilerini yaptrdmz blmdr ve asl izimi bu
blmde yaptrrz.

Bu her blmde Autocad’ in her konu iin yazmamamz gereken baz zel
kodlar vardr. Bunlardan birka nemli olann aada program iinde
rnek olarak tanmladm.

rnek Olarak;
O yazl ifadeden sonraki srada Autocad komutu yer alr.
8 yazl ifadeden sonraki srada Layer ad yer alr.
10 YAzl ifadeden sonraki srada saa/sola deer yer alr.
20 yazl ifadeden sonraki srada yukar/aa deer yer alr.
30 yazl ifadeden sonraki srada h ykseklik deeri yer alr.

imdi isterseniz aadaki program kullanarak olay anlamaya


alalm. Eer takldnz bir yer olursa bana mail atabilirsiniz.

Nazm KOCAMAZ
nkocamaz@mynet.com

'BU KISIMDAN AAISINI KOPYALIYARAK VB'ye Sorunsuz AKTARABLRSNZ


Private Sub Form_Paint()
DOSYA = "C:\YeniDosya.DXF" ' YEN DXF DOSYA ADI VERYORUZ
Open DOSYA For Output As #1 ' DOSYA AIYORUZ

' ----- HEADER BLM SSTEM DEKENLER GRNN BALANGICI


' ----- [ Bu blmn yazma zorunluluu yoktur istee baldr.]

Print #1, 0 ' YAZMAYA BALIYORUZ LK KODUMUZ


Print #1, "SECTION"
Print #1, 2
Print #1, "HEADER" 'HEADER BLMN ATIK

' ----- ACAD DEKENLERN TANIMLIYORUZ


' ----- [ Bu blmde istediimiz kadar acad deikenini
tanmlayabiliriz. ]
' ----- Sistem deikeni eer Autocad' in kendi tanmlad bir sayy
istiyorsa
' ----- "70" kodunu bizim tanmladmz bir sayy istiyorsa "40"
kodunu giriyoruz
'------ Ben 6 adet sistem deikeni tanmladm.

Print #1, 9
Print #1, "$LUNITS" '
Print #1, 70 ' SSTEM DEKEN KEND BELRLED DEER N 70
KODU KULLANILDI
Print #1, 2 ' 1 FEN BLMLER [Ben 2 yi kullandm.]
' 2 ONDALIK SSTEM
' 3 MHENDSLK
' 4 MMAR
' 5 KESRL

Print #1, 9
Print #1, "$LUPREC"
Print #1, 70 ' SSTEM DEKEN KEND BELRLED DEER N 70
KODU KULLANILDI
Print #1, 2 ' VRGLDEN SONRAK HANE SAYISI 2 [Siz istediinizi
girin.]

Print #1, 9
Print #1, "$AUNITS"
Print #1, 70 ' SSTEM DEKEN KEND BELRLED DEER N 70
KODU KULLANILDI
Print #1, 2 ' 0 ONDALIK DERECE [Ben 2 yi kullandm.]
' 1 DERECE,DAKKA,SANYE
' 2 AILAR GRAD NSNDEN
' 3 RADYAN
' 4 TOPOGRAFK

Print #1, 9
Print #1, "$AUPREC"
Print #1, 70 ' SSTEM DEKEN KEND BELRLED DEER N 70
KODU KULLANILDI
Print #1, 4 ' AILARDA VRGLDEN SONRAK HANE SAYISI 4

Print #1, 9
Print #1, "$ELEVATION"
Print #1, 40 ' SSTEM DEKEN KEND BELRLED DEER N 40
KODU KULLANILDI
Print #1, 0 ' GEERL ELEV YKSEKL 0

Print #1, 9
Print #1, "$THICKNESS"
Print #1, 40 ' SSTEM DEKEN KEND BELRLED DEER N 40
KODU KULLANILDI
Print #1, 0 ' ZLECEK OBJELERN 3.BOYUT YKSEKL 0

Print #1, 0
Print #1, "ENDSEC" ' ----- HEADER BLM SSTEM DEKENLER GRNN
SONU

'***************************************************
'***************************************************

Print #1, 0 ' ----- TABLES BLM BALANGICI


Print #1, "SECTION" '------ ZG TPLER ve YAZI STLLERNN GR
BLM
Print #1, 2 ' ----- [ Bu blmn yazma zorunluluu yoktur
istee baldr.]
Print #1, "TABLES"

Print #1, 0 ' ZG TPLER BALANGICI


Print #1, "TABLE"
Print #1, 2
Print #1, "LTYPE"
Print #1, 70
Print #1, 2 ' izgi tablosu eleman says ben 2 cizgi
tipi tanmlyorum.

Print #1, 0 '1 NC ZG TP


Print #1, "LTYPE"
Print #1, 2
Print #1, "CONTINUOUS" ' TANIMLANAN ZG TPNN ADI
Print #1, 70
Print #1, 0
Print #1, 3
Print #1, "SOLID LINE" ' aklayc 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 TP


Print #1, "LTYPE"
Print #1, 2
Print #1, "KISA_ZG" ' izgi tipi ad
Print #1, 70
Print #1, 0
Print #1, 3
Print #1, "- - - - - " ' aklayc 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 TPLER SONU

Print #1, 0 ' YAZI STL BALANGICI


Print #1, "TABLE"
Print #1, 2
Print #1, "STYLE"
Print #1, 70
Print #1, 1 ' yaz tablosu eleman says 1 stil var

Print #1, 0 ' YAZI STLLER


Print #1, "STYLE"
Print #1, 2
Print #1, "TRKE" ' stil ismi
Print #1, 70
Print #1, 0
Print #1, 40 ' yaz ykseklii
Print #1, 1
Print #1, 41 ' yaz genilii
Print #1, 1
Print #1, 50 ' yaz as
Print #1, 0
Print #1, 71 ' retim iaretleri
Print #1, 0
Print #1, 42 ' kullanlan son ykseklik
Print #1, 2
Print #1, 3
Print #1, "Arial" ' seilen acad fontu "Arial" yaz fontunu
Print #1, 4 ' Autocad e TRKE olarak tantyorum
Print #1,

Print #1, 0
Print #1, "ENDTAB" ' YAZI STL SONU

Print #1, 0
Print #1, "ENDSEC" ' ----- TABLES BLM SONU

Print #1, 0 ' ----- ENTITIES BALANGICI ZM GRLER


Print #1, "SECTION" '------ ZME BALIYORUZ
Print #1, 2 ' Ben kolaylk olsun ve her izgide ayr ayr
kod yazmamak
Print #1, "ENTITIES" 'iin her komut iin alt programlar hazladm ve
aada
'onlar aryorum.

'nce girdiimiz deerleri tanmlayalm.


YzeyAd = "YEN"
Y = 0
X = 0
H = 0
Yarap = 10
balangY = 10
balangX = 8
balangH = 50
bitiY = 50
bitiX = 80
bitiH = 100
BalangAs = 0
BitiAs = 126
YazYkseklii = 5
yaz = "Merhaba AutoCad"

AcadNoktaCiz YzeyAd, Y, X, H
AcadDaireCiz YzeyAd, Y, X, H, Yarap
Y = 40
X = 60
Acadizgiiz2D YzeyAd, balangY, balangX, bitiY, bitiX
Acadizgiiz3D YzeyAd, balangY, balangX, balangH, bitiY,
bitiX, bitiH
AcadYayiz YzeyAd, Y, X, Yarap, BalangAs, BitiAs
AcadYazYaz YzeyAd, Y, X, YazYkseklii, yaz

' ----- ENTITIES SONU ve ZM GRLER SONU


Print #1, 0
Print #1, "ENDSEC"
Print #1, 0
Print #1, "EOF"
Close ' ***** DOSYA KAPANII *****
Print " [C:\YeniDosya.Dxf ] SML DOSYA YARATILDI"
End Sub

'YUKARIDAK ZMLERN ALTPROGRAMLARI;

'Nokta izmek [Point];


Public Sub AcadNoktaCiz(YzeyAd, Y, X, H)
Print #1, 0
Print #1, "POINT"
Print #1, 8 ' yzey ad
Print #1, YzeyAd
Print #1, 10 ' y deeri
Print #1, Y
Print #1, 20 ' x deeri
Print #1, X
Print #1, 30 ' z ykseklii
Print #1, H
End Sub

'Daire izmek [Circle];


Public Sub AcadDaireCiz(YzeyAd, Y, X, H, Yarap)
Print #1, 0
Print #1, "CIRCLE"
Print #1, 8 ' yzey ad
Print #1, YzeyAd
Print #1, 10 ' MERKEZ y deeri
Print #1, Y
Print #1, 20 ' MERKEZ x deeri
Print #1, X
Print #1, 30 ' MERKEZ z deeri
Print #1, H
Print #1, 40 ' daire yar ap
Print #1, Yarap
End Sub

'3D izgi izmek [Line];


Public Sub Acadizgiiz3D(YzeyAd, balangY, balangX, balangH,
bitiY, bitiX, bitiH)
Print #1, 0
Print #1, "LINE"
Print #1, 8 ' yzey ad
Print #1, YzeyAd
Print #1, 10 ' y deeri
Print #1, balangY
Print #1, 20 ' x deeri
Print #1, balangX
Print #1, 30 ' x deeri
Print #1, balangH
Print #1, 11 ' var y deeri
Print #1, bitiY
Print #1, 21 ' var x deeri
Print #1, bitiX
Print #1, 31 ' var x deeri
Print #1, bitiH
End Sub

'2D izgi izmek [Line];


Public Sub Acadizgiiz2D(YzeyAd, balangY, balangX, bitiY, bitiX)
Print #1, 0
Print #1, "LINE"
Print #1, 8 ' yzey ad
Print #1, YzeyAd
Print #1, 10 ' y deeri
Print #1, balangY
Print #1, 20 ' x deeri
Print #1, balangX
Print #1, 11 ' var y deeri
Print #1, bitiY
Print #1, 21 ' var x deeri
Print #1, bitiX
End Sub

'Yay izmek [Arc];


Public Sub AcadYayiz(YzeyAd, Y, X, Yarap, BalangAs, BitiAs)
Print #1, 0
Print #1, "ARC"
Print #1, 8 ' yzey ad
Print #1, YzeyAd
Print #1, 10 ' MERKEZ y deeri
Print #1, Y
Print #1, 20 ' MERKEZ x deeri
Print #1, X
Print #1, 40 ' YARI AP
Print #1, Yarap
Print #1, 50 ' BALANGI AISI
Print #1, BalangAs
Print #1, 51 ' BT AISI AISI
Print #1, BitiAs
End Sub

'Yaz Yazmak [Text];


Public Sub AcadYazYaz(YzeyAd, Y, X, YazYkseklii, yaz)
'YAZILAR'
Print #1, 0
Print #1, "TEXT"
Print #1, 8
Print #1, YzeyAd ' YZEY ADI
Print #1, 10
Print #1, Y ' Y DEER
Print #1, 20
Print #1, Y ' X DEER
Print #1, 40
Print #1, YazYkseklii ' YAZI YKSEKL
Print #1, 1
Print #1, yaz ' YAZILACAK METN
Print #1, 7
Print #1, "TRKE" ' STL SM
Print #1, 62
Print #1, 10 ' RENK NO (10 krmz)
End Sub

You might also like