Sasek Opublikowano 19 Sierpnia 2012 Zgłoś Udostępnij Opublikowano 19 Sierpnia 2012 Witam wszystkich. Mam taki mały problem :). Chciałem zapoznać się trochę z VBA, ale nigdy nie pisałem żadnych programów/makr. W necie znalazłem tutorial pod autocada i przepisałem z niego program ale niestety wyskakuje mi błąd "Invalid procedure call or argument (Error 5)" . Dotyczy on linii "Set newpline = Thisdocument.ModelSpace.AddLightWeightPolyline(pkt)". Z góry dzieki za pomoc. Pozdrawiam Sub pol() Dim h As Double Dim s As Double Dim t As Double Dim g As Double Dim r As Double Dim r1 As Double Dim pt1 As Variant Dim pkt(0 To 17) As Variant pt1 = Thisdocument.Utility.GetPoint(, vbCrLf & "Punkt wstawienia:") h = 60 s = 40 t = 6 g = 6 r = 6 r1 = 3 Dim newpline As ZwcadLWPolyline pkt(0) = pt1(0) pkt(1) = pt1(1) pkt(2) = pkt(0) + s pkt(3) = pkt(1) pkt(4) = pkt(2) pkt(5) = pkt(3) + (t - r1) pkt(6) = pkt(4) - r1 pkt(7) = pkt(1) + t pkt(8) = pkt(0) + g + r pkt(9) = pkt(1) + t pkt(10) = pkt(8) - r pkt(11) = pkt(9) + r pkt(12) = pkt(10) pkt(13) = pkt(1) + h - r1 pkt(14) = pkt(0) + g - r1 pkt(15) = pkt(1) + h pkt(16) = pkt(0) pkt(17) = pkt(15) Set newpline = Thisdocument.ModelSpace.AddLightWeightPolyline(pkt) newpline.Closed = True newpline.Update End Sub Link do źródła: http://www.is.pw.edu.pl/plik/290/VBA%20dla%20AutoCAD.pdf Numer kompilacji: "2011.10.30(17176)"[/code] Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 20 Sierpnia 2012 Zgłoś Udostępnij Opublikowano 20 Sierpnia 2012 Wystarczy zmienić Dim pkt(0 To 17) As Variant na Dim pkt(0 To 17) As Double i będzie OK Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.