请问大虾:VBA中如何得到一条直线与球体的交点坐标? 我用AutoCAD给的例子: Sub Example_IntersectWith() ' This example creates a line and circle and finds the points at ' which they intersect. ' Create the line Dim lineObj As AcadLine Dim startPt(0 To 2) As Double Dim endPt(0 To 2) As Double startPt(0) = -13: startPt(1) = 1: startPt(2) = 0 endPt(0) = 12: endPt(1) = 5: endPt(2) = 0 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPt, endPt) Dim sphereObj As Acad3DSolid Dim centerPoint(0 To 2) As Double Dim radius As Double centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0# radius = 10# Set sphereObj = ThisDrawing.ModelSpace.AddSphere(centerPoint, radius) ' Find the intersection points between the line and the circle Dim intPoints As Variant intPoints = lineObj.IntersectWith(sphereObj, acExtendNone) ' Print all the intersection points Dim I As Integer, j As Integer, k As Integer Dim str As String If VarType(intPoints) <> vbEmpty Then For I = LBound(intPoints) To UBound(intPoints) str = "Intersection Point[" & k & "] is: " & intPoints(j) & "," & intPoints(j + 1) & "," & intPoints(j + 2) MsgBox str, , "IntersectWith Example" str = "" I = I + 2 j = j + 3 k = k + 1 Next End If End Sub 总是出现下面的错误: 该怎么解决啊?急!!! |