Sasek

Użytkownik forum
  • Postów

    2
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Ostatnia wygrana Sasek w dniu 17 Października 2015

Użytkownicy przyznają Sasek punkty reputacji!

Osiągnięcia Sasek

Początkujący

Początkujący (1/6)

-1

Reputacja

  1. Witam. Mam taki problem z dwoma programikami: 1.Program powinien wybierać okręgi o promieniu 5, niestety tylko je podświetla ale nie utrzymuje zaznaczenia :(. Why? Sub wybieranie() Dim ssh As ZwcadSelectionSet Dim Ftyp(1) As Integer Dim Fdat(1) As Variant Dim F1, F2 As Variant Ftyp(0) = 0: Fdat(0) = "CIRCLE" Ftyp(1) = 40: Fdat(1) = 5# Set ssh = Thisdocument.SelectionSets.Add("ssh") F1 = Ftyp F2 = Fdat ssh.Delete ssh.Select zcSelectionSetAll, , , F1, F2 ssh.Highlight True End Sub 2. Drugi program miał tworzyć warstwę tak jak normalnie w menadżerze (kopiując style linii, kolor itp.). Kod wygląda następująco: Sub war() Dim k As String Dim gl As String Dim sl As String Dim d As String Dim z As String Dim zab As String Dim n As String Dim zero As ZwcadLayer Dim jeden As ZwcadLayer Set zero = Thisdocument.Layers("0") k = zero.Color gl = zero.LineWeight sl = zero.Linetype d = zero.Plottable z = zero.Freeze zab = zero.Lock n = zero.LayerOn Set jeden = Thisdocument.Layers.Add("1") jeden.Color = k jeden.LineWeight = gl jeden.Linetype = sl jeden.Plottable = d jeden.Freeze = z jeden.Lock = zab jeden.LayerOn = n Thisdocument.Regen End Sub Czy jest jakiś krótszy sposób odczytania danych z istniejącej warstwy albo innego obiektu? I dlaczego jak mam zablokowaną, zamrożoną lub niewidoczna warstwę to wyskakuje błąd? Z góry dzięki za pomoc. Pozdrawiam
  2. 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]