Тема: Пересечение блоков

Народ помогите разобраться. Нужно определить пересекаются два блока или нет. Блоки состоят из набора полилиний.
intPoints = pbl.IntersectWith(pbl1, acExtendNone)
pbl и pbl1 нужные блоки для сравнения. IntersectWith почему то криво работает. Визуально блоки не пересекаются а при выполнении макроса функия возвращает точки пересечения. В чем проблема?Может есть другой метод определить пересечение?

Re: Пересечение блоков

[rus]poprobuj perebrat' vse pimitivy vhodjashhie v 1yjj blok s proverkoj na peresechenie so vtorym blokom po tipu:
[/rus]

Dim explodedObjects As Variant
Dim I As Integer, j As Integer, k As Integer
    Dim str As String
    explodedObjects = pbl.Explode
    Dim n As Integer
    For n = 0 To UBound(explodedObjects)
        explodedObjects(n).Update
        intPoints =explodedObjects(n).IntersectWith(pbl1, acExtendNone)
        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"
            str = ""
            I = I + 2
            j = j + 3
            k = k + 1
        Next
    End If
        explodedObjects(n).Delete
    Next

Re: Пересечение блоков

> Gogi
Огромнейшее тебе СПАСИБО, Respect и уважуха :).
Все получилось. Только пришлось перебирать примитивы обоих блоков.

Re: Пересечение блоков

При отслеживании в цикле пересечений примитивов критерий - <смена vbEmpty типа переменнной (Var)> не прошел. Получилась с проверкой на получение размерности массива <UBound(Var)>