[V8i SS3 VBA], Get coordinate of lines from intersection point?

I need get startpoint and endpoint Consecutive both two lines with condition lines have point intersection, i tried with method Point3dSubtract and get intersection line, but i can not get startpoint and endpoint of line create point intersection. Help me!

And my code:

Sub intersection_line()

    Dim olv As Level
    
    Set olv = ActiveDesignFile.Levels("Level 11")
    
    Dim RayA As Ray3d
    
    Dim RayB As Ray3d
    
    Dim boolResultado As Boolean
    
    Dim inter1 As Point3d
    
    Dim fract1 As Double
    
    Dim inter2 As Point3d
    
    Dim fract2 As Double
    
    Dim ScanLinesByLength As Long
    
    Dim oCriteria As New ElementScanCriteria
    
    Dim oCriteria2 As New ElementScanCriteria
    
    Dim startPoint As Point3d
    
    Dim endPoint As Point3d
    
    Dim startPoint2 As Point3d
    
    Dim endPoint2 As Point3d
    
    oCriteria.ExcludeAllLevels
    
    oCriteria.IncludeLevel olv
    
    oCriteria.ExcludeNonGraphical
    
    oCriteria.ExcludeAllTypes
    
    oCriteria.IncludeType msdElementTypeLine
    
    oCriteria2.ExcludeAllLevels
    
    oCriteria2.IncludeLevel olv
    
    oCriteria2.ExcludeNonGraphical
    
    oCriteria2.ExcludeAllTypes
    
    oCriteria2.IncludeType msdElementTypeLine
    
    Dim oLines As ElementEnumerator
    
    Dim oLines2 As ElementEnumerator
    
    Set oLines = ActiveModelReference.Scan(oCriteria)
    
    Set oLines2 = ActiveModelReference.Scan(oCriteria2)
    
    While (oLines.MoveNext)
    
        Dim oLine As LineElement
        
        Set oLine = oLines.Current.AsLineElement
        
        startPoint.X = oLine.startPoint.X
        
        endPoint.X = oLine.endPoint.X
        
        startPoint.Y = oLine.startPoint.Y
        
        endPoint.Y = oLine.endPoint.Y
        
        RayA.Origin = oLine.startPoint
        
        RayA.Direction = Point3dSubtract(oLine.endPoint, oLine.startPoint)
        
        While (oLines2.MoveNext)
        
            Dim oLine2 As LineElement
            
            Set oLine2 = oLines2.Current.AsLineElement
            
            startPoint2.X = oLine2.startPoint.X
            
            endPoint2.X = oLine2.endPoint.X
            
            startPoint2.Y = oLine2.startPoint.Y
            
            endPoint2.Y = oLine2.endPoint.Y
            
            RayB.Origin = oLine2.startPoint
            
            RayB.Direction = Point3dSubtract(oLine2.endPoint, oLine2.startPoint)
            
            result = Ray3dRay3dIntersectXY(RayA, RayB, inter1, fract1, inter2, fract2)
        
        Wend
    
    Wend

End Sub

And my file.

5826.test.dgn

Parents Reply Children
No Data