Sortowanie specjalne w zestawieniach materiałowych

Witam

Chciałbym dokonać specjalnego sortowania w moich nomenklaturach i nie mogę znaleźć rozwiązań. Wierzę, że jest to możliwość oferowana przez MyCADTools, ale jej nie mam.
Mam następujący system kodowania dla moich odniesień do artykułów:
- AXXXXXXX dla podzespołów
- CXXXXXXX dla części komercyjnych
- PXXXXXXX dla części poza planem
- VXXXXXXX do
Chciałbym jednak, aby artykuły były posortowane w kolejności A/P/C/V w moich nomenklaturach.
Czy jest to możliwe dzięki funkcjom Solidworks? Jeśli nie, czy jest to możliwe za pomocą makra?

Z góry dziękuję za odpowiedzi.

Witam

Myślę, że możesz utworzyć nową kolumnę, którą nazwijmy powiedzmy "priorytet", ustawić wartość 1 na A, 2 na P, 3 na C i 4 na V, ukryć kolumnę, a następnie posortować kolumnę "priorytet" za pomocą metody "numerycznej".

5 polubień

Witam i dziękuję,

Rzeczywiście, myślałem o tym rozwiązaniu. Wymagałoby to jednak wzięcia wszystkich plików w mojej bazie danych, aby zintegrować tę zmienną.
Więc dobry pomysł, ale skorzystam z niego tylko wtedy, gdy nie będzie innego, tańszego rozwiązania

Czy XXX to nadal tylko liczby?

Czy w twoich utworach jest już zmienna, która wskazuje tylko "A" lub "C" bez reszty odniesienia?

W przypadku, gdy odpowiedź na pytanie 1 brzmi tak, a masz inną wersję SW niż moja (która nie jest spieprzona, aby rozwiązać konkatenację w stanie, y doprowadza mnie do szału ten błąd), proponuję przetestować to równanie w kolumnie "priorytet":

