Etiketler

AutoCAD (60) bedava (48) Dosya (34) Resim (33) program (21) Ziyaretçi Defteri (20) excel (18) Eğitim (17) Güncelleme (17) Nasıl yapılır (16) asgbookphp (16) Şablon (15) Qbasic (14) php (14) online (13) Fotoğraf (12) Freeware (12) PHP script (12) VBA (12) Visual Basic (12) Kaynak kod (11) Dos (10) SolidWorks (10) ürünler (9) E-book (8) Photoshop (8) tutorial (6) Ders (5) Word (5) Lisp (4) Programlama (4)

Youtube Kanalıma Abone Olunuz

20 Haziran 2019 Perşembe

AutoCAD ile VBA makro kullanımı #4-2

Bu bölümde aşağıdaki başlıklar olacak. Önceki bölüm için tıklayınız.
  • VBA kodlarını çizim dosyasına gömme (Embed)
  • Çizim dosyasında gömülü kodları ayırma (Extract)
  • VBA kodları Dışa aktarma (Export)
  • VBA kodları İçe aktarma (Import)
  • Kodları belleğe yükleme / kaldırma

VBA kodlarını çizim dosyasına gömme (Embed)

Daha önceki videolarda bahsetmiştim. AutoCAD VBA kodları çizim dosyasından ayrı bir dosya olarak kaydedilmektedir. Çizim dosyası DWG olarak VBA kodları ise DVB olarak kaydedilir. Excel VBA daki gibi değildir. Excelde dosyayı kaydettiğinizde dosya ile beraber VBA makro kodları da kaydedilir. Ancak Exceldeki gibi AutoCAD'de de çizim ile VBA kodlarını tek dosyada kaydetme imkanı vardır. Bunun için bir işlem yapılması gerekir. Bu işlem; vba kodları çizim dosyasına gömme(embed)

Yapılışı:
Komut satırından VBAMAN girilir.
Projects listesinde bellekte yüklü olan vba projeleri görünecek.
Proje adı seçilir.
Embed butonu tıklanır.
Bir dosyaya aynı anda bir proje gömülebiliyor. Üstteki resimde de görüldüğü gibi Embedded Project yanında eklenen proje adı görülüyor. Hangi dosyaya eklendiği ise Drawing altında ve proje listesinde gösteriliyor. Ayrıca gömülen projenin kendisi de hâlâ bellekte yüklüdür. O yüzden proje listesinde 2 tane aynı proje adı görünmektedir. İstenirse 2.si bellekten atılabilir(unload)

Artık VBA kodları DWG dosyaya eklendiği(gömüldüğü) için dwg dosya kaydedildiğinde vba kodlarıyla beraber kaydedilir. DWG dosya açıldığında da beraberindeki gömülü vba kodları da yüklenir. Çizimde ve kodlarda yapılan değişikler çizim dosyası kaydedildiğinde beraberinde kaydedilmiş olur.

Ancak vba kodları dwg dosyaya gömmenin bir dezavantajı olacaktır. Normalde yüklenen vba kodları açılan ya da yeni oluşturulan dwg dosyalarda kullanılabilirken gömülü kodlar yalnızca gömülmüş çizim dosyası içerisinde kullanılabilir. Bu işlemin tersi de mevcuttur tabii ki. Yani gömülü kodları çizimden ayırma(extract)

Çizim dosyasında gömülü kodları ayırma (Extract)

Embed ile çizim dosyasına eklenmiş vba kodları ayırmak için yapılacaklar:
VBAMAN komutu verilir
Embedded Project: yanında dosyaya ekli proje adı görülür.
Extract butonu tıklanır.
Kodlar çizim dosyasından ayrılıp atılacağı(silineceği) için kodların kaybedilmemesi için ayrı bir DVB dosyasına kaydetme için uyarı penceresi açılır.
Burada, Evet ile; ekli kodlar ayrılır ve DVB dosyasına kaydedilir.
Hayır ile; ekli kodlar ayrılır ve silinir. Dikkat!
İptal ile extract işleminden vazgeçilir.

VBA kodları Dışa aktarma (Export)

VBA editör penceresindeki kodları başka uygulamalarda ve yerde kullanmak ya da bir tür yedekleme yapmak için kodları salt metin(text) olarak kaydetmek mümkündür.
Bunun için menüden File / Export File... Ctrl+E tıklanır.
Açılan pencerede dosya adı ve konumu belirtilir. Kayıt gerçekleştirilir.
ThisDrawing içindeki kodlar .CLS olarak,
Modules içindeki kodlar .BAS olarak,
Forms içindeki kodlar ise .FRM olarak kaydedilir.
Kaydedilen dosyalar herhangi bir metin editöründe açılıp düzenlenebilir ve kaydedilebilir.

