Excel VBA ile Autocad polyline çizimi

Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
Aşağıda ki kod çalışmıyor. Dİkkatimi çeken şu oldu ki nokta dizisini döngü ile değilde manuel yaparsam çalışıyor, örneğin;
noktaDizi(0)=2
noktaDizi(1)=4
....
noktaDizi(709)=1210 gibi.

Yardımcı olabilir misiniz?

Sub Test2()

Dim noktaDizi(710) As Double

For i = 0 To 709
noktaDizi(i) = i * i-5
Next

Dim ACAD As AcadApplication
Dim egriCiz As AcadLWPolyline

On Error Resume Next
Set ACAD = GetObject(, "AutoCAD.Application")
If (Err <> 0) Then
Err.Clear
Set ACAD = New AcadApplication
ACAD.Visible = True
If (Err <> 0) Then
MsgBox Err.Number & " " & Err.Description
End
End If
End If

Set egriCiz = ACAD.ActiveDocument.ModelSpace.AddLightWeightPolyline(noktaDizi)
cizim1.Closed = False

End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Aşağıda ki kod çalışmıyor. Dİkkatimi çeken şu oldu ki nokta dizisini döngü ile değilde manuel yaparsam çalışıyor, örneğin;
noktaDizi(0)=2
noktaDizi(1)=4
....
noktaDizi(709)=1210 gibi.

Yardımcı olabilir misiniz?

Sub Test2()

Dim noktaDizi(710) As Double

For i = 0 To 709
noktaDizi(i) = i * i-5
Next

Dim ACAD As AcadApplication
Dim egriCiz As AcadLWPolyline

On Error Resume Next
Set ACAD = GetObject(, "AutoCAD.Application")
If (Err <> 0) Then
Err.Clear
Set ACAD = New AcadApplication
ACAD.Visible = True
If (Err <> 0) Then
MsgBox Err.Number & " " & Err.Description
End
End If
End If

Set egriCiz = ACAD.ActiveDocument.ModelSpace.AddLightWeightPolyline(noktaDizi)
cizim1.Closed = False

End Sub
El ile girdiğiniz değerler ile döngü ile girilenler aynı değil. Döngüde;
noktaDizi(0)=-5
noktaDizi(1)=-4
noktaDizi(2)=-1
noktaDizi(3)=4
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
El ile girdiğiniz değerler ile döngü ile girilenler aynı değil. Döngüde;
noktaDizi(0)=-5
noktaDizi(1)=-4
noktaDizi(2)=-1
noktaDizi(3)=4
el ile girilen değerleri farazi yazdım Asri bey. orada anlatmak istediğim el ile değer girdiğimde kod çalışıyor ve autocad de çizim yapıyor, zira diziyi döngü ile doldurduğumda kod çalışmıyor. Autocad açılıp kalıyor çizim gelmiyor.
 
Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
el ile girilen değerleri farazi yazdım Asri bey. orada anlatmak istediğim el ile değer girdiğimde kod çalışıyor ve autocad de çizim yapıyor, zira diziyi döngü ile doldurduğumda kod çalışmıyor. Autocad açılıp kalıyor çizim gelmiyor.
Autocad verileri uygun bulmuyor olabilir. El ile yada döngü ile atamada bir fark yok.

Bu şekilde dener misin?

For i = 1 To 710
noktaDizi(i-1) = i
Next
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
Autocad verileri uygun bulmuyor olabilir. El ile yada döngü ile atamada bir fark yok.

Bu şekilde dener misin?

For i = 1 To 710
noktaDizi(i-1) = i
Next
Asri bey

Set egriCiz = ACAD.ActiveDocument.ModelSpace.AddLightWeightPolyline(noktaDizi)
cizim1.Closed = False

hatamı buldum çalıştı şimdi. çok teşekkürler.
 
Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Asri bey

Set egriCiz = ACAD.ActiveDocument.ModelSpace.AddLightWeightPolyline(noktaDizi)
cizim1.Closed = False

hatamı buldum çalıştı şimdi. çok teşekkürler.
Neyi değiştirip sorunu çözdünüz?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Ben de deneyeyim dedim ama
Bilgisayarımda Acad2016 kurulu

Referanslardan mı bir ayar yapmak gerekiyor?
Aşağıdakileri işaretledim. Zeten ilgili başka göremedim

Ancak kodun
If (Err <> 0) Then
satırında hata tespit edip işlemi yapamıyor.


229530
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Edit ettim. Hata var.
 
Üst