03.11.2016 19:00    

akcan
Forumda AutoCAD VBA makro ile ilgili bir bölüm yok.
O yüzden buraya yazdım.
Konu ile ilgili yeni başlayanlar ve bu konuyu merak edenler için bir sayfa hazırladım.
Aşağıdaki linkten inceleyebilirisiniz.
https://mesutakcan.blogspot.com/p/autocad-vba.html

akcan (11.03.2024 09:23 GMT)

09.11.2016 09:05    

ehya
Güzel ve açıklayıcı bir bilgi olmuş. Teşekkürler.. :yes

09.11.2016 09:45    

CAN123
Elinize sağlık, teşekkürler

07.07.2018 11:38    

akcan


Linkleri görebilmek için ÜYE olmalısınız.


adresinde ise autocad vba makro ile ilgili videolarım var

akcan (09.04.2022 15:53 GMT)

09.07.2018 17:55    

k005
Alıntı
akcan :


Linkleri görebilmek için ÜYE olmalısınız.



adresinde ise autocad vba makro ile ilgili 3 video hazırladım.




Emeğinize sağlık Teşekkürler.

09.08.2019 13:10    

akcan
autocad ile vba makro kullanımı ile ilgili yeni sayfalar ekledim.
https://mesutakcan.blogspot.com/p/autocad-vba.html
devamı gelecek.

akcan (11.03.2024 09:25 GMT)

15.11.2019 18:22    

coskunferhat
Sub CommandButton1_Click()

Dim lineObj As AcadLine


Dim basla(0 To 2) As Double
Dim bitir As Variant

a = TextBox1.Value
b = TextBox2.Value


basla(0) = a: basla(1) = b
NOKTA1.hide

bitir = ThisDrawing.Utility.GetPoint(basla, "Bitiş noktasını belirtin:")

Set lineObj = ThisDrawing.ModelSpace.AddLine(basla, bitir)



End Sub

Hocam burda koordinat değeri verilen noktaya gidiyor çizgi, fakat ikinci noktayı ekrandan seçmemi istiyor, ikinci noktayı da textbox1 ve textbox2 ye yazıp 3. noktaya geçmek istiyoruöm, döngü yapmak istiyorum. Bir çözümü olan var mı acaba.

16.11.2019 18:23    

mavi462
Dim basla(0 To 2) As Double
Dim durum As Boolean

Private Sub CommandButton1_Click()
Dim lineObj As AcadLine



Dim bitir(0 To 2) As Double

a = TextBox1.Value
b = TextBox2.Value

If durum = False Then
basla(0) = a: basla(1) = b
End If
If durum = True Then
bitir(0) = a: bitir(1) = b
End If


If durum = True Then
Set lineObj = ThisDrawing.ModelSpace.AddLine(basla, bitir)
basla(0) = bitir(0)
basla(1) = bitir(1)

End If
If durum = False Then
durum = True
End If
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End Sub

16.11.2019 18:26    

mavi462


Linkleri görebilmek için ÜYE olmalısınız.



Alternatif link: 1-deneme.dvb
bu linkten dvb dosyasını da indirebilirsin.
Kolay gelsin

admin (18.11.2019 10:23 GMT)

17.11.2019 16:45    

coskunferhat
mavi462 hocam teşekkür ederim alakanız için.
çalışmaya devam ediyorum.Userformu komutsatırından kendi belirlediğim kısayol tuşuyla çalıştırıyorum, hatta Netcad deki gibi userform açıkken arkaplanda başka çalışmalar da yapabiliyorum.
Fakat çalıştırdığım Userformdan esc tuşuyla çıkışı bir türlü yapamadım.İnternetten bulduğum kodlar işe yaramıyor.
Yardımcı olursanız memnun olurum.
Esen kalın.

17.11.2019 16:50    

coskunferhat
Private Sub CommandButton2_Click()
Dim plineObj As AcadPolyline


Dim points(20) As Double

a = TextBox3.Value
b = TextBox4.Value
c = TextBox5.Value
d = TextBox6.Value
e = TextBox7.Value
f = TextBox8.Value
g = TextBox9.Value
h = TextBox10.Value
j = TextBox11.Value
k = TextBox12.Value
m = TextBox13.Value
n = TextBox14.Value
o = TextBox15.Value
p = TextBox16.Value

points(0) = a: points(1) = b: points(2) = 0
points(3) = c: points(4) = d: points(5) = 0
points(6) = e: points(7) = f: points(8) = 0
points(9) = g: points(10) = h: points(11) = 0
points(12) = j: points(13) = k: points(14) = 0
points(15) = m: points(16) = n: points(17) = 0
points(18) = o: points(19) = p: points(20) = 0

Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
plineObj.Closed = True

ZoomExtents
End Sub

Bu kod çalışıyor, fakat 3 nokta girişi yapsam çalıştırınca hata alıyorum, istiyorum ki ister 3 nokta ister 5 nokta gireyim kapalı polyline çizsin.

