天龙八部 发表于 2006-9-23 09:18:00

关于AUTOCAD VBA二次开发教程第87页那道题目的出错提出

Public Sub CreateCircleToText()
    Dim objText As AcadText
    Dim ptPick As Variant
    ThisDrawing.Utility.GetEntity objText, ptPick, "拾取文字:"
   
    ' 获得文字的包围框
    Dim ptMin As Variant, ptMax As Variant
    objText.GetBoundingBox ptMin, ptMax
   
    ' 获得圆心和半径
    Dim ptCenter(0 To 2) As Double
    ptCenter(0) = (ptMin(0) + ptMax(0)) / 2
    ptCenter(1) = (ptMin(1) + ptMax(1)) / 2
    ptCenter(2) = 0
    Dim radius As Double
    radius = Sqr((ptMin(0) - ptMax(0)) ^ 2 + (ptMin(1) - ptMax(1)) ^ 2) / 2
   
    ' 创建圆
    Dim objCircle As AcadCircle
    Set objCircle = ThisDrawing.ModelSpace.AddCircle(ptCenter, radius)
End Sub
最后运行结果是弹出一个MSGBOX,提示"类型不匹配"

efan2000 发表于 2006-9-23 23:43:00

objText定义为AcadText,所以选择的只能是单行文字。检查一下是不是这儿出错了。

天龙八部 发表于 2006-9-24 16:26:00

恩,说的是,昨天和你一起出书的同志已经帮我解决了问题,谢谢王老哥
页: [1]
查看完整版本: 关于AUTOCAD VBA二次开发教程第87页那道题目的出错提出