chman 发表于 2015-7-4 22:41:34

    For Each i In xian
      For Each j In xian1
            pderrort = False
            pderrorw = False
            pdtt = False
            pdtw = False
            pdwt = False
            pdww = False
            'i.Handle <> j.Handle&Aring;&Aring;&sup3;&yacute;×&Ocirc;&Eacute;í&Aring;&ETH;&para;&Iuml;&pound;&iexcl;&pound;&iexcl;&pound;&iexcl;&pound;&iexcl;   ×&cent;&Ograve;&acirc;,&acute;&Euml;&acute;&brvbar;&Aring;&ETH;&para;&Iuml;,±&Oslash;&ETH;&euml;&Egrave;&Atilde;I&Ograve;&raquo;&cedil;&ouml;&cedil;&ouml;&micro;&Auml;&Aring;&ETH;&para;&Iuml;,&sup2;&raquo;&Auml;&Uuml;&Ograve;&Aring;&Acirc;&copy;.
            If i.Handle <> j.Handle And Abs(i.StartPoint(0) - j.StartPoint(0)) < 0.0001 And Abs(i.StartPoint(1) - j.StartPoint(1)) < 0.0001 Then
                pdtt = True
            End If
            If i.Handle <> j.Handle And Abs(i.StartPoint(0) - j.EndPoint(0)) < 0.0001 And Abs(i.StartPoint(1) - j.EndPoint(1)) < 0.0001 Then
                pdtw = True
            End If
            If i.Handle <> j.Handle And Abs(i.EndPoint(0) - j.StartPoint(0)) < 0.0001 And Abs(i.EndPoint(1) - j.StartPoint(1)) < 0.0001 Then
                pdwt = True
            End If
            If i.Handle <> j.Handle And Abs(i.EndPoint(0) - j.EndPoint(0)) < 0.0001 And Abs(i.EndPoint(1) - j.EndPoint(1)) < 0.0001 Then
                pdww = True
            End If
            '&Ouml;&raquo;&Ograve;&ordf;·&cent;&Iuml;&Ouml;&Oacute;&ETH;&sup1;&sup2;&micro;&atilde;&pound;&not;&frac34;&Iacute;&sup2;&raquo;&Egrave;&Iuml;&Icirc;&ordf;&micro;&atilde;&Aacute;&not;&frac12;&Oacute;&Oacute;&ETH;&Icirc;&Ecirc;&Igrave;&acirc;&iexcl;&pound;
            If pdtt = True Or pdtw = True Then
                pderrort = True
            '&Iuml;&Acirc;&Atilde;&aelig;&Otilde;&acirc;&cedil;&ouml;&Aring;&ETH;&para;&Iuml;&ordm;&Uuml;&Ouml;&Oslash;&Ograve;&ordf;,&Iuml;&Egrave;&Aring;&ETH;&para;&Iuml;&Ecirc;&Ccedil;·&ntilde;&Oacute;&ETH;&Iacute;·&Icirc;&sup2;&Iuml;à&frac12;&Oacute;,&Egrave;&ccedil;&sup1;&ucirc;&Oacute;&ETH;,&Ocirc;ò&Euml;&micro;&Atilde;÷&Iuml;&szlig;&Ograve;&Ntilde;&frac34;&shy;&Iacute;·&Icirc;&sup2;&para;&frac14;&Icirc;&THORN;&para;&Iuml;&micro;&atilde;!!!!!!!!
                If i.Thickness <> 2 And i.Thickness <> 3 Then
                  i.Thickness = 1
                Else
                  i.Thickness = 3
                End If
            End If
            If pdwt = True Or pdww = True Then
                pderrorw = True
                If i.Thickness <> 1 And i.Thickness <> 3 Then
                  i.Thickness = 2
                Else
                  i.Thickness = 3
                End If
            End If
      Next j