VBA kodları İçe aktarma (Import)

Export işleminin tersidir. .CLS, .BAS, .FRM olarak kaydedilmiş dosya içerisindeki kodlar VBA editör penceresinde uygun konuma eklenir.

Kodları belleğe yükleme

DVB dosyaları yüklemek için birkaç yol var.
  1. DVB Dosyayı sürükleyip AutoCAD çizim alanı içine bırakarak.
  2. VBAMAN komutu ve açılan pencerede LOAD... butonu tıklanıp DVB dosya seçilerek.
  3. Komut satırından VBALOAD komutu ile: Komut verilir ve DVB dosya seçilir.
  4. Komut satırına
    -VBALOAD "C:\Users\Mesut\Desktop\EksenCiz4.dvb" yazarak.
  5. Menüden Manage / Load Application / Açılan pencerede DVB dosya seç / Load tıkla
  6. Komut satırından APPLOAD komutu ile: Komut sonrası açılan pencere DVB dosya seçilir.
Ne gariptir ki DVB dosyalar VBA editörü tarafından yüklenmemektedir.

Yüklü VBA kodlarını kaldırma:

Bunun için VBAMAN komutu verilir proje listesinden proje adı seçilir UNLOAD butonu tıklanır ya da APPLOAD komutu verilir açılan pencerede Loaded Applications listesinde Proje dosyası seçilir UNLOAD butonu tıklanır.

İlgili video:

18 Haziran 2019 Salı

AutoCAD ile VBA Makro kullanımı #4-1

Bu yazıyı 2 bölüm halinde hazırladım.
Bir önceki yazımda kullandığım eksen çizen VBA kodları geliştireceğim.
Eski kodlarda yapacağım iyileştirmelerde şunlar olacak
  • Eksen için daire veya yay seçilebilecek
  • Farklı nesne seçildiyse çizim yapılmayıp mesaj ile çıkılacak
  • Eksen katmanı yoksa eksen katmanı eklenecek
  • Katman ayarları yapılacak
  • Aktif katman "Eksen" olacak
  • "Eksen" katmanına eksen çizgileri çizilecek
  • Bir önceki katman, aktif katman olacak

 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
Sub EksenCiz()
'AutoCAD ile VBA Makro kullanımı #4
'Autocad VBA ile Daire ya da yaylara eksen çizme:

' Kodların kullanımı ile ilgili video:
' https://www.youtube.com/watch?v=nph7BM3kQbQ

' AutoCAD ile VBA Makro kullanımı playlist:
' https://www.youtube.com/playlist?list=PLte7FEGCpudNwNr71-FhUS1g3FAhnNPjD

' Makro kodu: Mesut Akcan
' 18/6/2019
' Güncelleme: 18/7/2019

' www.akcansoft.com
' makcan@gmail.com
' ------------------------------------------------------------
' Daire ya da yaylara VBA ile eksen çizen kodları geliştirme
' Eksen için daire veya yay seçilebilecek
' Farklı nesne seçildiyse çizim yapılmayıp mesaj ile çıkılacak
' Eksen katmanı yoksa eksen katmanı eklenecek
' Katman ayarları yapılacak
' Aktif katman "Eksen" olacak
' "Eksen" katmanına eksen çizgileri çizilecek
' Bir önceki katman aktif katman olacak
' ------------------------------------------------------------
Dim cizgi As AcadLine, nesne As AcadObject
Dim nkt As Variant, uzunluk As Double
Dim merkezNokta As Variant, n1 As Variant, n2 As Variant
Dim eksenKatman As AcadLayer
Dim aktifKatman As AcadLayer

Utility.GetEntity nesne, nkt, "Eksen çizilecek daire ya da yayı seçiniz: "
If nesne Is Nothing Then
    Utility.Prompt "Herhangi bir nesne seçilmedi!"
    Exit Sub
End If
    
If (TypeOf nesne Is AcadCircle) Or (TypeOf nesne Is AcadArc) Then
    On Error Resume Next ' Hata olursa sonraki satırdan devam eder
    Linetypes.Load "CENTER", "acad.lin"
    On Error GoTo 0
    Set aktifKatman = ActiveLayer

    Set eksenKatman = Layers.Add("Eksen")
    eksenKatman.color = acCyan
    eksenKatman.Linetype = "CENTER"
    ActiveLayer = eksenKatman

    merkezNokta = nesne.Center
    uzunluk = nesne.Radius + 3
    
    n1 = merkezNokta
    n2 = merkezNokta
    
    n1(0) = merkezNokta(0) - uzunluk 'X
    n2(0) = merkezNokta(0) + uzunluk 'X
    
    Set cizgi = ModelSpace.AddLine(n1, n2)
    With cizgi
        .Linetype = "ByLayer"
        .color = acByLayer
        .Lineweight = acLnWtByLayer
    End With
        
    n1 = merkezNokta
    n2 = merkezNokta
    
    n1(1) = merkezNokta(1) - uzunluk 'Y
    n2(1) = merkezNokta(1) + uzunluk 'Y
    
    Set cizgi = ModelSpace.AddLine(n1, n2)
    With cizgi
        .Linetype = "ByLayer"
        .color = acByLayer
        .Lineweight = acLnWtByLayer
    End With
    
    ActiveLayer = aktifKatman