18.11.2019 07:49    

mavi462
Alıntı
coskunferhat :
mavi462 hocam teşekkür ederim alakanız için.
çalışmaya devam ediyorum.Userformu komutsatırından kendi belirlediğim kısayol tuşuyla çalıştırıyorum, hatta Netcad deki gibi userform açıkken arkaplanda başka çalışmalar da yapabiliyorum.
Fakat çalıştırdığım Userformdan esc tuşuyla çıkışı bir türlü yapamadım.İnternetten bulduğum kodlar işe yaramıyor.
Yardımcı olursanız memnun olurum.
Esen kalın.


Bu kodu formun keypress yordamına yaz
If KeyAscii = 27 Then
MsgBox "esc ye basıldı"
End
End If

18.11.2019 07:52    

mavi462
Alıntı
coskunferhat :
Private Sub CommandButton2_Click()
Dim plineObj As AcadPolyline


Dim points(20) As Double

a = TextBox3.Value
b = TextBox4.Value
c = TextBox5.Value
d = TextBox6.Value
e = TextBox7.Value
f = TextBox8.Value
g = TextBox9.Value
h = TextBox10.Value
j = TextBox11.Value
k = TextBox12.Value
m = TextBox13.Value
n = TextBox14.Value
o = TextBox15.Value
p = TextBox16.Value

points(0) = a: points(1) = b: points(2) = 0
points(3) = c: points(4) = d: points(5) = 0
points(6) = e: points(7) = f: points(8) = 0
points(9) = g: points(10) = h: points(11) = 0
points(12) = j: points(13) = k: points(14) = 0
points(15) = m: points(16) = n: points(17) = 0
points(18) = o: points(19) = p: points(20) = 0

Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
plineObj.Closed = True

ZoomExtents
End Sub

Bu kod çalışıyor, fakat 3 nokta girişi yapsam çalıştırınca hata alıyorum, istiyorum ki ister 3 nokta ister 5 nokta gireyim kapalı polyline çizsin.




polyline objesi kac nokta alacaksa redim komutu ile point değişkenini o boyuta getir .Mesela 3 nokta gireceksen point değişkeni 6 ,4 nokta gireceksen 8 olması gerekir ne fazla ne eksik ..

18.11.2019 07:54    

mavi462
Ayrıca internetten veri araştırırken excel ve ya autocad vba için visual basic 6.0 komutları kullanılabilir . visual basic .net komutlarını kullanamazsın..

18.11.2019 12:13    

coskunferhat
polyline objesi kac nokta alacaksa redim komutu ile point değişkenini o boyuta getir .Mesela 3 nokta gireceksen point değişkeni 6 ,4 nokta gireceksen 8 olması gerekir ne fazla ne eksik ..


mavi462 hocam bu komutu nasıl yazacağım hakkında bilgim yok, internetten de bulamadım.Yardımcı olurmusun.

19.11.2019 07:10    

mavi462
Alıntı
coskunferhat :
polyline objesi kac nokta alacaksa redim komutu ile point değişkenini o boyuta getir .Mesela 3 nokta gireceksen point değişkeni 6 ,4 nokta gireceksen 8 olması gerekir ne fazla ne eksik ..


mavi462 hocam bu komutu nasıl yazacağım hakkında bilgim yok, internetten de bulamadım.Yardımcı olurmusun.



Çoşkun bey internette her tür kodu bulamazsınız. Bulduğunuz kodları kopyalayıp yapıştırırsanız yaptığınız program sizin olmaz. vba ile kod yazmak istiyorsanız bence önce visual basic dilinin basit ce üstünden geçin .Sonra vba ya başlayın sizin için daha kolay olacaktır . Sadece autocad değil excel vba ya da ufak ufak hakim olduğunuzu göreceksiniz.
Siz önce kendi yorumunuzla bir kodu yazmayı deneyin. Sonra üzerinde tartışarak ben size yardımcı olayım bence sizin için daha verimli olacaktır .
İyi çalışmalar:)

19.11.2019 08:32    

coskunferhat
Merhaba mavi462 hocam;
Yazdıklarınıza katılıyorum tabi ön bilgi ya da az bir tecrübeyle işe başlamak lazım.Kopyala yapıştır daha yapmadım aslında.Okulda ve iş hayatında başlangıç düzeyinde kodlar öğrendim tabi.Bulduğum kodun ne işe yaradığını anlamadan kullanmıyorum.

Şu anda altyapı projelerinde baca koordinatı, akar ve üst kotu girdiğimde ekrana çizdir komutuyla profili çizdiren bir makro için uğraşıyorum.
Şu anda herşey yolunda iyi gidiyor.Bu benim işimi çok hafifletecek.Sadece şu boş textbox olayını geçemedim.
Alakan için teşekkür ederim.

> 1 <
Copyright © 2004-2022 SQL: 1.876 saniye - Sorgu: 90 - Ortalama: 0.02085 saniye