小白想画一个建筑限界的轮廓线,代码如下
Private Sub CommandButton1_Click()
Dim h1, w, ll, lr, c, jr, h2, el, er As Double
Dim pt(16, 2) As Double
h1 = TextBox1.Text
w = TextBox2.Text
ll = TextBox3.Text
lr = TextBox4.Text
c = TextBox5.Text
jr = TextBox6.Text
h2 = TextBox7.Text
el = TextBox8.Text
er = TextBox9.Text
pt(0, 0) = 0: pt(0, 1) = 0: pt(0, 2) = 0
pt(1, 0) = w / 2: pt(1, 1) = 0: pt(1, 2) = 0
pt(2, 0) = (w / 2) + lr: pt(2, 1) = 0: pt(2, 2) = 0
pt(3, 0) = (w / 2) + lr + c: pt(3, 1) = h2: pt(3, 2) = 0
pt(4, 0) = (w / 2) + lr + c + jr: pt(4, 1) = h2: pt(4, 2) = 0
pt(5, 0) = (w / 2) + lr + c + jr: pt(5, 1) = h2 + 250: pt(5, 2) = 0
pt(6, 0) = (w / 2) + lr + c: pt(6, 1) = h2 + 250: pt(6, 2) = 0
pt(7, 0) = (w / 2) + lr + c: pt(7, 1) = 400: pt(0, 2) = 0
pt(8, 0) = (w / 2) + lr + c - er: pt(8, 1) = h1: pt(8, 2) = 0
pt(9, 0) = -(w / 2) - ll - c + el: pt(9, 1) = h1: pt(8, 2) = 0
pt(10, 0) = -(w / 2) - ll - c: pt(10, 1) = 400: pt(10, 2) = 0
pt(11, 0) = -(w / 2) - ll - c: pt(11, 1) = h2 + 250: pt(11, 2) = 0
pt(12, 0) = -(w / 2) - ll - c - jr: pt(12, 1) = h2 + 250: pt(12, 2) = 0
pt(13, 0) = -(w / 2) - ll - c - jr: pt(13, 1) = h2: pt(13, 2) = 0
pt(14, 0) = -(w / 2) - ll - c: pt(14, 1) = h2: pt(14, 2) = 0
pt(15, 0) = -(w / 2) - ll: pt(15, 1) = 0: pt(15, 2) = 0
pt(16, 0) = -(w / 2): pt(16, 1) = 0: pt(16, 2) = 0
Dim linexyz As Acadline
Dim pts(2), pte(2) As Double
Dim i As Double
For i = 0 To 15
pts(0) = pt(i, 0): pts(1) = pt(i, 1): pts(2) = pt(i, 2):
pte(0) = pt(i + 1, 0): pte(1) = pt(i + 1, 1): pte(2) = pt(i + 1, 2):
Set linexyz = ThisDrawing.ModelSpace.AddLine(pts, pte)
If i < 15 Then
i = i + 1
End If
Next
End Sub
老是报“无效的调用过程或参数”错误,
调试的话错在Set linexyz = ThisDrawing.ModelSpace.AddLine(pts, pte)这一句上,但小白第一次用DVB,不清楚错在什么地方,有大神能解答下吗,急急急!
Private Sub CommandButton1_Click()
Dim h1, w, ll, lr, c, jr, h2, el, er As Double
Dim pt(16, 2) As Double
h1 = TextBox1.Text
w = TextBox2.Text
ll = TextBox3.Text
lr = TextBox4.Text
c = TextBox5.Text
jr = TextBox6.Text
h2 = TextBox7.Text
el = TextBox8.Text
er = TextBox9.Text
pt(0, 0) = 0: pt(0, 1) = 0: pt(0, 2) = 0
pt(1, 0) = w / 2: pt(1, 1) = 0: pt(1, 2) = 0
pt(2, 0) = (w / 2) + lr: pt(2, 1) = 0: pt(2, 2) = 0
pt(3, 0) = (w / 2) + lr + c: pt(3, 1) = h2: pt(3, 2) = 0
pt(4, 0) = (w / 2) + lr + c + jr: pt(4, 1) = h2: pt(4, 2) = 0
pt(5, 0) = (w / 2) + lr + c + jr: pt(5, 1) = h2 + 250: pt(5, 2) = 0
pt(6, 0) = (w / 2) + lr + c: pt(6, 1) = h2 + 250: pt(6, 2) = 0
pt(7, 0) = (w / 2) + lr + c: pt(7, 1) = 400: pt(0, 2) = 0
pt(8, 0) = (w / 2) + lr + c - er: pt(8, 1) = h1: pt(8, 2) = 0
pt(9, 0) = -(w / 2) - ll - c + el: pt(9, 1) = h1: pt(8, 2) = 0
pt(10, 0) = -(w / 2) - ll - c: pt(10, 1) = 400: pt(10, 2) = 0
pt(11, 0) = -(w / 2) - ll - c: pt(11, 1) = h2 + 250: pt(11, 2) = 0
pt(12, 0) = -(w / 2) - ll - c - jr: pt(12, 1) = h2 + 250: pt(12, 2) = 0
pt(13, 0) = -(w / 2) - ll - c - jr: pt(13, 1) = h2: pt(13, 2) = 0
pt(14, 0) = -(w / 2) - ll - c: pt(14, 1) = h2: pt(14, 2) = 0
pt(15, 0) = -(w / 2) - ll: pt(15, 1) = 0: pt(15, 2) = 0
pt(16, 0) = -(w / 2): pt(16, 1) = 0: pt(16, 2) = 0
Dim linexyz As Acadline
Dim pts(2), pte(2) As Double
Dim i As Double
For i = 0 To 15
pts(0) = pt(i, 0): pts(1) = pt(i, 1): pts(2) = pt(i, 2):
pte(0) = pt(i + 1, 0): pte(1) = pt(i + 1, 1): pte(2) = pt(i + 1, 2):
Set linexyz = ThisDrawing.ModelSpace.AddLine(pts, pte)
If i < 15 Then
i = i + 1
End If
Next
End Sub
老是报“无效的调用过程或参数”错误,
调试的话错在Set linexyz = ThisDrawing.ModelSpace.AddLine(pts, pte)这一句上,但小白第一次用DVB,不清楚错在什么地方,有大神能解答下吗,急急急!