[VBA] Zwcad - zaznacz blok ale uważaj na grupy


Rekomendowane odpowiedzi

Cześć, używam kodu do zaznaczania bloków i filtruje je aby pobierało tylko te z nazwą "test". Czasem bloki te grupuję. Czy makro może wychwycić, że dany blok o nazwie "test" jest już w jakiejś grupie, wyrzuci mi błąd (msgbox) i wyjdzie z funkcji?

Dim oSset As ZcadSelectionSet
          With ThisDrawing.SelectionSets
               While .count > 0
                    .item(0).Delete
               Wend
          Set oSset = .Add("*")
          End With
           
          ftype(0) = 2: fdata(0) = "test"
          dxfCode = ftype: dxfValue = fdata

    oSset.SelectOnScreen dxfCode, dxfValue

 

Odnośnik do komentarza
Udostępnij na innych stronach

Trzeba sprawdzić porównać wybrane elementy z każdym elementem w każdej grupie.

    Dim ent As ZcadEntity
    For I = 0 To ssetObj.Count
        Set ent = ssetObj.Item(I)
    
        Dim grs As ZcadGroups
        Dim gr  As ZcadGroup
    
        Set grs = ThisDrawing.groups    
        For Each gr In grs
            For J = 0 To gr.Count
                Dim entwgrupie As ZcadEntity
                Set entwgrupie = gr.Item(J)
                If entwgrupie Is ent Then
                    MsgBox "element jest w grupie"
                    Exit Sub
                End If
            Next J
        Next
    Next I
    

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie