从AUTOCAD中提取出一组坐标,想看看相同坐标点的个数,如果某点有两个相同点则不显示,只有一个显示1,有三个显示3,有四个显示4......
实际我想做的是看曲线是否封闭,如果不封闭就标记下来。

解决方案 »

  1.   

    Option ExplicitSub Main()
        Dim sList As String, sPoint As String
        Dim i As Long, j As Long, lCount As Long
        
        sList = "(1,2)(2,2)(1,3)(0,2)(2,2)(1,2)(1,2)"
        
        i = InStr(1, sList, "(")
        While i > 0
            j = InStr(i + 1, sList, ")")
            sPoint = Mid$(sList, i, j - i + 1)
            Mid$(sList, i, Len(sPoint)) = Space(Len(sPoint))
            lCount = 1
            
            j = InStr(j + 1, sList, sPoint)
            While j > 0
                lCount = lCount + 1
                Mid$(sList, j, Len(sPoint)) = Space(Len(sPoint))
                
                j = InStr(j + 1, sList, sPoint)
            Wend
            
            If (lCount Mod 2) = 1 Then Debug.Print sPoint, lCount
            
            i = InStr(i + 1, sList, "(")
        Wend
    End Sub