Autocad VBA ismétlési gond

Autocad VBA ismétlési gond
2020-02-26T08:06:24+01:00
2020-03-21T16:18:11+01:00
2022-10-15T21:25:48+02:00
Hier
Sziaasztok

A következő kis kóddal van gondom:


p1 = ThisDrawing.Utility.GetPoint(, "katt")

Dim k As AcadObject

Set k = ThisDrawing.ModelSpace.AddBox(p1, 100, 100, 200)

Dim m1(0 To 2) As Double
Dim m2(0 To 2) As Double


m1(0) = 0: m1(1) = 0: m1(2) = 0
m2(0) = 200: m2(1) = 0: m2(2) = 0

ertek = TextBox1.Value

For i = 1 To TextBox1.Value

    k.Copy.Move m1, m2
    
Next

ez egy egyszerű kis négyzet rajzoló kódsor autocadban.
A cél az, hogy a Textbox1-be beírt értéknek megfelelően másolja és mozgassa el az egységete adott távolságra.
A másolást megcsinálja, de nem helyezi őket arébb.
Hogy tudom az m2-es értéket is automatikusan növelté tenni?
Mutasd a teljes hozzászólást!
Helló!

A For cikluson belül a másolás előtt változtasd meg m2 értékét (pl.: m2(0)=m2(0)+200)
Mutasd a teljes hozzászólást!

  • Helló!



    Az Autocad-hez nem értek sajnos. Ami hiányzik, az a next i. Nálad csak next van. Elvileg nem okoz gondot, de néha igen. A másik, hogy mi van a textbox-ban? Számérték?  csak 1 lehet benne. Akkor a for ciklus nem feltétlenül jó. A for ciklus számokkal operál, a textbox. value azonban lehet karakter is.

    Azt alakítsd át számmá..

    for i=0 to cstr(textbox1.text)
       ide ami eddig volt.
    next i

    Itt jelezném, hogy a textbox tartalmát, mielőtt számmá alakítanád, le kell vágni a felesleges space-eket. Ezt a trim() függvénnyel teheted meg. Nézz utána.
    Mutasd a teljes hozzászólást!
  • Helló!

    A For cikluson belül a másolás előtt változtasd meg m2 értékét (pl.: m2(0)=m2(0)+200)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd