Silnik Python

Użytkownicy mogą również uruchamiać swoje skrypty Python w portalu wymagań i systemów, aby wykonywać niektóre obliczenia za pomocą kodowania Python podobnego do silnika Octave. Dodatkowo, pozwala to również użytkownikom na dostęp do pozostałego API i wykonywanie modyfikacji obiektów indywidualnie lub zbiorczo. Wbudowany silnik Python obsługuje obecnie pakiety Python "Valispace", pint i Scipy (w tym NumPy i inne). Nie wszystkie pakiety Pythona są obecnie dostępne.

Przepływ skryptów Python w module skryptowym

Typowy przepływ pracy w module skryptowym obejmującym silnik Pythona pokazano na poniższym obrazku. W przypadku, gdy użytkownik nie chce wykonywać obliczeń i dokonywać zmian zbiorczych za pośrednictwem interfejsu API, może napisać kod Pythona bezpośrednio i uruchomić skrypt.

Pakiety w ramach Python Engine

Ponieważ wdrożyliśmy silnik Python w portalu wymagań i systemów jako funkcję beta, silnik Python nie obsługuje wszystkich pakietów. Obecnie obsługiwanych jest bardzo niewiele pakietów. Pakiety, które są obecnie obsługiwane, są wymienione tutaj.

Przykład dla skryptów w języku Python

Dzięki silnikowi Pythona użytkownik może dodać dane wejściowe i wyjściowe oraz napisać kod Pythona, aby obliczyć wyniki. Jest to podobne do tego, jak działa silnik Octave w portalu wymagań i systemów. W poniższym przykładzie można zobaczyć, jak napisać skrypt Pythona, aby dodać podblok do bloku.

from typing import Any, Dict

import valispace

def main(**kwargs) -> Dict[str, Any]:
    """
    Jest to główna funkcja do wykonania skryptu i musi istnieć.

    Inne funkcje i pliki mogą być również tworzone. Masz do dyspozycji
    zaimportować Valispace API, scipy, numpy i pint.

    param kwargs: Słownik z danymi otrzymanymi od Valispace.
    type kwargs: Dict[str, Any]

    :return: Słownik z danymi do odesłania do Valispace.
    :rtype: Dict[str, Any]
    """
    # TODO: Napisz tutaj swój kod
    
valispace = valispace.API(url="https://.valispace.com/", username = "", password = "") #dodaj nazwę wdrożenia, nazwę użytkownika i hasło

# Identyfikator komponentu nadrzędnego; Jeśli jest na najwyższym poziomie, rodzic ma wartość null, ale projekt musi zostać określony.
parent_component = 57111

# Obiekt z nową właściwością komponentu
component = {
	"name": "NewCompentName2",
	"parent": parent_component
}


# Funkcja pobierająca Vali przez pełną nazwę
componentPosted = valispace.post("components/", component)

 

Obecnie, aby uzyskać dostęp do interfejsu API portalu wymagań i systemów, użytkownik musi podać tymczasowy token logowania dostępu, który jest przechowywany w kwargs głównej funkcji lub użyć tokenów użytkownika, patrz tutaj.

Oto kilka pomysłów na to, co można zrobić z modułem skryptowym:

  • Tworzenie vali i dodawanie jej do wielu istniejących komponentów

  • Zbiorcze edytowanie identyfikatorów wymagań

  • Uruchamianie symulacji przy użyciu Pythona

  • Konwersja jednostek wszystkich wartości mocy na kW

  • Tworzenie i uruchamianie skryptu w celu wyeksportowania hierarchii komponentów

  • Tworzenie eksportu w formacie ReqIF z wymagań

  • Tworzenie listy materiałów wyodrębniającej materiał komponentów, numer komponentu, masę, koszt

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content