Równanie iff

 Witam wszystkich ,
Mam mały problem, nie  mogę  zrobić równania  na Solidworks.  Pozwól, że wyjaśnię.  
Mam zmienną, która musi wynosić = -50 , jeśli  składnik jest parzysty. I = 0 , jeśli  składnik jest nieparzysty.       
Więc spróbowałem : IFF("składnik"=2, -50,0)  i bez wyniku,  suszę.  

przykład


equation.png

Witam

Czy możliwe jest wykonanie rodziny części, ponieważ z Excelem jest to prostsze.

Niech Moc będzie z wami.

 

2 polubienia

Patrząc na listę funkcji SOLIDWORKS, nie wydaje się to możliwe:

Funkcje oprogramowania

W przeciwnym razie, makro lub rodzina części używa operatora "mod" i gotowe:

Operator modów

Witam

W dokumencie SOLIDWORKS

Funkcja If w języku Visual Basic

Można również użyć funkcji If w języku Visual Basic, określając wymiar w szablonie.

Ta funkcja zwraca każdą inną wartość na podstawie obliczenia wyrażenia.

Tak więc, jeśli określone równanie to "D1@Sketch1" = (If("D1@Sketch4">15, 20, 10)) + 8, to :

Jeśli "D1@Sketch4" to ...Następnie "D1@Sketch4">15, 20, 10 jest ustawione naA "D1@Sketch1" jest ustawiony na ...
> 152028
< = 151018

Pozdrowienia

Alan

1 polubienie

Witam

Myślę, że problem wynika z kalkulacji obliczeń. Pozwólcie, że wyjaśnię, jeśli zrobię if tego typu na ręcznie zmodyfikowanej zmiennej globalnej, zostanie ona zastosowana poprawnie.

W przypadku równania na zrzucie ekranu obliczenie czeka na rozwiązanie poprzedniego równania, więc mam wątpliwość co do jego zastosowania w dynamice. Mały Ctrl+Q nie rozwiąże problemu?

Dziękuję za wskazówki, nie znam się na tyle na tym temacie, aby zastosować się do Twoich rad, później zajmę się kwestią rodzin pokojowych.

Jakkolwiek działa moje równanie, przechodzi ono od IF do IFF. Powtórzę to więc dla wszystkich wartości, w tym poprzednich wyników, zamiast 0. 

Dziękuję za odpowiedzi!