|
发表于 2012-4-13 19:23:00
|
显示全部楼层
返回包含修剪了的外部参照的外框定义点的坐标数组
Public Function GetClipBoundary(xref As AcadExternalReference)
Dim d1 As AcadDictionary, obj As New VLAX
Dim i As Long, tmp, retVal() As Double
If Clipped(xref) Then
Set d1 = xref.GetExtensionDictionary
Set d1 = d1.Item(0)
obj.EvalLispExpression "(setq clip (apply 'append (mapcar '" & _
"(lambda (x) (if (eq (car x) 10) (cdr x)))" & _
"(entget (handent """ & d1.Item(0).Handle & """)))))"
tmp = obj.GetLispList("clip")
obj.NullifySymbol "clip"
ReDim retVal(LBound(tmp) To UBound(tmp))
For i = LBound(tmp) To UBound(tmp)
retVal(i) = CDbl(tmp(i))
Next
GetClipBoundary = retVal
End If
End Function
功能
返回包含修剪了的外部参照的外框定义点的坐标数组
参数
一个 AcadExternalReference 对象
示例
retVal = GetClipBoundary(xref)
注意
本程序需要使用VLAX类。 |
|