zy19860604 发表于 2010-9-29 09:31:00

[求助]数据类型

Public Function AddCircleBy2Point(ByVal StartPoint As Variant, ByVal EndPoint As Variant) As AcadCircle
'参数有效性检查
Debug.Assert (VarType(StartPoint) = vbArray + vbDouble)
Debug.Assert (VarType(EndPoint) = vbArray + vbDouble)
'计算圆心和半径
Dim CenterPoint As Variant
Dim Radius As Double
CenterPoint = Math.GetMiddlePointBetween2Point(StartPoint, EndPoint)
Radius = Math.GetDistanceBetween2Point(StartPoint, EndPoint) / 2
'创建圆
Set AddCircleBy2Point = ThisDrawing.ModelSpace.AddCircle(CenterPoint, Radius)
End Function
centerpoint的数据类型为什麽不可以是double??

雪山飞狐_lzh 发表于 2010-9-29 09:52:00

是double的数组

zy19860604 发表于 2010-9-29 10:56:00

Public Function GetMiddlePointBetween2Point(ByVal StartPoint As Variant, ByVal EndPoint As Variant) As Variant
Dim MiddlePoint(0 To 2) As Double
MiddlePoint(0) = (StartPoint(0) + EndPoint(0)) / 2
MiddlePoint(1) = (StartPoint(1) + EndPoint(1)) / 2
MiddlePoint(2) = (StartPoint(2) + EndPoint(2)) / 2
GetMiddlePointBetween2Point = MiddlePoint
End Function

是不是这个函数也要改成数组???
页: [1]
查看完整版本: [求助]数据类型