![]() |
|
|
#1 (permalink) |
|
I'm REAL ?>
![]() Katılma Tarihi: Şub 2006
Nereden: Bursa/es-es
Yaş: 23
Mesajlar: 1,768
|
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
__________________
|
|
|
|
![]() |
| Ş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 |