IF('ref'="A"#'ref'+0; 1; IF('ref'="P"#'ref'+0; 2; IF('ref'="C"#'ref'+0; 3; IF('ref'="V"#'ref'+0; 4; 5))))

po prostu zmień 'referencje' na kolumnę, która zawiera twoje referencje (Axxxxx).

W teorii powinno to działać, ale w praktyce, jeśli jest zabugowany i nie łączy się w warunku nie...

Wyjaśnienie równania:

JEŚLI bieżąca wartość wiersza kolumny ref jest równa literze A plus części liczbowej wartości, przypisz kolumnę priorytetu >bieżącego wiersza do 1 W PRZECIWNYM RAZIE JEŚLI TEN SAM TEST Z LITERĄ P POWIEDZIE SIĘ, przypisuje priorytet 2 > W PRZECIWNYM RAZIE JEŚLI TEN SAM TEST Z C ZAKOŃCZY SIĘ POMYŚLNIE, przypisuje priorytet 3 > W PRZECIWNYM RAZIE JEŚLI TEN SAM TEST Z V powiedzie się przypisuje priorytet 4 > INACZEJ przypisuje priorytet 5.

Celem tego równania jest automatyczne wypełnienie kolumny priorytetu wartościami odpowiadającymi odwołaniom. Wspomniane powyżej ręczne tworzenie kolumny priorytet + sortowanie pozostaje oczywiście aktualne.

2 polubienia

Rzeczywiście, XXXXXXX mojej kodyfikacji jest tylko w wersji cyfrowej.

Wypróbowałem twoją formułę i konkatenacja nie działa... Ale to rozwiązanie pasowałoby mi idealnie!!

Czy nie najprościej byłoby posortować według kolumny zawierającej odwołania do artykułów?

Kliknij nomenklaturę prawym przyciskiem myszy, wybierz sortuj i wybierz kolumnę, która pasuje (lub możesz również wykonać kolejne sortowanie: kolumna 3, a następnie kolumna 5, jeśli chcesz)

Witam @froussel 

Problem polega na tym, że sortowanie odbywa się tylko w kolejności alfabetycznej lub numerycznej. A ponieważ żądana kolejność A, P, C, V nie jest w kolejności alfabetycznej, wynik sortowania da A, C, P, V, więc to nie działa.

Biorąc pod uwagę skandaliczne ograniczenia równań, uważam, że jedynym sposobem innym niż dodanie zmiennej do plików będzie makro, które wypełni kolumnę priorytetu na podstawie litery referencyjnej.

Jestem pewien, że jest to bardzo łatwe do zrobienia, ale ponieważ nigdy wcześniej nie robiłem makra dla SW, nie mogę podać go na gorąco na talerzu. Zamierzam nad tym popracować, chyba że któryś z członków będzie mógł.

@PACOSPHARM wyobrażam sobie , że jeśli wolisz automatyzację, to dlatego, że Twoje zestawienia materiałów są zbyt długie, aby ręcznie wypełniać kolumnę priorytetów?

Całkiem @Sylk !!

Mam dużą liczbę nomenklatur z ponad 100 odniesieniami...

Witam @PACOSPHARM czy byłoby możliwe posiadanie zrzutu ekranu przedstawiającego układ kolumn standardowego BOM (z kolumną referencyjną)?

Czy zestawienia komponentów są używane tylko na rysunkach?

Czy z wyrzutów sumienia zachowałeś apostrofy, kiedy testowałeś powyższe równanie?

Witam

@Sylk: Umknęło mi to, że pożądana kolejność nie była rzeczywiście alfabetyczna.

"Prostym" rozwiązaniem byłoby porzucenie tabel Solidworks i powrót do tabel Excela.

W Excelu łatwo jest utworzyć formułę, aby nadać wartość wierszom zgodnie z wartością pierwszej litery (dzięki funkcjom "lewo" i "JEŻELI"). Po prostu posortuj według tej kolumny, aby uzyskać żądaną kolejność.

Powinno to oznaczać, że tabela musi być systematycznie sortowana za każdym razem, gdy nomenklatura jest zmieniana.

Uwaga: kolumny znajdujące się za kolumną o nazwie $END $ nie są wyświetlane, co pozwala ukryć kolumnę sortowania na mapie

Witam @Sylk 

Tak, zwróciłem uwagę na całą syntezę.

Oto tabela nomenklatury:

I tak, używam zestawień materiałów tylko na rysunkach

Witam @PACOSPHARM 

Myślę więc, że najłatwiejszą rzeczą w tym przypadku jest przejrzenie Harmonogramu zadań Solidworks w celu zbiorczego dodania właściwości niestandardowej do bardzo wielu części, a następnie posortowanie zestawień materiałów w oparciu o wartość tej właściwości.

 

1: Otwórz Harmonogram zadań Solidworks (menu Start > wszystkich programów > Narzędzia SOLIDWORKS > Harmonogram zadań SOLIDWORKS)

2: W panelu bocznym wybierz opcję Aktualizuj właściwości niestandardowe

3: W oknie dialogowym kliknij przycisk Dodaj plik... wybierz wszystkie części A , a następnie otwórz

4: Kliknij przycisk Dalej

5: W kolumnie Nazwa wpisz sortowanie według wyrazów, w kolumnie Typ wybierz pozycję Liczba, a w kolumnie Wartość wpisz liczbę 100, a następnie kliknij przycisk Zakończ , aby uruchomić zadanie.

6: Powtórz kroki od 2 do 5 dla części P o wartości 200

7: Powtórz kroki od 2 do 5 dla części C o wartości 300

8: Powtórz kroki od 2 do 5 dla części V o wartości 400

 

Gdy wszystkie zadania zostaną zakończone w swoim wykonaniu:

1: Otwieranie rysunku

2: Wstaw nową kolumnę (po prawej stronie) do zestawienia komponentów, a następnie w wyświetlonym małym menu wybierz Właściwość niestandardowa dla Typ kolumny, a w polu Nazwa właściwości wybierz sortowanie

3: Kliknij prawym przyciskiem myszy BOM > sortowania.

4: Sortuj według: sortuj. Sprawdź rogalika i metodę numeryczną, a następnie OK

5: Zakończ, ukrywając kolumnę: Kliknij prawym przyciskiem myszy literę kolumny "sortuj" > Ukryj > kolumnę

To wszystko, będziesz mieć teraz żądaną kolejność sortowania.

 

Nuta: 100-krotny przyrost wartości sortowania przypisanej do typów części nie jest bez znaczenia z mojej strony. O ile nie masz absolutnej pewności, że nigdy nie będziesz miał do obróbki więcej niż te 4 rodzaje części (APCV), polecam ten system, aby umożliwić w przyszłości wstawianie nowych typów bardziej elastyczne. Następnie między każdym z nich można wstawić 99 nowych typów. Na przykład, jeśli masz nowe odwołanie Y i chcesz je sklasyfikować między P i C, przypisz mu pośrednią wartość sortowania 250, pozostawiając w ten sposób miejsce między P i Y oraz między Y i C. Nowe odniesienie Z, które ma być klasyfikowane między P i Y, przyjmie wartość pośrednią 225. Itd. Ten system pozostawia dużą swobodę, zanim zostanie zmuszony do zmiany już przypisanych wartości sortowania. Oczywiście, im wyższy przyrost, tym dłużej system będzie elastyczny.

Pozdrowienia

1 polubienie