keita027 发表于 2012-5-11 19:39:51

求助,帮忙看下代码,调试不通过

从论坛里下的一个函数,是返回选择集中的最小和最大点,可调试不通过,请大侠们看下如何修改,谢谢
语法:

ssExtents(ss)


说明:

返回选择集中的最小和最大点


函数内容:

Public Function ssExtents(ss As AcadSelectionSet) As Variant

    Dim points(), c As Long

    Dim min, max, util As AcadUtility
   
    Set util = ThisDrawing.Utility
   
    c = 0
   
    For i = 0 To ss.Count - 1
      
      ss.Item(i).GetBoundingBox min, max
      min = util.TranslateCoordinates(min, acWorld, acUCS, False)
      max = util.TranslateCoordinates(max, acWorld, acUCS, False)
      ReDim Preserve points(0 To c + 1)
      points(c) = min: points(c + 1) = max
      c = c + 2
      
    Next
      
    ssExtents = Extents(points)

End Function


参数:

一个AcadSelectionSet 对象


注意:

它返回选择集的外边框。
一定要注意选择集中不能包含有导致GetBoundingBox 失败的对象,如XLines 和Rays 。


示例:

retVal = ssExtents(ss)
页: [1]
查看完整版本: 求助,帮忙看下代码,调试不通过