Makro formularza użytkownika SolidWorks

Witam

Mam cały szereg opcji do skonfigurowania w SolidWorks za pomocą makr takich jak:

- wiercenie Ø2 w takim miejscu górnej części mojej części

- otwór na śrubokręt

- rowek na uszczelkę

-itd...

W sumie mam ich 20 łącznie z opcją "brak opcji"

I chciałem wiedzieć, jak to zrobić, czy muszę używać funkcji If i ElsIf dla każdej opcji, czy też są inne metody?

Z góry dziękuję za odpowiedzi

Witam

Jeśli dobrze rozumiem, są to pola wyboru, więc tak, będziesz musiał poradzić sobie z if/else lub select case (drugi jest szybszy, ale z mojej strony nigdy nie miałem żadnych problemów z if/else).

W końcu wszystko zależy od tego, co dokładnie chcesz zrobić (zaznaczenie zaznaczonych pól, niezgodność wyboru...)

3 polubienia

W moim formularzu użytkownika stworzyłem Listbox, w którym mamy:

U "00" -> brak opcji

U "01" -> wiercenie Ø2

U "02" -> rowek na uszczelkę

... do 21.

Zatem zauważam:

"Jeśli U = (numer opcji) Następnie" LUB "Jeśli U "00" wybierz Następnie"

Nie wiem dokładnie, jak powinienem postępować z tą funkcją

Wolę Cyril.f, do korzystania z Select Case (odpowiednik Switcha w innych językach, takich jak PHP, Java itp.)

Oto przykładowy kod przetwarzania (umieściłem pełne makro dla przykładu jako załączony plik):

Prywatny Sub BtValid_Click()
    "Robimy zabieg na wartość
    Wybierz wielkość liter ComboBox.Value
        Rubryka "U1":
            MsgBox "Robię zabieg na U1"
        Rubryka "U2":
            MsgBox "Wyświetlam U2"
        Rubryka "U3":
            MsgBox "Jestem U3"
        Przypadek inny
            MsgBox "Domyślne przetwarzanie wartości" & ComboBox.Value
    Zakończ wybór
Koniec subwoofera

 

Edycja: Zauważ, że przetwarzam tylko wartości U1, U2 i U3, wszystkie inne wartości przyjmą "Wielkość liter inaczej".


przykład.swp
1 polubienie

To nie jest dokładnie to, co chcę zrobić, wolę używać funkcji if i else.

Chciałbym, aby moje makro miało na przykład:

Jeśli zaznaczony jest kwadrat U14, to weź taką a taką płaszczyznę, zrób okrąg z takiego a takiego Ø, itd itp

Po prostu nie wiem, jak to powiedzieć w języku vba i to wszystko, czego potrzebuję

>Jeśli zostanie wybrany kwadrat U14, to weź taką a taką płaszczyznę, zrób okrąg z takiego a takiego Ø itd.

Cóż, możesz to zrobić tutaj:

Rubryka "U1":
     "Tu robisz swoje leczenie, weź ten samolot, zrób krąg z takiego a takiego Ø
Rubryka "U2":
     Leczenie U2

Jest to równoznaczne z:

Jeśli ComboBox.Value = "U1", to
   Leczenie U1
Elseif ComboBox.Value = "U2" Następnie
  Leczenie U2

Endif

 

Pierwsze rozwiązanie, które podałem, jest po prostu krótsze.