''      jingdutiao = jingdutiao + 1
''      ThisDrawing.Utility.Prompt jingdutiao & "/" & tongji
      '&AElig;&eth;&micro;&atilde;&Aring;&ETH;&para;&Iuml;&Icirc;&ordf;FALSE &pound;&not;&Euml;&micro;&Atilde;÷&AElig;&eth;&micro;&atilde;&Ecirc;&Ccedil;&sup1;&Acirc;&Aacute;&cent;&micro;&atilde;&iexcl;&pound;&Ograve;&Ocirc;&AElig;&eth;&micro;&atilde;&Icirc;&ordf;°&euml;&frac34;&para;&pound;&not;&frac14;&Oacute;&cedil;&ouml;×&cent;&frac14;&Ccedil;&iexcl;&pound;&iexcl;&pound;&iexcl;&pound;&iexcl;&pound;&Oacute;&Atilde;&Ecirc;&sup2;&Atilde;&acute;×&cent;&frac14;&Ccedil;&ordm;&Atilde;&Auml;&Oslash;&iexcl;&pound;°&yen;&iexcl;&pound;&iexcl;&pound;&para;à&micro;&atilde;&ordm;&Uuml;&frac12;ü&Ecirc;±&pound;&not;&ordm;&Uuml;&Auml;&Ntilde;×&frac14;&Egrave;·&sup2;é&iquest;&acute;&Auml;&Auml;&cedil;&ouml;&micro;&atilde;&Oacute;&ETH;&Icirc;&Ecirc;&Igrave;&acirc;
      
    Next i
   
''''''''''''''''''''''''''''''''''''''''''''''×&cent;&Ograve;&acirc;,&Eacute;&Iuml;&Atilde;&aelig;&Ograve;&Ntilde;&frac34;&shy;&Aring;&ETH;&para;&Iuml;&Aacute;&Euml;&Euml;ù&Oacute;&ETH;&para;&Euml;&micro;&atilde;&Oacute;&euml;&para;&Iuml;&micro;&atilde;&Ouml;&reg;&frac14;&auml;&Ecirc;&Ccedil;·&ntilde;&sup1;&sup2;&micro;&atilde;,,,,
'''''''''''''''''''''''''''''''''''''''''''''&Igrave;&Oslash;±&eth;&Ecirc;&Ccedil;&frac12;&laquo;&Oacute;&ETH;&Aacute;&not;&frac12;&Oacute;&Iuml;&szlig;&Iacute;¨&sup1;&yacute;THickness&Aring;&ETH;&para;&Iuml;&sup3;&ouml;&Agrave;&acute;&Aacute;&Euml;

