Makro SW / Sprawdź istnienie warstwy

Cze wszystkim

Szukam syntezatora programistycznego, aby sprawdzić, czy warstwa istnieje, czy nie.

Aby uzyskać więcej informacji, to, czego chcę, to:

- Jeśli warstwa "foo" istnieje, to musi być ukryta.

- Jeśli warstwa "foo" nie istnieje, należy ją utworzyć.

Mogę już ukryć/pokazać, utworzyć warstwę makr, ale nie mogę sprawdzić jej istnienia lub nie.

Z góry dziękujemy za wsparcie

Cdlt powiedział:

Juliański

Witam

Musisz przeszukać interfejsy API oprogramowania w celu uzyskania pomocy.

Jeśli szukasz Warstwa , znajdziesz dwa bardzo interesujące przykłady w VBA:

  1. Wyszukiwanie warstw
  2. Tworzenie warstwy

Dobry kod...

4 polubienia

Czy możesz pokazać nam kawałek kodu? =)

Dimitri

1 polubienie

Witam

Aby wyświetlić listę warstw i ukryć warstwę "foo", jeśli istnieje:

Sub main()
    Dim swApp                       As SldWorks.SldWorks
    Dim swModel                     As SldWorks.ModelDoc2
    Dim swLayerMgr                  As SldWorks.LayerMgr
    Dim vLayerArr                   As Variant
    Dim vLayer                      As Variant
    Dim swLayer                     As SldWorks.Layer
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swLayerMgr = swModel.GetLayerManager
    vLayerArr = swLayerMgr.GetLayerList
    For Each vLayer In vLayerArr
        Set swLayer = swLayerMgr.GetLayer(vLayer)
        If swLayer.Name = "toto" Then
            swLayer.Visible = False
        End If
    Next
End Sub

Pozdrowienia

2 polubienia

Dziękuję d.roger

Jest to rzeczywiście kod, do którego doszedłem, studiując przykłady podane przez remrem.

Dziękujemy wszystkim za Wasz wkład!