API a 3DEXPERIENCE – czy się da? BO(o)M integracyjne

Home3DEXPERIENCE

API a 3DEXPERIENCE – czy się da? BO(o)M integracyjne

3DEXPERIENCE to kompleksowe rozwiązanie od Dassault Systèmes, które wspiera i pomaga w każdym etapie tworzenia produktu, od pomysłu aż po produkcję i sprzedaż. Narzędzia, które po drodze pomagają użytkownikowi w tym całym, dużym procesie są dostępne na platformie. Są to rozwiązania klasy PLM i PDM, które działają naprawdę rewelacyjnie, a co to jest PDM i PLM – nieraz już tutaj o nich wspominaliśmy.

Duża część użytkowników pracuje na innych systemach, np. ERP, które w połączeniu z innymi dają świetne efekty. Praca w SOLIDWORKS razem z ERP w połączeniu z klasycznym rozwiązaniem PDM sprawdza się świetnie, ale platforma 3DEXPERIENCE zawiera mnóstwo interesujących funkcjonalności, które zdecydowanie wspomogą proces projektowy zachowując przy tym jedno, spójne środowisko.

Bardzo często zatem pojawia się pytanie – czy można połączyć dwa systemy – 3DEXPERIENCE z ERP? Albo, co mogę zrobić więcej aby przyspieszyć produkcję? Na te pytania, znajdziesz odpowiedź poniżej!

Po pierwsze, w SOLIDEXPERT już jakiś czas temu stworzyliśmy świetne narzędzie o nazwie „ERP Connector”, które pozwala na wymianę danych między 3DEXPERIENCE a dowolnym systemem klasy ERP. Dzięki bezpośredniemu przekazaniu danych z jednego systemu do drugiego czas przetwarzania przygotowania danych na potrzebę realizacji produkcji może ulec zmniejszeniu do 80%. Więcej informacji na ten temat znajdziecie tutaj: https://solidexpert.com/programy/erp-connector/.

Czym jest API?

Powróćmy do tematu. API (Application Programming Interface) to interfejs programistyczny umożliwiający komunikację między 3DEXPERIENCE a innymi systemami. Co nam to daje w codziennej pracy? Oczywiście, poza integracją z innymi systemami, w pracy konstruktora może to podejście bardzo pomóc. Możliwa jest automatyczna synchronizacja BOM (Bill of Materials), ponieważ API umożliwia bezpośrednie przesyłanie struktury materiałowej do systemów ERP, eliminując ręczne wprowadzenie danych i minimalizując ryzyko błędów. Proces aktualizacji BOM odbywa się w czasie rzeczywistym. Najprostszym rozwiązaniem jest tworzenie tzw. „zapytań”, którymi chcemy odpytywać bazy danych aby transferować żądane informacje pomiędzy systemami. Jeżeli chodzi o język, w jakim tworzymy takie zapytania to dobrze znany Phyton, JavaScript lub C#. Takie zapytania obejmują 3 rodzaje akcji – żądania do pobierania, wysyłania lub aktualizacji danych.

Ze swojej strony polecam program Postman, który jest świetnym narzędziem do testowania, debugowania i zarządzania API. Jest to bardzo popularne narzędzie, którego kluczowe funkcje wylistowane są poniżej:

  1. Tworzenie i wysyłanie żądań – HTTP: GET, POST, PUT, DELETE, PATCH
  2. Automatyzacja – wsparcie dla OAuth, JWT czy Basic Auth
  3. Testowanie – testy w JavaScript (biblioteka pm.test)
  4. Monitorowanie działań w czasie rzeczywistym
  5. Generowanie dokumentacji

Jeśli jesteś konstruktorem pracującym w 3DEXPERIENCE i zajmujesz się m.in. BOM (Bill of Materials), Postman może być przydatnym narzędziem do integracji i automatyzacji procesów związanych z zarządzaniem danymi.