'''''''''''''''''''''''''''''''''''' 3      &acute;ú±í&Iacute;·&Icirc;&sup2;&para;&frac14;&Oacute;&ETH;&sup1;&sup2;&micro;&atilde;
'''''''''''''''''''''''''''''''''''2      &acute;ú±í&Iuml;&szlig;&para;&Icirc;&Auml;&copy;&para;&Euml;&Oacute;&ETH;&sup1;&sup2;&micro;&atilde;
'''''''''''''''''''''''''''''''''''1      &acute;ú±í&Iuml;&szlig;&para;&Icirc;&AElig;&eth;&micro;&atilde;&Oacute;&ETH;&sup1;&sup2;&micro;&atilde;
'''''''''''''''''''''''''''&Euml;&frac14;&Acirc;·:thinckness = 3&micro;&Auml;&sup2;&raquo;&Ocirc;&Ugrave;&Aring;&ETH;&para;&Iuml;,,,,,,,
    Dim intPointsAs Variant
    Dim jdi As Integer, jdj As Integer
    For Each i In xian
      pderrort = False
      pderrorw = False
      pdtt = False
      pdww = False

      If i.Thickness <> 3 Then

            For Each j In xian1
            jdi = 0
            jdj = 0
                intPoints = i.IntersectWith(j, acExtendNone)          '&Ocirc;&Uacute;&Aacute;&frac12;&cedil;&ouml;&para;&Ocirc;&Iuml;ó&frac34;ù&sup2;&raquo;&Ntilde;&Oacute;&Eacute;ì&micro;&Auml;&Ccedil;é&iquest;&ouml;&Iuml;&Acirc;,&Ccedil;ó&frac12;&raquo;&micro;&atilde;.
                'VarType(intPoints) <> vbEmpty         &Egrave;&ccedil;&sup1;&ucirc;&Atilde;&raquo;&Oacute;&ETH;&frac12;&raquo;&micro;&atilde;,·&micro;&raquo;&Oslash;&Ouml;&micro;&sup2;&raquo;&Ecirc;&Ccedil;&Icirc;&ordf;&Aacute;&atilde;,&para;&oslash;&Ecirc;&Ccedil;&Icirc;&ordf;&iquest;&Otilde;!!!!!!
                If VarType(intPoints) <> vbEmpty Then
                '&frac12;&raquo;&micro;&atilde;&frac34;&Oacute;&Egrave;&raquo;&iquest;&Eacute;&Auml;&Uuml;&Oacute;&ETH;&Egrave;&ocirc;&cedil;&Eacute;&cedil;&ouml;,&Euml;ù&Ograve;&Ocirc;,&Ograve;&ordf;×÷&Ntilde;&shy;&raquo;·.....                jdi&frac12;&raquo;&micro;&atilde;&cedil;&ouml;&Ecirc;&yacute;            jdj ×&oslash;±êxyz
                  For jdi = LBound(intPoints) To UBound(intPoints)
                        If i.Thickness = 1 And Abs(intPoints(jdj) - i.EndPoint(0)) < 0.0001 And Abs(intPoints(jdj + 1) - i.EndPoint(1)) < 0.0001 Then
                            pdww = True
                            i.Thickness = 3
                        End If
                        If i.Thickness = 2 And Abs(intPoints(jdj) - i.StartPoint(0)) < 0.0001 And Abs(intPoints(jdj + 1) - i.StartPoint(1)) < 0.0001 Then
                            pdtt = True
                            i.Thickness = 3
                        End If
                        '&acute;&brvbar;&Agrave;í&Ecirc;&frac14;&micro;&atilde;&ordm;&Iacute;&Auml;&copy;&micro;&atilde;,&Otilde;&acirc;&Agrave;&iuml;&raquo;&sup1;&Ograve;&ordf;&frac12;&oslash;&ETH;&ETH;&Aring;&ETH;&para;&Iuml;.....×&cent;&Ograve;&acirc;&Aring;&ETH;&para;&Iuml;&ordm;ó&micro;&Auml;·&frac12;&Iuml;ò&para;&Ocirc;&sup2;&raquo;&para;&Ocirc;!!!
                        If i.Thickness = 0 And Abs(intPoints(jdj) - i.StartPoint(0)) < 0.0001 And Abs(intPoints(jdj + 1) - i.StartPoint(1)) < 0.0001 Then
                            If i.Thickness <> 2 And i.Thickness <> 3 Then
                              i.Thickness = 1
                            Else
                              i.Thickness = 3
                            End If
                        End If
                        If i.Thickness = 0 And Abs(intPoints(jdj) - i.EndPoint(0)) < 0.0001 And Abs(intPoints(jdj + 1) - i.EndPoint(1)) < 0.0001 Then
                            If i.Thickness <> 1 And i.Thickness <> 3 Then
                              i.Thickness = 2
                            Else
                              i.Thickness = 3
                            End If
                        End If
                        jdi = jdi + 2
                        jdj = jdj + 3
                  Next
                End If
            Next j

      End If
    Next i
   
    '&frac12;&acirc;&frac34;&ouml;
'    MsgBox tongji
    '&Ocirc;°&micro;&Auml;°&euml;&frac34;&para;&acute;ó&ETH;&iexcl;&Iacute;&sup3;&Ograve;&raquo;&Eacute;è&Ouml;&Atilde;&iexcl;&pound;&acute;&Euml;&acute;&brvbar;&Icirc;&ordf;circlebig
   
    circlebig = 1500
    '&Iuml;&Ocirc;&Ecirc;&frac34;×&icirc;&Ouml;&Otilde;&frac12;á&sup1;&ucirc;....
    For Each i In xian
      If i.Thickness = 2 Then
            Set MyCircle = ThisDrawing.ModelSpace.AddCircle(i.StartPoint, circlebig)
      ElseIf i.Thickness = 1 Then
            Set MyCircle = ThisDrawing.ModelSpace.AddCircle(i.EndPoint, circlebig)
      ElseIf i.Thickness = 0 Then
            Set MyCircle = ThisDrawing.ModelSpace.AddCircle(i.EndPoint, circlebig)
            Set MyCircle = ThisDrawing.ModelSpace.AddCircle(i.StartPoint, circlebig)
'      Else
'            i.Layer = "11"
'            i.Update
      End If

    Next i
    For Each i In xian
      '&Ouml;&Oslash;&Ouml;&Atilde;&Icirc;&ordf;&sup3;&otilde;&Ecirc;&frac14;&Ouml;&micro;.
'      I.Thickness = 0
      i.Thickness = 0
    Next i
页: 1 [2]
查看完整版本: 请问用vba如何判断一个cad图形中的两个实体完全重合?