|
请问各位高手,我用VBA编了一段利用多段线绘制从固定点(x1,y1,z1) 到当前鼠标位置的动态函数曲线------y=k*(x-x1)^2+y1 的程序,可是却无法执行,请问错在那里?多谢指教!
****************************
Sub pl()
Dim p1(0 To 2) As Double
Dim p2 As Variant
Dim pntobj As Variant
Dim lobj As AcadLWPolyline
Dim vers(0 To 2000) As Double
Dim k As Double
Dim g As Double
Dim b As Double
Dim x1 As Double
Dim y1 As Double
Dim x As Double
Dim y As Double
Dim i As Double
Dim a As Double
Dim l As Double
Dim m As Double
Dim n As Double
g = 32.7718 / 1000
b = 68.5036
k = g / (2 * b)
l = 100
m = 100
n = 0
p1(0) = l
p1(1) = m
p1(2) = n
p2 = ThisDrawing.Utility.GetPoint(, "p2")
x1 = (p2(1) - m + k * l ^ 2 - k * p2(0) ^ 2) / (2 * k(l - p2(0)))
y1 = m - k * (l - x1) ^ 2
vers(0) = l
vers(1) = m
i = l
a = 2
If i p1(0)
x = p1(0) - i
y = k * ((x - x1) * 10) ^ 2 + y1
i = i - 0.5
vers(a) = x
vers(a + 1) = y
a = a + 2
Wend
End If
'确定函数曲线的最后一点
vers(a) = p2(0)
vers(a + 1) = p2(1)
'利用多义线绘制动态函数曲线
Set lobj = ThisDrawing.ModelSpace.AddLightWeightPolyline(vers)
End Sub |
|