Ale przejdźmy już może do konkretów:

  • Możesz wysyłać zapytania API do serwera PLM, aby np. pobrać BOM dla wybranego komponentu
  • Możesz automatycznie generować listy BOM, wysyłać je do systemu ERP lub aktualizować dane
  • Możesz sprawdzić, jak dane BOM w 3DEXPERIENCE komunikują się z innymi systemami zarządzania produkcją

Jak to działa w praktyce?

  1. Pierwszym krokiem jest autoryzazja. W 3DEXPERIENCE API często stosuje się OAuth 2.0 lub tokeny API. W Postmanie możesz skonfigurować odpowiednie nagłówki (Authorization: Bearer <TOKEN>).
  2. Wysyłanie żądania. API w 3DEXPERIENCE pozwala pobierać BOM w formacie JSON lub XML. Przykładowe żądanie GET do pobrania BOM może wyglądać tak (bash):

GET https://your-3dxserver.com/3dexperience/api/bom/v1/products/{product_id}/bom

Headers:

Authorization: Bearer <TOKEN>

Accept: application/json

  1. Odpowiedź (json) może zawierać structure BOM, np.:

{

”product”: ”AAA-001”,

”components”: [

{”name”: ”Sruba_toolbox_M8”, ”quantity”: 5},

{”name”: ”Plyta_montazowa_005_02”, ”quantity”: 2}

]

}

Oczywiście, w tym miejscu trzeba jasno podkreślić, że aby uzyskać informacje BOM z platformy 3DEXPERIENCE, nie wystarczy wysłać jedno zapytanie. Platforma wysyła informacje, które musimy sami przetwarzać. Może zdarzyć się sytuacja, że posiadamy dwie wersje produktów i w obecnej dopytujemy rekurencyjnie o elementy i sami budujemy tę listę na podstawie informacji z platformy 3DEXPERIENCE. Kolejnym wymogiem jest posiadanie roli Product Release Engineer, aby mieć dostęp do list BOM w 3DEXPERIENCE.

Pod kątem interfejsu, Postman jest bardzo przyjazny, z uwagi na możliwość trzymania porządku. Poniżej przedstawiam zbiór przykładowych zapytań do API, które dostarcza platforma 3DEXPERIENCE oraz kilka wcześniej stworzonych.

Oczywiście, każde zapytanie jest różne, tak więc jego długość i wielkość jest zmienna. W tym artykule chcę bardziej ogólnie przekazać Wam, jakie możliwości jeszcze daje nam 3DEXPERIENCE.

Przejdźmy do bardziej „znanego” widoku, a mianowicie platformy 3DEXPERIENCE. Co jeszcze możemy uzyskać wykorzystując te narzędzia?

Na powyższym zdjęciu widać tzw. Eventy, z którymi pozwala nam współpracować platforma. Tak więc odpytywać można nie tylko pod kątem list materiałowych!

Jakie korzyści daje integracja API z 3DEXPERIENCE?

Integracja API z 3DEXPERIENCE otwiera szerokie możliwości dla konstruktorów, umożliwiając efektywne zarządzanie BOM oraz płynne połączenie z systemami ERP. Dzięki automatyzacji i synchronizacji danych użytkownicy mogą szybciej reagować na zmiany, eliminować błędy oraz optymalizować procesy produkcyjne i logistyczne. W rezultacie firmy mogą poprawić efektywność operacyjną i lepiej kontrolować koszty projektowe. Integracja, która na pierwszy rzut oka wydaje się bardzo skomplikowana z uwagi na konieczność znajomości języka programowania, z drugiej strony może bardzo pomóc z uwagi na szybkość wymiany informacji pomiędzy różnymi systemami, optymalizację procesów i szybszą reakcję na zmiany w projekcie co bezpośrednio wpływa na jakość i tempo realizacji zadań. Użytkownik nie wykonuje bezpośrednio działań, tylko dzięki stworzeniu tzw. Agenta, wykonywanie poleceń odbywa się w kontekście użytkownika.

Jeżeli macie pytania, bądź chcielibyście porozmawiać o tym temacie dokładniej i na spokojnie – dajcie znać! Nasi specjaliści techniczni oraz programiści służą pomocą!