shjko 发表于 2010-5-8 14:25:00

【求教】检测两个图形的形状是否一致如何实现,十万火急!!

正在做的一个课题是不同期矢量地图的变化检测,已经解决了投影变换问题,但是地物的变化至今没有头绪,听说乐筑天下的高手多,特来求教,希望高手能够帮助我解决这个问题

AndyliuCAD 发表于 2010-5-18 16:09:00

可以获得图形的点的坐标序列,判断是否相等。

henanlypl 发表于 2010-6-5 14:43:00

Sub Test()
    Dim Pt As Variant
    Dim i As Integer
    Dim Objlw1 As AcadLWPolyline
    Dim Objlw2 As AcadLWPolyline
    ThisDrawing.Utility.GetEntity Objlw1, Pt, "选择多段线"
    ThisDrawing.Utility.GetEntity Objlw2, Pt, "选择多段线"
    Dim Cor1 As Variant
    Dim Cor2 As Variant
    Cor1 = Objlw1.Coordinates
    Cor2 = Objlw2.Coordinates
    If UBound(Cor1)UBound(Cor2) Then
      MsgBox "形状不同,顶点数不一致,第一条多线段顶点为" & (UBound(Cor1) + 1) / 2 & "第二条多线段顶点数为:" & (UBound(Cor2) + 1) / 2
      Exit Sub
    End If
    For i = 2 To UBound(Cor1)
      If Cor1(i) - Cor1(i - 2)Cor2(i) - Cor2(i - 2) Then
            MsgBox "形状不同,不同的顶点为:" & (CInt(i / 2) - 1)
            Debug.Print i
            Exit Sub
      End If
    Next
    MsgBox "形状相同"
End Sub

学至于行 发表于 2010-6-6 11:24:00

读dxf 可判断 坐标,图层,线形等是否一致
页: [1]
查看完整版本: 【求教】检测两个图形的形状是否一致如何实现,十万火急!!