Else
    Utility.Prompt "Seçilen nesne daire ya da yay değil!"
End If
End Sub


İlgili video:


AutoCAD ile VBA Makro kullanımı playlist:
https://www.youtube.com/playlist?list=PLte7FEGCpudNwNr71-FhUS1g3FAhnNPjD

Sonraki bölüm: AutoCAD ile VBA makro kullanımı #4-2

24 Mayıs 2019 Cuma

Microsoft Visual C++ Redistributable Paketleri

Güncelleme: 24 Mayıs 2019
Visual C++ ile yazılmış uygulamaların çalışma zamanında bazı kütüphane dosyalarına ihtiyaç duyar.
Bunlar sisteminizde kurulu değilse uygulama hata vererek çalışmayı durdurur.
İşte bu ihtiyaç duyulan dosyalar Microsoft tarafından yeniden dağıtılabilir paket (Redistributable Package) halinde sunulmaktadır.
Aşağıdaki linkleri kullanarak sisteminizde eksik olan dosyaları indirip kurabilirsiniz.

Paket AdıSürüm NoSürüm Tarihi
Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update
32-Bit - 64-Bit
07.06.2011
Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update
32-Bit - 64-Bit
9.0.30729.567707.06.2011
Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update
32-Bit - 64-Bit
10.0.40219.32509.08.2011
Microsoft Visual C++ 2012 Update 4 Redistributable Package
32-Bit - 64-Bit
11.0.61030.020.11.2013
Microsoft Visual C++ 2013 Update 5 Redistributable Package
32-Bit - 64-Bit
12.0.40660.028.07.2016
Microsoft Visual C++ 2015 Update 3 Redistributable Package
32-Bit - 64-Bit
14.0.24215.115.09.2016
Microsoft Visual C++ 2017 RTM Redistributable Package
32-Bit - 64-Bit Not: Microsoft Visual C++ 2017 sürümü Microsoft Visual C++ 2015 sürümünün yerine geçer.
14.16.27027.130.03.2019
Microsoft Visual C++ 2019 RTM Redistributable Package
32-Bit - 64-Bit Not: Microsoft Visual C++ 2019 sürümü Microsoft Visual C++ 2015 ve 2017 sürümünün yerine geçer.
14.21.27702.224.05.2019

19 Nisan 2019 Cuma

AutoCAD 2020 çıktı. İndirilebilir.

AutoCAD'in yeni sürümü AutoCAD 2020 çıktı. 30 günlük deneme sürümü indirilebilir ve kullanılabilir durumda.
https://www.autodesk.com/products/autocad/free-trial sayfasından deneme sürümünü indirebilirsiniz.

Deneme sürümlerini indirmek ve kullanmak için Autodesk hesabınız yoksa https://accounts.autodesk.com/register sayfasından ücretsiz bir Autodesk hesabı açtırmanız gerekiyor. Bu hesap ile AutoCAD yanında birçok Autodesk programının deneme sürümlerine erişebiliyorsunuz.

  • AutoCAD 2020'de bir önceki sürüme göre önemli bir değişiklik görünmüyor. Ancak daha hızlı ve güvenli çalışması için sistemsel iyileştirmeler yapıldığı söyleniyor.


  • Göze batan önemli bir değişiklik MEASUREGEOM komutunda.
    Bu komut ile fare imleci turuncu renkli + (artı)ya dönüşüyor. İmleç çizgisinin temas ettiği nesneler hakkında bazı ölçü bilgileri nesneler üzerinde görünüyor.




  • INSERT komutunda iyileştirmeler olmuş. Açılan blok paleti ile daha kolay kullanışlı blok ekleme imkanı sağlanıyor. Eski sürümlerdeki insert komutunu özleyen ve kullanmak isteyenler varsa CLASSICINSERT kullanabilir.



  • Karanlık (Dark) temada değişiklikler olmuş. Daha net görünebilen simgeler ve koyu mavi tema.
  • PURGE komutu geliştirilmiş. Çok sayıda gereksiz nesneyi temizleyebiliyor ve temizlenemeyen nesnelerin neden temizlenemediği ile ilgili olası nedenler belirtiliyor.

  • COMPARE komutu geliştirilmiş. Tek pencerede farklılıklar görünebiliyor.